Udskift nouveau driver med NVIDIA på Fedora 33 – og fortryd

(Last Updated On: 18. februar 2021)

En bug i nouveau driveren betyder at Emulatoren i Android Studio crasher. Så nu har jeg besluttet at udskifte den med den proprietære driver fra NVIDIA.

Erfaring gjort : Efter installationen virkede Emulatoren i Android Studio helt som den skulle. MEN… Den ekstra skærm jeg har tilknyttet kunne nu kun køre samme opløsning som laptoppens indbyggede skærm, hvilket er noget lort, rent ud sagt, fordi den har et andet ratio. Derudover gik det galt første gang jeg opdaterede Fedora og skulle genstarte. Jeg fik den frygtede sorte skærm med en blinkende cursor, og intet andet. Derfor er dette indlæg nu udvidet med information om hvordan du kommer tilbage til nouveau driveren 😉

Mit grafikkort:

Installér nvidia driveren

Jeg har benyttet denne fantastiske guide. Må indrømme at jeg var skeptisk efter første gennemlæsning. Det er meget man skal igennem, og da sandhedens time kom ved reboot, var jeg helt sikker på min laptop ville eksplodere 😉 … men det skete ikke. Det virkede!

Fedora 33/32/31 NVIDIA Drivers Install Guide

Du må IKKE blindt følge det jeg har skrevet på denne side, da de enkelte trin kan variere afhængigt af dine omstændigheder. Læs selv ovenstående guide og tag stilling. Og husk: Dit fuckup, dit ansvar.

Jeg hentede version 418.113 til mit grafikkort med følgende søgning på NVIDIAS hjemmeside:

Download driveren når du har fundet den og gem den i en mappe til formålet. Lad os kalde den nvidia-driver .

Filen du får skal hedde NVIDIA-Linux-<arkitektur>-<version>.run , som f.eks. NVIDIA-Linux-x86_64-418.113.run

Den version jeg hentede, er en af dem der er testet i guiden, nemlig version 418.113. Dette er også en af de 3 versioner der skal patches, så det gjorde jeg også ud fra denne guide:

Tjek at wget  og patch  er installeret. Hent scriptet og patch *.run filen fra NVIDIA:

Nu har du, udover den oprindelige *.run fil, en ny der hedder noget i retning af NVIDIA-Linux-x86_64-418.113-patched-kernel-5.10.run , og DET ER DEN DU SKAL BRUGE ved den endelige installation af driveren.

Sørg for at Fedora er opdateret:

Tjek at følgende pakker er installeret:

Jeg tog derudover en backup af min laptop, så jeg om nødvendigt blot kunne reinstallere, hvis det gik helt galt.

Hvis “Secure Boot” er slået til, skal det slås fra, medmindre du vælger at signere driveren. Jeg valgte at slå “Secure boot” fra, og det er nok en rigtig dum beslutning, men tiden var knap og overskuddet lavt:

Den beder om en adgangskode som du skal gentage… og naturligvis huske! 😉

Så skal nouveau blacklistes:

.. og i /etc/sysconfig/grub  skal du tilføje rd.driver.blacklist=nouveau i slutningen af GRUB_CMDLINE_LINUX=”…”. Som f.eks.:

Derefter:

Fjern nouveau pakken:

Generér initramfs… Lav en backup af den aktuelle:

Og opret den nye

Nu bliver det nervepirrende… Du skal nu reboote til runlevel 3 og installere driveren.

  1. Genstart maskinen.
  2. Du bliver muligvis bedt om at bekræfte deaktivering af “Secure Boot”. I mit tilfælde bad den ikke om adgangskoden direkte, men spurgte hvad tegn nr 3 er, dernæst tegn nr 2 osv… Det lykkedes.
  3. Når du kommer til listen over tilgængelige Fedora versioner, bruger du pilene til at markere den du normalt bruger og trykker på ‘e’.
  4. Brug pilene til at navigere til enden af den linie der starter med ‘Linux…’ og skriv et mellemrum og et 3-tal.
  5. Tryk derefter Ctrl+x for at fortsætte. Du skulle nu gerne få en shell prompt i stedet for det vanlige grafiske login.

Foretag login i prompten. Derefter:

Nu ledes du gennem en række spørgsmål som du primært skal svare ja til. Derefter:

Efter denne reboot bør alt virke som normalt, bortset fra at nouveau driveren er udskiftet med nvidia:

Geninstaller nouveau driveren

Nvidia installeren kan også afinstallere, så det starter du med:

Fjern blacklist nouveau  linien fra /etc/modprobe.d/blacklist.conf 

Rediger etc/sysconfig/grub og fjern rd.driver.blacklist=nouveau fra slutningen af linien der starter med GRUB_CMDLINE_LINUX=”…”

Opdater grub2 konfigurationen, du har sandsynligvis kun den ene af dem.

Installer nouveau

Generér initramfs ved først at tage backup og derefter lave en ny:

Geninstaller disse pakker (det er en del, så bliv ikke forskrækket)

Herefter er det blot et spørgsmål om at genstarte, og så er alt godt igen 😀