-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Legacy framebuffer broken since 5.18.13 #341
Comments
GP108 (pascal) is not supported by the open kernel modules in this git repo. But, if this happens with the proprietary driver, that is definitely a bug. I can't find much related to the problem in the attached logs. Was the attached nvidia-bug-report.log.gz generated right after the symptom was reproduced? In journalctl, I see:
Would it be possible to reboot, reproduce the problem with the proprietary driver, ssh into the system and then run nvidia-bug-report.sh? It would be nice to get a fresh dmesg rig |
I have upgraded to a custom kernel who runs with this GeForce card but you have a fresh journalctl from me in this thread |
More information is available in https://bugzilla.kernel.org/show_bug.cgi?id=216303#c2 |
Thanks, @logs. I've renamed the Issue subject from Kernel freeze since 5.18.13 with NVIDIA Corporation GP108 [GeForce GT 1030] to Legacy framebuffer broken since 5.18.13 |
Thanks for the report. We're tracking this internally as NVIDIA bug 3740048. |
I see a different issue (no freeze, but VESA (legacy) frame buffer unusable after X has started), due to a commit that went into kernel v5.18.13, so it is likely not NVIDIA driver-version specific, but most likely impacting any version... |
Hi @Joel-Muller, thanks for reporting this. The NVIDIA driver has traditionally not installed itself as a framebuffer console driver because doing so breaks an important use case: closing all graphical applications, unloading and uninstalling the existing NVIDIA driver, installing a new one, and starting graphics back up without having to reboot. It has not traditionally been a requirement that drm drivers also act as fbdev drivers, so this works out on earlier kernels. If newer kernels introduce the requirement that drm drivers must install a framebuffer console, then we will look into implementing that. |
@aaronp24 wouldnt that mean that tty resolution is something absurd like 640x480? Thats a huge dealbreaker! |
@Joel-Muller , can you check whether this commit breaks the console even if no NVIDIA driver is installed at all? While trying to reproduce this problem we noticed that the call to |
Ok so I do sudo pacman -R nvidia-dkms How I remove a self compiled dirty kernel which I installed with make?! sudo pacman -U linux-5.18.15 linux-headers- It‘s ok so? |
Its freeze also! Without nvidia modules and removed nvidia-dkms driver |
Thanks for confirming. We'll continue investigating, but that behavior of the upstream kernel doesn't seem right and sounds like it wasn't intentional. |
I can confirm that the proposed patch does not work either for me (tested with vanilla kernel v5.19 and patched NVIDIA modules for official (closed source) v515.65.01 drivers); I observe the exact same problem as before: the virtual consoles video mode is not properly set and makes them unusable after X has started. |
If what aplattner said was true then the patches shouldnt work to fix this issue. |
Has there been any progress on this, or at least a workaround? I can't boot if I update to kernel 5.18.13, and I'm fairly confident I'm hitting this bug. |
As far as I know(?), it shouldn't prevent booting, at worst you get a blank console until Xorg or so starts and should still be able to ssh in either way. Personally still get a console fine (currently on kernel-6.0.9, 525.53-closed, single gpu 1070, Gentoo) using FB_EFI or FB_VESA though (with SYSFB_SIMPLEFB / FB_SIMPLEFB / DRM_SIMPLEDRM disabled). On that note, DRM_SIMPLEDRM would in fact prevent Xorg from working in most cases. Fedora, whom is using it by default, is for now patching the kernel to skip simpledrm and let kernel use FB_EFI, so normally should aim to disable it (or having it as module, which is harmless). Unsure what your distro is using if it's not your own build. |
I solved my problem by going to Best Buy and picking up and AMD card. Working great now. Hopefully nvidia has open source drivers at some point. |
Just to set expectations here: this is definitely a kernel bug. The kernel is disabling the framebuffer console on all devices whenever DRM is initialized on any device. In the case of affected users, this breaks the console on an NVIDIA GPU when another device (such as aspeed or i915) has a DRM driver, even if no driver for the NVIDIA GPU is installed. The underlying kernel bug needs to be fixed so that use cases where no NVIDIA driver is installed will work again. |
Linux v6.1 is broken beyond repair (former versions were still "patchable", but I failed to produce a working patch with v6.1)... |
For v6.1, simply remove the call to sysfb_disable() from drivers/video/aperture.c |
a patch please? greetings EDIT: simply this? diff --git a/drivers/video/aperture.c b/drivers/video/aperture.c
index 41e77de1ea82..7ca0730ed1c5 100644
--- a/drivers/video/aperture.c
+++ b/drivers/video/aperture.c
@@ -294,7 +294,7 @@ int aperture_remove_conflicting_devices(resource_size_t base, resource_size_t si
* ask for this, so let's assume that a real driver for the display
* was already probed and prevent sysfb to register devices later.
*/
- sysfb_disable();
+ // sysfb_disable();
aperture_detach_devices(base, size);
(if fail apply, is because lost TABs afte c&p) EDIT: works!!! thanks @Elias011980 !!! |
I threw together some experimental patches based on #342 and #356 to get the drm core to set up a framebuffer console. This is enough to get |
Hi Aaron, i can apply that patch with the official drivers? my gpu lack GSP (GTX1070Ti) greetings |
You won't be able to apply the nvidia-modeset change to make nvidia-drm's client privileged, but you can achieve something similar by having nvidia-drm take modeset ownership as soon as it loads rather than when a client goes through the
|
Hi, i have installed the patched driver followind the steps, but not works (this exactly #342 (comment))
how i can do this? only works if disable greetings |
The patch I attached to #341 (comment) has the change in it to take modeset ownership earlier. You need to load nvidia-drm with |
thanks now seems works now with greetings!! |
when try to open X session with binary (drivers patched + kernel 6.1.8
this is expected?. wayland session works greetings |
Yes, that's expected. The patch causes nvidia-drm to take modeset ownership as soon as it initializes and not give it up. That prevents other nvidia-modeset clients from setting modes while nvidia-drm is loaded. DRM clients such as Wayland compositors should still work since they go through nvidia-drm instead of talking to nvidia-modeset directly. |
Hi @aaronp24, you patchset fails to build with kernels 6.2.1 and new beta 530.xx
greetings |
530.41.03 and still have the issue. needs the patch in #341 (comment). the @aaronp24 not works at all or is very limited (and not works in +6.2.1) |
The fedora patch doesn't work for me, see the issue I linked above. |
Have a look at Linux kernel commit 5ae3716cfdcd286268133867f67d0803847acefc ("video/aperture: Only remove sysfb on the default vga pci device"). It is to be included with 6.5 kernels and might be backported to LTS versions. This commit should fix the issue. Those who are able, please test it out. |
Yeah, that file doesn't quite match the 6.4.x kernel. Would this be correct?
|
Nope, sadly. The file has changed a bit, therefore your best bet is to use kernel v6.5-rc1+. If you want this to work on older kernels, there's a dirty workaround that may blow the Earth up. You've been warned.
|
I'm on gentoo. I had to remove the |
I'm glad to hear that! By the way, there's no need to use separate package for Realtek 8168 Gigabit Ethernet support, the kernel supports it by its own. Just enable the |
Yeah I know, the 6.5 ebuild just gives a weird error if it's installed, but yeah, don't need them, needed them for some previous kernel. |
The 6.4.7 kernel, on gentoo anyway, seems to have the patches. FYI, check going back to a console from X after the machine has slept, the console seems to disappear. |
Running linux 6.5.2 with an Nvidia GPU, I can confirm that the issue has been fixed. |
While newer kernels have patched this issue, as of the 545.23.06 release you can now also work around the problem by loading nvidia-drm with the |
NVIDIA Open GPU Kernel Modules Version
nvidia-dkms 515.57.10
Does this happen with the proprietary driver (of the same version) as well?
Yes
Operating System and Version
Arch Linux
Kernel Release
Linux 5erver 5.18.15-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 29 Jul 2022 22:52:39 +0000 x86_64 GNU/Linux
Hardware: GPU
GPU 0: NVIDIA GeForce GT 1030 (UUID: GPU-c59b6402-5cbe-7921-cefb-54226fe287f9)
Describe the bug
I can't boot the kernel full in console and login in as user
git clone https://github.com/archlinux/linux.git
git checkout 848b2b6b5a582418eccf9c757594a51dab2b30d0 #5.18.15 kernel
git revert 07186778cf645cc79e6913a28dadf445cd3e2439
resolve the issue
https://bbs.archlinux.org/viewtopic.php?id=278519
To Reproduce
Install ArchLinux with kernel => 5.18.13
Install nvidia drivers
boot in to kernel after cryptsetup password prompt will freeze
Freeze -> you can login over ssh
Bug Incidence
Always
nvidia-bug-report.log.gz
nvidia-bug-report.log.gz
More Info
No response
The text was updated successfully, but these errors were encountered: