Hallo,
Sedert twee weken ben ik de eigenaar van een ASUS TUF A15-laptop. De laptop werkend met OpenSuSE krijgen was uitdagend, maar volledig geslaagd, dus als hulp voor anderen die voor deze klus staan, meldt ik hier mijn bevindingen. Deze informatie is waarschijnlijk tevens nuttig voor bezitters van andere ASUS-laptops met een AMD Renoir-processor, waaronder de Asus Zehphyris G14 en G15 en wellicht zelfs voor niet ASUS-laptops.
Op mijn vorige laptop stond een OpenSuSE 15.0. Omdat ik geen zin had om met een schone installatie te beginnen en al mijn applicaties, instelligen en fijntuning opnieuw begon was mijn eerste plan om te kijken of ik het oude systeem over kon zetten, liever de oude installatie naar een nieuwe SuSE actualiseren dan geheel opnieuw beginnen. De TUF A15 blinkt uit in storage, standaard zat er een 1TB SSD in, maar een redelijk laagwaardige QLC-SSD. Als je een Ferrari koopt, wil je er ook racebanden op hebben zitten, dus ik heb er een Samsung 970 Pro bijgeplaatst en die was beschikbaar voor OpenSuSE. De originele SSD staat nu nog Windows op, maar zal ik in nabije toekomst herformatteren voor bulkopslag. Om het systeem over te kunnen zetten monteerde ik de SATA-SSD van mijn oude laptop in de SATA-bay van de TUF A15.
In de goede oude tijd was het mogelijk het SuSE-rescue-systeem te laden, partities aan te maken, bestanden kopiëren en Lilo draaien. In de moderne tijd is één en ander veel complexer geworden. Om te beginnen ondersteunt de TUF A15 geen BIOS-boot, alles moet via UEFI. Enige poging om van de SATA-SSD te booten is tevergeefs. Ook het via UEFI opstarten van de openSuSE 15.2-installatie DVD en dan doorbooten naar de SATA-SSD brengt geen soelaas. In het verleden gebruikte OpenSuSE de kernel van de installatie-DVD, tegenwoordig probeert hij opnieuw te booten met de kernal van het geïnstalleerderde systeem. Met de Linux 4.2-kernal die ik op mijn systeem had, start de TUF A15 in het geheel niet op.
Het rescue-systeem met meegeleverde kernal van OpenSuSE 15.2 start wel normaal op, maar ook met een eigenaardigheid, zolang er een apparaat via USB aangesloten is, werkt alles prima, zodra je dit eruit haalt slaat de boel vast. Hoe dan ook, ik kon de SATA-SSD mounten, partities aanmaken op de Samsung 970 Pro en bestanden kopiëren. Daarna de kernal van OpenSuSE 15.2 in het systeem gezet. Nu restte nog het omzetten van Grub2 voor een UEFI-boot. Dat was nog best een gepruts met de configuratie, maar na enige tijd had ik het systeem zover dat ik met UEFI naar mijn oorspronkelijke installatie kon booten.
Die werkte nog wel uitsluitend met USB-stick in het apparaat, USB-stick verwijderen zorgde voor een onmiddelijke crash. Hints op internet gaven aan dat de minimale kernel voor de AMD-Renoir Linux 5.5 is, terwijl OpenSuSE 15.2 Linux 5.2 gebruikt. Ik downloadde de Linux 5.7-kernel van Tumbleweed en installeerde die. Probleem opgelost, ik kon nu veilig zonder sticks in de USB-poort opstarten.
Mijn systeem startte nog zonder X op. In de Xorg.conf stond de driver nog ingesteld op een Intel IGPU. Die direct op “amdgpu” zetten was optimistisch, ik zette hem op “modesetting”. Hierdoor startte X wel en had ik nu opeens een behoorlijk functioneel systeem tot mijn beschikking, met al mijn applicaties zoals ik het voorheen had. Wifi was functioneel, ik kon een webbrowser opstarten om informatie te zoeken en software te downloaden en dat maakte het werk vanaf dit punt stukken eenvoudiger.
Eerste punt van aandacht was het werkend krijgen van de amdgpu Xorg-driver. Iets wat AMD goed heeft gedaan met AMDGPU is het verwijderen van chipspecifieke zaken uit de Xorg-driver. Het is dan ook niet noodzakelijk om Xorg te actualiseren. Desondanks was de xf86-video-amdgpu te oud. Een nieuwere versie kon gevonden worden in het repo home:khnazile:video. Na toevoegen van dit repo en het actualiseren van xf86-video-amdgpu startte X op met de AMDGPU-driver.
Voor 3D-acceleratie was het nodig nog wat meer pakketten te actualiseren, namelijk libdrm2, libamd-gpu1, libgbm1, Mesa en bij deze libraries alle bijbehorende “subpakketten”. Daarma werkte 3D-acceleratie, kon ik Steam opstarten en werkten mijn spellen. De geïntegreerde GPU van de Renoir is een positieve verrassing, ik vind het opvallend hoe een groot deel van mijn spelcollectie soepel draait op de geïntegreerde GPU en omdat het op de geïntegreerde GPU draait, gaat dat ook bij laag energieverbruik. Je kunt met deze laptop in de trein op batterijen een serieus spel spelen.
In de laptop zit evenwel ook een Geforce GTX1660 voor het zware grafische werk. Ik had enigszins mijn twijfels of het zou lukken deze GPU werkend te krijgen, maar warempel, het is gelukt. Allereerst, de meeste bronnen op internet wijzen in de richting van nvidia-prime en suse-prime. Dit herconfigureert Xorg om beide drivers te laden, zodat je kunt wisselen tussen beiden. Het is mij na lang puzzelen niet gelukt dit werkend te krijgen. Wat ik ook probeerde, ik had ofwel de situatie dat X beiden drivers laadde en vervolgens de Nvidia-driver negeerde, ofwel de situatie dat de Nvidia-driver wel geladen werd, maar dan ook probeerde een desktop weer te geven op de Displayport-poort, terwijl het LCD-scherm van de laptop daardoor zwart bleef.
Allereest maar eens de driver. Nouveau is bij dit soort zaken vaak al snel foute boel en deze driver moet je saboteren, hij mag onder geen geval geladen worden. Je vind op internet vaak adviezen om in /etc/modprobe.d de module te blacklisten. Ik ben verder gegaan dan dat en heb de kernelmodule expliciet verwijderd en alle mogelijke nouveau-gerelateerde rpm-pakketten verwijderd.
Wat betreft de Nvidia-driver heb je een behoorlijk nieuwe versie nodig, nvidia-glG05-450.57, met iets dat ouder is komt je vanwege de recente kernel die we draaien niet weg. Ik moest de kernel-module met de hand compileren.
Nvidia-prime/Suse-prima gaf dus geen soelaas, maar ik had meer geluk met Bumblebee. Nu is ook dat niet triviaal, want Bumblebee ondersteund in de officiële releases alleen nog maar de combinatie van een Intel-IGPU en Nvidia-GPU. In de develop-branch van Bumblebee ( https://github.com/Bumblebee-Project/Bumblebee/tree/develop ), is evenwel code aanwezig voor AMD IGPU’s. Ik downloadde deze branch, compileerde hem en verving de Bumblebeed die via de OpenSuSE-rpm was geïnstalleerd door de gecompileerde. Na het afstellen van de configuratie in /etc/bumblebee, begon er iets te werken…
… behalve dat 3D-applicaties meteen crashten. Ik vond deze discussie:
https://github.com/Bumblebee-Project/Bumblebee/issues/988
… en warempel, de suggestie om de omgevingsvariabele __GLVND_DISALLOW_PATCHING=1 te zetten, lostte het probleem op.
De Nvidia-GPU is nu functioneel, het is mogelijk zowel de optirun-methode als de primusrun-methode te gebruiken voor het opstarten van een zware grafische applicatie op de Nvidia-GPU. (In Steam doe je dat eenvoudig door bij de opstartopties van een spel "primusrun %command% te tikken). Het enige dat niet werkt, en dit is een beperking van Bumblebee, is dat de Displayport-aansluiting van de laptop niet functioneel is, omdat deze met de Nvidia-GPU verboden is. Dit komt omdat Bumblebee de Nvidia-driver pas activeert zodra de GPU via optirun of primusrun geactiveerd wordt en de Nvidia-GPU daardoor niet actief is als een normale desktop getoond wordt. Voordeel is dan weer dat de Nvidia-GPU als hij niet nodig is in een diepe narcose wordt gehouden, zodat het energieverbruik ervan minimaal is. Voor een externe monitor is de HDMI-aansluiting van de laptop wel te gebruiken.
Ik beschouw de laptop verder nu als volledig functioneel, alles werkt, waaronder laptop-specifieke zaken zoals het regelen van de achtergrondverlichting en zelfs de toetsenbordverlichting vanuit Linux is functioneel. Ondanks dat de uitdagende klus alles werkend te krijgen is het een prima Linux laptop. Hij is razendsnel en voor een spellaptop verrassend licht en stil. Linux is tegenwoordig meer dan een uitstekend spelplatform en ook daar eigent deze laptop zich op Linux uitstekend voor, met name de geïntegreerde GPU werkt verrassend goed. Dus kortom, voor Linuxgebruikers is het een prima laptop, maar het kost even werk om het alles goed te configureren.