Ricky Kresslein

NVIDIA Issues on Arch Linux with GNOME

2022-10-12

Recently, I switched from Fedora back to Arch Linux, which was previously my favorite distro. I'm really loving it so far, but I had some major issues after installing the NVIDIA drivers. After swearing about how I will never purchase anything but an all-AMD computer ever again, here are a couple of those issues and how I fixed them.

No More Wayland

The first, and worst, thing that happened was I lost the option to use GNOME on Wayland. If I logged out and clicked the cog to switch sessions, it only showed "GNOME" and "GNOME Classic". I tried a lot of shit before finally finding this list of fixes, which saved me.

GNOME Primary Monitor

I have a mult-monitor setup. Once I was back on Wayland, I couldn't change my primary monitor in the GNOME Display Settings. It would change for a second, but there was no way to apply the change, and it would just switch right back to my laptop screen rather than my large monitor. Luckily, after a ton of searching, I was able to figure out how to fix it manually.

First, edit ~/.config/monitors.xml. There is a line under the current primary monitor that reads <primary>yes</primary>. Cut that and paste it under the heading for the monitor you want to be the primary. Save and close the file.

Next, open a terminal and type cp ~/.config/monitors.xml /var/lib/gdm/.config/ to copy it over to the GDM configs directory. (Create that directory if it does not exist already.)

Finally, log out and log back in and you should now have a the correct monitor set as primary! It will also show up correctly in Display Settings, though you still can't change it from there.

GNOME Screen Blank Time

The final big problem was that I could no longer change the Screen Blank time in GNOME's Power Settings. Every time I changed it and moved to another window, it would change right back. Luckily, this was the easiest problem to solve.

There is a GSetting for the screen blank time called "idle-delay. To set it, open a terminal and type gsettings set org.gnome.desktop.session idle-delay XXX where XXX is the number of seconds you want the computer to wait before turning off the screen. I set mine to 600, which works out to 10 minutes.

Again, you will be able to view this change in the GNOME Settings app, but you still won't be able to change it from there.

And that's it! Those were all the major issues I had and the solutions. Hope that helps! Feel free to email me if you have any issues.