Grafische ongein

Je eigen besturingssysteem en software installeren en beheren zorgt ervoor dat je inderdaad eigen baas bent op je eigen computer. Maar het kan zo z’n eigenaardigheden meebrengen. Vervelend als je snel verder wilt, maar eigenlijk ook best leuk om weer iets uit te zoeken. Wij hebben op ons beider computer eenzelfde grafische kaart met eenzelfde GeForce GT 710 grafische chip van nVidia. Op de ene computer draaide die (bijna) vlekkeloos, maar op de andere deed ‘ie raar. Ofwel: zeer geregeld liep de boel vast. Hoogst irritant.

De GT 710 grafische chip (of gpu) is er al sinds 2016 en behoort zeker niet tot de grafische top-10. Dus het zou probleemloos moeten werken op een systeem met Kubuntu 24.04. Op de ene computer deed ‘ie dat, op de andere niet. Wat was er loos?

nVidia heeft eigen drivers, ook voor Linux-systemen, maar die zijn uiteraard propriëtair. Ze zijn wel beschikbaar in de Kubuntu repositories. Linux heeft daarnaast zelf een open-source driver, nouveau, die automatisch wordt geïnstalleerd en geactiveerd zodra het systeem een nVidia grafische kaart bespeurt. Zo’n open-source driver is uiteraard een stuk reverse engineering en dan werkt iets soms anders of niet. Het leek er bijvoorbeeld op dat activeren vanuit de slaapstand soms haperde.

Dus dan maar de eigen driver van nVidia geïnstalleerd. Kubuntu maakt dat eenvoudig. Ga naar ‘Systeeminstellingen > Hardware > Beheerder van stuurprogramma’s’. Daar start je kubuntu-driver-manager en die doet het werk. Vink aan welke driver je wilt, wacht af tot alles klaar is en herstart je computer. En inderdaad: de slaapstand werkte nu beter (heel soms nog steeds niet).

Maar op de andere computer werd het installeren van de nvidia-driver een ramp. Het systeem wilde niet eens meer opstarten. Dus moest handmatig de nouveau-driver worden teruggezet via de ‘recovery mode’ van Kubuntu. (Druk op ‘Shft’ zodra de computer start om daarbij te komen, maar dat sla ik hier verder even over, want je moet goed weten wat je daar doet om niet alles helemaal in de soep te laten lopen.)

Maar het werkte nog steeds niet. Bij het opstarten van Kubuntu werd het beeldscherm half gevuld met vreemde spikkels en als alles eenmaal draaide, liep het daarna toch om de haverklap weer vast.

Na veel proberen en zoeken vond ik uiteindelijk het probleem: er waren restanten van de nvidia-driver achtergebleven in de /boot/ directory. Daar staan vier typen bestand die Linux nodig heeft om op te starten: config-6.8.0-*, initrd.img-6.8.0-*, System.map-6.8.0-* en vmlinuz-6.8.0-*. Bij de asterisk * vind je het precieze kernel-nummer. Er horen minimaal twee verschillende kernels te staan.

Op de haperende computer stonden daar nog specifieke kernels van nVidia met '-1018-nvidia' als toevoeging. En die werkten dus gewoon niet. Oplossing: (als root) die bestanden verwijderen.

Daarna in Synaptic controleren of er nog pakketten met eenzelfde toevoeging zijn geïnstalleerd. Zo ja, meteen verwijderen. Controleer ook of er inderdaad wel twee kernels zijn geïnstalleerd. Zoek naar pakketten van het type linux-image-6.8.0-48-generic, linux-modules-6.8.0-48-generic, linux-modules-extra-6.8.0-48-generic en linux-modules-nvidia-*. Als je de nouveau-driver gebruikt, moeten pakketten van dat laatste type uiteraard verwijderd zijn.

Om te zorgen dat het boot-menu van Grub bij het herstarten alles kan vinden, moet je dat eerst nog updaten. Open een terminal en type:

sudo update-grub2

Mocht je nouveau opnieuw moeten toevoegen of wil je het herinstalleren, installeer dan het pakket xserver-xorg-video-nouveau. Als het goed is worden zo ook nouveau-firmware en libgl1-mesa-dri meegeïnstalleerd. De eerste voegt specifieke firmwarecode toe, de tweede zorgt voor 3D-graphics.

Is alles weer netjes opgezet, dan kun je dat controleren in de terminal met deze opdracht (zo nodig eerst inxi installeren):

inxi -G

Als je de nouveau-driver hebt ingesteld wordt het zoiets (met ‘nouveau’ bij ‘driver:’, ‘dri:’ en ‘gpu:’):

Graphics: 
  Device-1: NVIDIA GK208B [GeForce GT 710] driver: nouveau v: kernel
  Display: server: X.org v: 1.21.1.11 with: Xwayland v: 23.2.6 driver: X: loaded: modesetting
    unloaded: fbdev,vesa dri: nouveau gpu: nouveau tty: 127x44 resolution: 1: 1440x900 2: 1440x900

En als je de nvidia-driver hebt gekozen moet je iets zien als dit (met ‘nvidia’ bij ‘driver:’, ‘loaded:’ en ‘gpu:’):

Graphics:
  Device-1: NVIDIA GK208B [GeForce GT 710] driver: nvidia v: 470.256.02
  Display: x11 server: X.Org v: 21.1.11 with: Xwayland v: 23.2.6 driver: X:
    loaded: nvidia unloaded: fbdev,modesetting,nouveau,vesa
    gpu: nvidia,nvidia-nvswitch resolution: 1: 1920x1080~60Hz
    2: 1920x1080~60Hz

En nu werkt er dus één computer netjes met de nvidia-driver en de andere met de nouveau-driver (en bij het opstarten wat sneeuw op het beeldscherm).

Nawoord (15-12-2024): uiteindelijk bleek die moeilijkheden makende grafische kaart ook gewoon versleten. Vervangen door een nieuwe AMD RX550 kaart, met radeonsi driver, en ziedaar! alles loopt als een zonnetje.