What is the most recommended process to downgrade the NVIDIA drivers to get Starfield working under Proton in Garuda?

There is no particular recommended way to downgrade nvidia drivers or any software due to the fact that if you downgrade a particular software and it is making deprecated API calls to libraries that no longer support those calls due to the fact that the rest of the system and other libraries are going to keep updating. This is going to cause issues if not immediately it is definitely going to do so in longer run.

This is why even on archwiki it says to implement a snapshot subsystem and try to roll back a snapshot instead of downgrading a particular software. Plus with your setup it looks like Nvidia is the only card you have which means if the downgrade fails then you will be stuck with a black screen no video output. Even though you could still recover from this using chroot but that would be another tedious process of its own.

So if you are absolutely sure that the game is worth the trouble of doing all this and not just setting up a windows dual boot. Seriously that would be better than downgrading your nvidia drivers. Then you can do this.

sudo downgrade nvidia-dkms

downgrade is an AUR utility available by default in garuda. If it’s not there you can just download it. Running this command will give you a list like this

Example:

‐  1)  terraform    0.11.11  2  remote
‐  2)  terraform    0.11.12  1  /var/cache/pacman/pkg
+  3)  terraform    0.11.13  1  remote
+  4)  terraform    0.11.13  1  /var/cache/pacman/pkg
‐  5)  terraform    0.12.0   1  remote
‐  6)  terraform    0.12.0   1  /var/cache/pacman/pkg
7)  terraform    0.12.1   1  remote

Available packages (community):
7/7
>

The columns have the following meaning:

indicator Possible values: {‐|+}

‐ indicates that the version was previously installed.

+ indicates the currently installed version.

Fetching the driver from both arch archive and if present in your local system cache. So select the version you wanna downgrade to and go ahead.

Now, once this is done although pacman hooks should have taken care of it (you can read it in the output) and compiled the modules for the nvidia drivers using dkms to work if they didn’t that is they output some error in that stage. Something like this,

A newer module than this already exists aborting operation. Use --force if you still want to continue

Not exactly the same but you get the idea, then in that case you need to manually enter the commands to compile the modules:

sudo dkms install --no-depmod nvidia/<nvidia-driver-version> -k <kernel-version> --force

you will replace <nvidia-driver-version> with the driver version you downgraded and <kernel-version> with the kernel you wish to compile it against. For example,

If you downgraded your nvidia-dkms drivers to version 535.98 and you are currently have the kernels 6.4.12-zen1-1-zen and 6.1.51-1-lts in your system. Then you would run this command like this:

once for the zen kernel,

sudo dkms install --no-depmod nvidia/535.98 -k 6.4.12-zen1-1-zen --force

and then once for lts kernel,

sudo dkms install --no-depmod nvidia/535.98 -k 6.1.51-1-lts --force

Now this was just an example and you might not have the LTS kernel or might have different kernels installed so change this command accordingly.

I hope you see the pattern. Once you are done with the above command(s),

sudo depmod <kernel-version>

Again replacing like above.

sudo depmod 6.4.12-zen1-1-zen

and

sudo depmod 6.1.51-1-lts

That’s it now reboot and hopefully you don’t blackscreen. If you don’t and you actually manage to downgrade your drivers (you can check with nvidia-smi) then you can add nvidia-dkms to the IgnorePkg section of /etc/pacman.conf

Otherwise, chroot and garuda-update is your savior.

5 Likes