Due to an influx of spam, we have had to temporarily disable account registrations. Please write an email to accountsupport@archlinux.org, with your desired username, if you want to get access. Sorry for the inconvenience.
Modify the config (CONFIG_SYSFB_SIMPLEFB=n) and build locally.
EDIT: I went with option #2 as a workaround for now.
Additional info:
linux 6.12.1.arch1-1
nvidia-dkms 565.57.01-2
nvidia-utils 565.57.01-2
Steps to reproduce:
nvidia_drm.modeset=1 nvidia_drm.fbdev=0 results in "phantom monitor" simpledrm device active. TTY is available.
nvidia_drm.modeset=1 nvidia_drm.fbdev=1 results in early boot text visible, blind-entering LUKS pwd, graphical session without TTY. Attempting to switch to TTY results in session freeze when attempting to switch to a TTY. REing (of the REISUB) returns to the GDM login screen where I can then log back in and continue a session or restart gracefully.
nvidia_drm.modeset=1 nvidia_drm.fbdev=1 initcall_blacklist=simpledrm_platform_driver_init results in black screen at boot, blind-entering LUKS pwd, graphical session without TTY. Attempting to switch to TTY freezes system results in session freeze when attempting to switch to a TTY. REing (of the REISUB) returns to the GDM login screen where I can then log back in and continue a session or restart gracefully.
nvidia_drm.modeset=1 nvidia_drm.fbdev=0 initcall_blacklist=simpledrm_platform_driver_init results in black screen at boot, blind-entering LUKS pwd, graphical session without TTY. Attempting to switch to TTY freezes system results in session freeze when attempting to switch to a TTY. REing (of the REISUB) returns to the GDM login screen where I can then log back in and continue a session or restart gracefully.
Edited
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related or that one is blocking others.
Learn more.
NVIDIA did not fix this issue yet in their driver, so it would be quite good to add the patch again, until nvidia fixes it.
@tekstryder Is there already an upstream report in the nvidia forum about this, so that I could forward this to nvidia? Also, attach if you do so a "sudo nvidia-bug-report.sh", when this issue is happening.
I would love to know why some folks are affected and some not. FWIW, my basic test setup works fine. It's just a simple UEFI VM with Maxwell-era card passed through and no LUKS disk encryption.
These are some of the variables which come to mind that folks should include when reporting Nvidia issues:
There're at least two open issues on the BBS, https://bbs.archlinux.org/viewtopic.php?pid=2211580#p2211580
Adding "initcall_blacklist=simpledrm_platform_driver_init" to the kernel parameters will still block the simplydumb device w/o the necessity to recompile the kernel.
Why exactly was the hack removed?
It was rather unintrusive (as you could define it via modprobe.conf w/o triggering it) and is completely now since modeset=1 is the default.
On a sidenote, the fbdev=1 default has also caused several issues - the GPU generation is probably a discriminating factor (for now a gut feeling from the threads I've seen, not really tabulated)
nvidia_drm.modeset=1 nvidia_drm.fbdev=0 initcall_blacklist=simpledrm_platform_driver_init results in black screen at boot, blind-entering LUKS pwd, graphical session without TTY. Attempting to switch to TTY freezes system, requiring REISUB
Do you have a journal for that?
And do you have nvidia in the initramfs?
The first boot, using my typical nvidia_drm.modeset=1 nvidia_drm.fbdev=0 options, eventually triggered the following errors after much REing (of the REISUB) to respawn frozen GDM. Might not even be relevant.
EDIT: Of course I was examining journals that day, but the most interesting thing was the lack of anything interesting. Everything looks nominal until I trigger the magic sysrq.
EDIT2: While no TTY is diplayed or "switched to", the attempt is recognized:
Nov 25 12:40:04 systemd[1]: Started Getty on tty6.Nov 25 12:40:37 systemd[1]: getty@tty6.service: Deactivated successfully.Nov 25 12:40:37 systemd[1]: run-credentials-getty\x40tty6.service.mount: Deactivated successfully.Nov 25 12:40:37 systemd[1]: getty@tty6.service: Scheduled restart job, restart counter is at 1.Nov 25 12:40:37 systemd[1]: Started Getty on tty6.Nov 25 12:40:42 systemd[1]: getty@tty6.service: Deactivated successfully.Nov 25 12:40:42 systemd[1]: run-credentials-getty\x40tty6.service.mount: Deactivated successfully.Nov 25 12:40:42 systemd[1]: getty@tty6.service: Scheduled restart job, restart counter is at 2.Nov 25 12:40:42 systemd[1]: Started Getty on tty6.Nov 25 12:42:17 systemd[1]: getty@tty6.service: Scheduled restart job, restart counter is at 3.
But do you also get that when blocking the simplydumb device?
You don't get those errors n/or the frozen TTY on framebuffer switches w/ CONFIG_SYSFB_SIMPLEFB=n or (previously, though it would be better to re-establish the hack on 6.12 to make sure it's not unrelated) blocking it w/ nvidia_drm.modeset=1?
Only when blocking the initcall to suppress it?
Ah good idea.. console-mode. Set it and forget it. I'll mess with modes now.
But do you also get that when blocking the simplydumb device?
Over 8mos journals, I do see there are 3 other boots with that error.
EDIT: Looks like these are tied to periodic attempts to enable fbdev=1.
You don't get those errors n/or the frozen TTY on framebuffer switches w/ CONFIG_SYSFB_SIMPLEFB=n
No. So far CONFIG_SYSFB_SIMPLEFB=n has been functionally equivalent to the patch. I'll likely build kernel 6.12.2 with the patch rather, as i have been for my own kernels since the patch was introduced originally.
Only when blocking the initcall to suppress it?
Nope, the boot with the nv_drm_gem_nvkms_map was vanilla Arch kernel and nvidia_drm.modeset=1 nvidia_drm.fbdev=0 params.
console-mode auto: Full boot text, functional TTYs, but simpledrm device is active
console-mode keep: Full boot text, functional TTYs, but simpledrm device is active
console-mode 2: Full boot text (larger), functional TTYs, but simpledrm device is active
fbdev=1
console-mode auto: Early boot text visible until initramfs loaded, blind-entering LUKS pwd, no simpledrm device, broken tty / session freeze
console-mode keep: Early boot text visible until initramfs loaded, blind-entering LUKS pwd, no simpledrm device, broken tty / session freeze
console-mode 2: Early boot text visible (and larger) until initramfs loaded, blind-entering LUKS pwd, no simpledrm device, / session freeze
Back to the original issue description I should clarify that in every case, I can log into and use a functional Gnome session indefinitely. The differences come down to:
fbdev=0 results in the simpledrm device
fbdeb=1 results in no simpledrm device, but...
missing boot text after initramfs loaded
session freeze when attempting to switch to a TTY. REing (of the REISUB) returns to the GDM login screen where I can then log back in and continue a session or restart gracefully.
EDIT: In each case with fbdeb=1, the nv_drm_gem_nvkms_map error occurs and:
Dec 02 08:00:50 gnome-shell[2035]: Page flip failed: drmModeAtomicCommit: Cannot allocate memoryDec 02 08:00:50 gnome-shell[2035]: Failed to post KMS update: drmModeAtomicCommit: Cannot allocate memoryDec 02 08:00:50 gnome-shell[2035]: Zero-copy disabled for /dev/dri/card0, import failed: importing dmabuf fd failedDec 02 08:00:50 kernel: simple-framebuffer simple-framebuffer.0: swiotlb buffer is full (sz: 393216 bytes), total 32768 (slots), used 346 (slots)Dec 02 08:00:50 gnome-shell[2035]: Failed to acquire front buffer: Missing secondary GPU framebuffer
So, while the simpledrm (phantom monitor) device does not rear its ugly head, we are hitting Mutter's multi-GPU codepath with simple-framebuffer.
Did you try the console-modes along "nvidia_drm.fbdev=0 initcall_blacklist=simpledrm_platform_driver_init"?
(Though from your earlier tests it seems the console loss is down to lacking the simplydumb device, not fbdev=1)