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.