Tag Archives: NVIDIA

NVIDIA on Fedora 27: Bad Resolution & Painful Mouse Lag (Fixed)

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:

Edit /etc/gdm/custom.conf, and put the following line in the [daemon] section:

WaylandEnable=false

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.

Problem solved!

But only because I finally realized I needed to look for Wayland.

Solved: NVIDIA/Nouveau picture extending beyond screen

I upgraded my desktop Linux system to Fedora 21 recently, and decided instead of trying to get the proprietary NVIDIA driver working, I’d just switch back to the open-source Nouveau driver. I uninstalled every RPM that had “nvidia” in the name (I use rpmfusion to keep the installation clean), restarted, and was dismayed to see that the system decided I could only run at 800×600. I didn’t have time to fix it immediately, so I shut down and went on with my day. That evening, I started it up again ready to fix it…and was surprised to see that the resolution had been detected correctly this time.

Almost.

It wasn’t obvious at the login screen, but the picture extended just a little past the edge of the monitor. I could tell because the mouse cursor would actually move off the screen in all directions. Once I logged in, and I could look at things near the edge, it was more obvious. And if I looked closely, I could tell that a lot of things that should have been sharp pixel lines were actually antialiased.

TL;DR: It was actually a monitor setting, and apparently the proprietary driver had been overriding it. Continue reading