Nouveau to NVidia
My work laptop is old, no bones about it. It is the first laptop that I was issued when I was hired on permanently with EMC after I graduated from Uni.
From day one however, I have been running linux on the laptop. That coupled with all of the available VM and test machines that I have access to I haven’t required any hardware updates to my laptop in that period.
Recently some of the rough edges are beginning to show more clearly. I’m not sure if it’s just a regression in the Nouveau driver or if its a degredation of the hardware but my laptop had started to lock up a couple of times a day. Googling the error message indicated that it might just be a driver issue so I went through the pain of switching from Nouveau to the NVidia proprietary driver.
On Fedora, with rpmFusion, the switch is fairly straight forward. A few dnf commands and a reset and you are off and running. Actualy the painful part for me, came after the actual switch.
In the old days I could never get the proprietary driver to work correctly with the Xorg Randr system for setting screen resolutions and layouts. That has always frustrated me. It seems they have fixed that now because xrandr is showing me a list of modes instead of the usual error. The problem is that the proprietary driver has named my display ports differently than the open source driver did.
As such, my existing xrandr layout scripts need to be modified. It wouldn’t be such a pain if I didn’t have so many of them. I like having options so I have iterated and tweaked a bunch of the screen layouts that I occasionally use with my work laptop. The first obvious layout is just to disable all outputs except the laptop screen. Next is to disable the laptop screen and use my two external screens; however, one of my screens is rotated portrait so that I can see more of a file at a glance. Then I have single external monitor options of different sizes for when I need to use a projector or something like that. Each of those bash scripts need to have the various output names swapped around. For example I think the output that Nouveau called "VGA-1" is now "DP-2" and various other similar swapped names.
So far I have been running with the NVidia driver for a few days and it seems to be more stable than Nouveau was. So there you go, a proprietary piece of software for linux that actually can compete against the open source option without really frustrating all the users. It seems NVidia’s useability has improved significantly over the years. I can’t help but wonder if this is due to NVidia’s efforts or due to package maintainers like rpmFusion that have driven the improvements.