You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
My issue appears to share the same root cause as #2153 (unthrottled compositor render loop) but with a different trigger and hardware.
Bug summary:
After resuming from the COSMIC lock screen, cosmic-comp sometimes starts consuming ~40% CPU indefinitely (for hours/days). The system becomes sluggish (obvious mouse/keyboard lag) with high I/O wait times (~22%). The only fix is restarting the compositor, which destroys all open windows and workspaces.
This does not happen every time — it tends to occur after long sessions (days of uptime) followed by a lock screen resume.
What I found:
After resume, the display had dropped from the preferred 59.994 Hz to 49.985 Hz (confirmed via cosmic-randr list). Manually switching back to 59.994 Hz did not fix the CPU usage.
strace on the compositor shows timerfd intervals in the microsecond range instead of the expected ~16.6ms for 60Hz vsync. The compositor is scheduling frames hundreds of times per second:
top -H shows the main cosmic-comp thread at ~39% CPU (state R), and the surface-DP-3 thread at ~4% CPU. Total CPU time accumulated was 253+ hours.
Kernel stack shows ep_poll but the process is in R state — it wakes from epoll almost immediately each cycle.
No GPU errors in dmesg. GPU driver and hardware appear healthy.
Manually switching the refresh rate back to 59.994 Hz via cosmic-randr did not resolve the CPU usage — the render loop persists even after the correct mode is restored.
Expected behavior:
After lock screen resume, the compositor should re-establish vsync timing and idle at <2% CPU when nothing is animating.
Actual behavior:
The compositor loses vsync synchronization and enters an unthrottled render loop, burning ~40% CPU indefinitely until the compositor process is restarted.
Environment:
177030434724.04~0e97ddbRelated issues:
My issue appears to share the same root cause as #2153 (unthrottled compositor render loop) but with a different trigger and hardware.
Bug summary:
After resuming from the COSMIC lock screen,
cosmic-compsometimes starts consuming ~40% CPU indefinitely (for hours/days). The system becomes sluggish (obvious mouse/keyboard lag) with high I/O wait times (~22%). The only fix is restarting the compositor, which destroys all open windows and workspaces.This does not happen every time — it tends to occur after long sessions (days of uptime) followed by a lock screen resume.
What I found:
After resume, the display had dropped from the preferred 59.994 Hz to 49.985 Hz (confirmed via
cosmic-randr list). Manually switching back to 59.994 Hz did not fix the CPU usage.straceon the compositor shows timerfd intervals in the microsecond range instead of the expected ~16.6ms for 60Hz vsync. The compositor is scheduling frames hundreds of times per second:A 2-second strace captured 8,772 syscalls (~4,400/sec) in a tight epoll + DRM_IOCTL_SYNCOBJ loop — submitting and completing GPU frames as fast as possible with no vsync gate. This matches the pattern reported in High GPU utilization (40%) at idle with mixed refresh rate multi-monitor setup (NVIDIA) #2153.
top -Hshows the maincosmic-compthread at ~39% CPU (state R), and thesurface-DP-3thread at ~4% CPU. Total CPU time accumulated was 253+ hours.Kernel stack shows
ep_pollbut the process is in R state — it wakes from epoll almost immediately each cycle.No GPU errors in dmesg. GPU driver and hardware appear healthy.
Manually switching the refresh rate back to 59.994 Hz via
cosmic-randrdid not resolve the CPU usage — the render loop persists even after the correct mode is restored.Expected behavior:
After lock screen resume, the compositor should re-establish vsync timing and idle at <2% CPU when nothing is animating.
Actual behavior:
The compositor loses vsync synchronization and enters an unthrottled render loop, burning ~40% CPU indefinitely until the compositor process is restarted.