Wayland laten werken op grafische kaarten van Nvidia
Hoewel Nvidia in theorie volledige ondersteuning voor Wayland heeft gehad sinds ze hun stuurprogramma’s eind 2021 uitbrachten, verliep de weg niet per se soepel. Er is nog veel werk aan de winkel met betrekking tot de interactie met componenten die de meeste mensen gebruiken, zoals XWayland. Het vereist instellingsvariabelen in zowel de gebruikersomgeving als de kernel om door uw systeem te navigeren en op de juiste manier op dingen te klikken.
Dat wil niet zeggen dat de ervaring het niet waard is als je Wayland eenmaal aan het werk hebt gekregen op grafische kaarten van Nvidia. Als u deze gids volgt, zal uw ervaring in Nvidia bijna net zo soepel verlopen als in X.
Verwijder Xorg niet
Verwijder eerst Xorg of andere desktopomgevingen die het gebruiken niet! Om uw ervaring gemakkelijker te maken, met minimale frustratie, is het altijd goed om een veilige optie te hebben om op terug te vallen. Beschouw X nu als uw “veilige modus” voor het geval er iets misgaat tijdens het proces. Wat we in deze handleiding gaan doen, heeft geen invloed op Xorg.
1. Stel uw omgeving in
Er zijn een paar omgevingsvariabelen om Wayland aan het werk te krijgen op grafische kaarten van Nvidia. Aangezien er hier geen uniforme standaard is, zullen we heel algemeen zijn bij het opzetten van dingen om ervoor te zorgen dat Nvidia je niet boos aankijkt.
Volg deze stappen om de omgeving in te stellen:
- Maak een back-up van uw omgeving naar uw thuismap:
sudo cp /etc/environment ~/environment.bak
- Open uw universele omgevingsbestand:
sudo nano /etc/environment
- Als u van plan bent om Qt-toepassingen te gebruiken (meestal heeft u er een paar), voegt u deze regel ergens in het bestand toe:
QT_QPA_PLATFORMTHEME="wayland;xcb"
- Voeg de volgende omgevingsvariabelen toe zodat Nvidia kan worden gedwongen om de GBM-backend te gebruiken (compatibel met de overgrote meerderheid van Linux-omgevingen) en schakel een paar andere dingen in die je misschien nodig hebt, zelfs als ze nog niet zijn geïnstalleerd:
GBM_BACKEND=nvidia-drm
__GLX_VENDOR_LIBRARY_NAME=nvidia
ENABLE_VKBASALT=1LIBVA_DRIVER_NAME=nvidia
- Aangezien hardwarecursorrendering in sommige omgevingen kan mislukken, is er nog een optionele variabele. Dit is alleen nodig als u, wanneer u Wayland uiteindelijk test, geen cursor op uw scherm ziet.
Er is echter niets mis mee om dit toe te voegen en later te verwijderen om dingen zonder te testen:
WLR_NO_HARDWARE_CURSORS=1
2. (Arch Linux) Bouw je init Ramdisk
De meeste populaire distro’s zullen opstarten met een “initial ramdisk” (initramfs) die een tijdelijk bestandssysteem in je RAM laadt (vandaar de term “ramdisk”) om het opstartproces te initialiseren en de kernel voor te bereiden om zijn magie te doen en je op weg te helpen rennen.
Binnen deze initiële ramdisk moeten we de verschillende componenten van Nvidia laden, inclusief een manier om de beeldschermresolutie in de kernel te laden. Dit is belangrijk omdat Wayland de framebuffer vereenvoudigt en dichter bij de kernel communiceert.
In populaire distro’s zoals Ubuntu en Fedora zou Nvidia geen problemen moeten ondervinden, omdat de systemen al zo zijn ingesteld dat de initramfs minder onderscheidend zijn over welke modules het laadt. De zeer modulaire structuur van Arch vereist echter dat specifieke modules handmatig worden geladen.
Dit proces is niet zo intimiderend als het klinkt. Volg deze stappen zorgvuldig:
- Bewerk uw initiële ramdisk-configuratie (zorg ervoor dat u eerst een back-up maakt):
sudo nano /etc/mkinitcpio.conf
- Voeg onder de
MODULES=()
regel, tussen haakjes, het volgende toe:
nvidia nvidia_modeset nvidia_uvm nvidia_drm
Als tussen de haakjes al andere modules staan die hier niet worden vermeld, voegt u deze modules aan het einde toe. Als je al enkele Nvidia-modules ziet bijgevoegd, voeg dan toe wat er ontbreekt in de lijst.
- Regenereer je initiële ramdisk voor alle
initramfs
afbeeldingen (daar-P
is de vlag voor):
sudo mkinitcpio -P
Je zou een heleboel enge waarschuwingen moeten zien over “ontbrekende firmware”. Negeer die. Dat gebeurt meestal en is niets om je zorgen over te maken. Dit is alleen nuttig in nichegevallen waar een firmwarepakket ontbreekt voor een stuk hardware dat u niet kunt gebruiken.
3. Schakel Direct Rendering Manager in
Met de Direct Rendering Manager (DRM) van Linux kan de kernel met GPU’s werken. Om ervoor te zorgen dat Nvidia en Wayland met elkaar overweg kunnen, moeten we ervoor zorgen dat de kernel Nvidia’s DRM-modusinstelling gebruikt binnen de kernelparameters van je bootloader:
- Bewerk je standaard GRUB-configuratie (nogmaals, zorg er altijd voor dat er een back-up is):
sudo nano /etc/default/grub
- Zoek naar een regel die begint met
GRUB_CMDLINE_LINUX_DEFAULT
. Als het niet bestaat (het zal bijvoorbeeld niet in Fedora voorkomen), maak het dan zo aan:GRUB_CMDLINE_LINUX_DEFAULT=""
. - Voeg binnen de aanhalingstekens het volgende toe:
nvidia-drm.modeset=1
- Update Grub’s configuratie:
In alles gebaseerd op Ubuntu/Debian/Mint:
sudo update-grub
In Fedora/RHEL:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Met alles gebaseerd op Arch:
sudo grub-mkconfig -o /boot/grub/grub.cfg
Als alles eenmaal is gedaan, zal uw systeem het veel gemakkelijker hebben om Wayland op Nvidia-hardware te gebruiken!
Wayland-ondersteuning op uw distro
In Ubuntu, Fedora en een paar andere geselecteerde distro’s kun je Wayland laten werken op grafische kaarten van Nvidia zodra je een upgrade naar de nieuwste versie van je software uitvoert. Ubuntu levert Wayland sinds versie 22.04 als de standaardsessie voor zijn gewijzigde GNOME-bureaublad , en Fedora doet het al veel langer dan dat. Overweeg ervoor te zorgen dat u de nieuwste versie van uw distro gebruikt.
Anderen, zoals Linux Mint, zullen moeite hebben met het uitvoeren van Wayland omdat het geen prioriteit is om de desktopomgeving waarmee ze worden geleverd te herzien. Dat weerhoudt je er echter niet van om een alternatief besturingssysteem te installeren. GNOME biedt kant-en-klare ondersteuning, terwijl KDE Plasma mogelijk extra pakketten nodig heeft.
Op Debian/Ubuntu gebaseerde systemen
Als uw systeem GNOME draait, heeft het al Wayland-ondersteuning zolang u up-to-date bent. Om GNOME te installeren als je het niet hebt:
sudo apt install gnome
Voor KDE Plasma moet u zowel de desktopomgeving als de Wayland-compositor apart installeren:
sudo apt install kde-standard plasma-workspace-wayland
Dat is het! Wayland zou voor u beschikbaar moeten zijn in uw displaymanager zodra u opnieuw opstart.
Arch-gebaseerde systemen
Zoals met elke andere distro die de GNOME-desktopomgeving biedt, zal installatie op Arch Linux automatisch Wayland ondersteunen:
sudo pacman -S gnome
Het installeren van KDE Plasma is ook vrij eenvoudig:
sudo pacman -S plasma-meta plasma-wayland-session
Elk van deze opdrachten zal Wayland opnemen in uw displaymanager (beter bekend als het inlogscherm).
Zorg ervoor dat je ook XWayland installeert:
sudo pacman -S xorg-xwayland
Wanneer u klaar bent met alles te installeren, start u opnieuw op en gebruikt u vervolgens uw inlogscherm om de door Wayland ondersteunde versie van de desktopomgeving die u hebt geïnstalleerd te selecteren.
Veel Gestelde Vragen
Is Wayland het echt waard?
U merkt misschien dat sommige dingen niet goed werken, zelfs niet na al deze wijzigingen. Hoewel veel problemen met Nvidia zijn opgelost, hebben veel applicaties nog steeds kleine maar vervelende compatibiliteitsproblemen met Wayland. Het is belangrijk op te merken dat Wayland en veel van de toepassingen waarmee u bekend bent, voortdurend actief worden ontwikkeld. De meeste, zo niet alle, van deze problemen zullen uiteindelijk verdwijnen.
Als je te gefrustreerd raakt door Wayland, schakel dan terug naar X. Ik raad echter aan om je Wayland-pakketten niet te verwijderen, aangezien X met de dag door meer applicatie-ontwikkelaars wordt herkend als abandonware. Controleer eens in een blauwe maan of uw problemen beginnen te verdwijnen.
Wat moet ik doen als mijn displaymanager geen Wayland-opties toont?
Hoewel de meeste beeldschermbeheerders de Wayland-protocolimplementaties van uw favoriete desktopomgevingen zouden moeten weergeven, gebeurt dit niet altijd. De oplossing hiervoor is om een andere displaymanager uit te proberen. Degenen die bij KDE Plasma (SDDM) en GNOME (GDM) worden geleverd, werken zonder problemen. Het is ook bekend dat LightDM prima werkt.
Afbeelding tegoed: Pixabay . Alle screenshots door Miguel Gomez.
Geef een reactie