Repository navigation
Cinnamon 6.6.7 freezes after screensaver/unlock with X11 fractional scaling, NVIDIA, dual monitor; muffin BadMatch at 6000x1440 #13820
Description
Activity
I am also experiencing the same bug in cinnamon 6.67 with a different hardware/display set up which also occurs when locking the screen. This occurs despite fractional scaling being disabled.
Distribution
Linux Mint 22.3 CinnamonPackage version
Cinnamon 6.6.7Graphics hardware in use
NVIDIA GeForce RTX 5090, NVIDIA driver 580.159.03. Dual-monitor setup: Samsung Odyssey G5 34” Curved Gaming Monitor each running at 3440x1440 @ 99.98 Hz and both connected via DisplayPort. Session type: X11. Fractional scaling disabled.Frequency
Almost always (although time until an unrecoverable display crash varies)Bug description
The system/session freezes sometime after the lock screen has been activated and both monitors turned off with cinnamon typically crashing several hours after lock screen and monitors are off. I can recover to a tty terminal session (Ctrl+Alt+F1) and restart the GUI session with "sudo systemctl restart lightdm" but cinnamon cannot be restored otherwise.I encountered what appears to be the same bug, with additional evidence that the lock-screen process retained the X11 input grab after monitor geometry changed during authentication.
Environment
-
Ubuntu 26.04-based system
-
Cinnamon 6.4.13 (
6.4.13-2) -
cinnamon-screensaver 6.4.1 (
6.4.1-1) -
X11 / Xorg 1.21.1.22 under LightDM
-
NVIDIA GeForce RTX 3090, proprietary driver 595.84
-
Two DisplayPort monitors: 3840x2160 and 1920x1200
-
Experimental Muffin features enabled:
scale-monitor-framebuffer,x11-randr-fractional-scaling -
Session uptime before failure: approximately 5 days 16 hours
Symptoms
After entering the password to unlock, the desktop became visible but the mouse pointer was invisible and
Alt+Tabhad no effect. Xorg and Cinnamon remained alive. There was no NVIDIA Xid, GPU reset, OOM, Xorg crash, Cinnamon crash, or coredump.The screensaver had started at 12:15. At 14:39:57 PAM reported an authentication failure. Two seconds later
cinnamon-screensaverreported that its screen and monitor rectangles did not add up. The topology then changed through two monitors, one 960x600 monitor, and back to the two-monitor fractional layout. PAM subsequently reportedconversation failed.After the failure:
cinnamon-screensaver-command --querydid not respond within a three-second timeout.cinnamon-screensaver,cs-backup-locker, and a stale PAM helper remained alive.cs-backup-lockerappeared to retain the input grab, explaining the missing pointer and blocked Cinnamon keybindings.- Killing only those three screensaver processes from an authenticated TTY immediately restored the pointer and
Alt+Tabwithout restarting Cinnamon, Xorg, or applications.
The correlated journal excerpt and a sanitized diagnostic summary are attached. The geometry/PAM sequence makes X11 fractional-scaling monitor reconfiguration during unlock the most likely trigger in this occurrence.
-
The same
I hit what looks like the same crash on Cinnamon 6.6.9 / muffin 6.6.3 / cjs 115.1 (Mint 22.3, AMD, X11 fractional scaling, 3 monitors) and got two coredumps for it. Both crash while the panel re-lays out after a monitor change, right after the
Impossible to resize screen at size ... BadMatchwarnings:#1 js::ToNumberSlow #2 js::ToInt32Slow #7 gjs_value_to_g_argument (arg_type=GJS_ARGUMENT_FIELD, arg_name="x") #8 BoxedInstance::field_setter_impl <- Meta.Rectangle.x #9 BoxedBase::field_setterJS site:
js/ui/panel.js_shouldClipPanel(),test_rect.x = this.actor.x. In both dumps the value read from the actor'sxproperty has raw bits0xffff300000000000: a NaN with a payload. cjs 115 stores floats from C withsetNumber()withoutJS::CanonicalizeNaN(), so SpiderMonkey misreads the NaN as a tagged pointer and the next use of it segfaults. GJS fixed this in 1.80 (commit 4aef713129, GNOME/gjs#591); Mint's 128/140 cjs branches have it, 115 does not.Backport PR for cjs 115: linuxmint/cjs#138. With it, the actor's NaN position becomes a plain JS
NaNandToInt32yields 0 instead of a crash. Why the panel actor's position goes NaN during the layout change (fractional scaling + a monitor briefly disappearing on DPMS off/on in my case) is still open, but it stops being fatal.Standalone reproducer without Cinnamon, crashes on cjs 115.1:
const GLib = imports.gi.GLib; let [v] = GLib.ascii_strtod("-nan(0xf300000000000)"); print(typeof v);
Distribution
Linux Mint 22.2 Cinnamon
Package version
Cinnamon 6.6.7
Graphics hardware in use
NVIDIA GeForce RTX 2070 SUPER, proprietary NVIDIA driver 580.159.03. Dual-monitor setup: - AOC U34G2G4R3 via DisplayPort, 3440x1440 - LG HDR 4K via HDMI, running at 2560x1440 @ 60 Hz Combined X11 screen size: 6000x1440. Session type: X11. Fractional scaling enabled.
Frequency
Quite often
Bug description
The system/session freezes hard after screensaver/unlock activity. I have to perform a hard reset. The journal does not show a kernel panic, NVIDIA Xid, GPU timeout, DRM hang, watchdog lockup, or coredump in the relevant time window.
The relevant sequence from the affected boot was:
2026-06-17 18:38:44 cinnamon-screensaver-pam-helper: pam_ecryptfs: seteuid error
2026-06-17 18:38:44 cinnamon-screensaver-pam-helper: gkr-pam: unlocked login keyring
2026-06-17 18:39:14 org.cinnamon.ScreenSaver: Error in sys.excepthook:
2026-06-17 18:39:14 org.cinnamon.ScreenSaver: Original exception was:
2026-06-17 18:41:11 dbus-daemon: Activating service name='org.gnome.Screenshot' requested by command "cinnamon --replace"
2026-06-17 18:41:56 last log entry of the affected boot
2026-06-17 18:46:57 next boot starts
There are also relevant entries in .xsession-errors:
muffin-Message: Enabling experimental feature 'scale-monitor-framebuffer'
muffin-Message: Enabling experimental feature 'x11-randr-fractional-scaling'
(cinnamon): muffin-WARNING **: Impossible to resize screen at size 6000x1440, error id 8: BadMatch (invalid parameter attributes)
(cinnamon): muffin-WARNING **: Impossible to resize screen at size 6000x1440, error id 8: BadMatch (invalid parameter attributes)
The issue appears related to Cinnamon/Muffin on X11 with fractional scaling enabled, NVIDIA proprietary driver, dual monitors, and screensaver/unlock or cinnamon --replace.
Steps to reproduce
I cannot reproduce it reliably every time, but the affected setup and observed path are:
Use Linux Mint Cinnamon with Cinnamon 6.6.7.
Use X11 session.
Use NVIDIA proprietary driver 580.159.03 with an RTX 2070 SUPER.
Connect two monitors:
Enable fractional scaling.
Use the system normally.
Let the Cinnamon screensaver/lockscreen activate.
Unlock the session.
In the affected case, Cinnamon logged screensaver errors, then
cinnamon --replace, then the system/session froze hard and required a hard reset.Relevant commands used for diagnosis:
Expected behavior
Unlocking the screen or replacing/restarting Cinnamon should not freeze the session or require a hard reset.
Cinnamon/Muffin should handle this X11 fractional scaling dual-monitor setup without
BadMatchresize errors and without the screensaver/unlock path leading to a hard freeze.Additional information
No coredumps were found for the affected time window.
The kernel log for the relevant time window showed no NVIDIA Xid, no NVRM error, no GPU timeout, no DRM hang, no watchdog lockup, and no kernel panic.
The previous boot ended abruptly at 2026-06-17 18:41:56. The next boot began at 2026-06-17 18:46:57.
System graphics output:
DESKTOP=X-Cinnamon
SESSION=x11
Cinnamon 6.6.7
Graphics:
Device-1: NVIDIA TU104 [GeForce RTX 2070 SUPER] vendor: ASUSTeK
driver: nvidia v: 580.159.03 arch: Turing pcie: speed: 8 GT/s lanes: 16
ports: active: none off: DP-2,HDMI-A-1 empty: DP-1,DP-3 bus-ID: 07:00.0
Display: x11 server: X.Org v: 21.1.11 with: Xwayland v: 23.2.6 driver: X:
loaded: nvidia unloaded: fbdev,modesetting,nouveau,vesa
Screen-1: 0 s-res: 6000x1440
Monitor-1: DP-2 model: AOC U34G2G4R3 res: 3440x1440
Monitor-2: HDMI-A-1 mapped: HDMI-0 model: LG HDR 4K res: 2560x1440 hz: 60