NVIDIA on Fedora 27: Bad Resolution and Painful Mouse Lag (Fixed)
UDPATE: Wayland and NVIDIA work together a lot better now (2022), but if you’re using an older Linux distribution, this might still be relevant.
I’ve been using an older NVIDIA graphics card in my Fedora Linux workstation for a long time. I finally decided to upgrade to a newer one, which meant uninstalling the legacy drivers, then installing the current NVIDIA drivers.
Using the RPMFusion packages simplified it, because I only had to do the following to uninstall the old nvidia-340xx driver and install the new one:
dnf remove xorg-x11-drv-nvidia\* dnf install xorg-x11-drv-nvidia akmod-nvidia reboot
(Of course, I still had to hit ESC during boot, CTRL+ALT+2 to get to a text console, and log in without access to copy/paste or windowing.)
But it didn’t work. Oh, it brought up the GDM login screen, sure, but the mouse cursor and keyboard response were so slow I could barely even click on the form. It would move normally for about a second, then simply stop for five seconds. You can’t use a computer like that. Even if it had let me log in – it didn’t – there wouldn’t have been any point.
Additionally, the resolution was slightly off, with the aspect ratio on everything stretched vertically.
And of course I couldn’t use any of the graphical utilities to adjust settings, because I couldn’t run anything graphical.
I tried all kinds of things to fix it:
- Creating an xorg.conf file with nvidia-xconfig. (no change)
- Manually adding an xorg.conf section setting the resolution to the monitor’s native resolution. (no change)
- Completely reverting to Linux’s built-in nouveau drivers, uninstalling all traces of nvidia and reinstalling Xorg and mesa as suggested at RPMFusion. That made the computer work again, but 3D graphics were slow. Reinstalling the nvidia packages fresh took me back to square one.
Nothing I could find online was remotely helpful. It was all about making sure the drivers were installed correctly, which I’d done, or configuring X.org, which (a) I’d done, and (b) hadn’t made any difference. (Fortunately I had another device I could look this stuff up on!)
Finally, just as I decided to revert to nouveau again just to have a working system and table the question of 3D acceleration until later, I hit upon an idea.
Wayland, the new display framework, isn’t compatible with the official NVIDIA drivers. I hadn’t had any problems with nvidia-340xx, so I figured I’d long since disabled Wayland and forgotten, but just for kicks, I switched over to the text console and tried
ps -ef | grep -i wayland
…and found that Wayland was running!
But Fedora’s GDM is supposed to fall back to X.org when it’s not able to run (the nvidia drivers are mentioned specifically). Maybe it recognized the old driver as incompatible, but thought (wrongly) that the new one could handle it?
Fortunately, that page also offered the solution:
/etc/gdm/custom.conf, and put the following line in the
The line’s actually in there already, commented out.
Literally, the solution to the problem that had me tearing my hair out for an hour was to delete a single #.
GDM displayed correctly, mouse and keyboard responded smoothly, and I was able to log in just fine…and 3D was much faster than my old card.
But only because I finally realized I needed to look for Wayland.