Facet Wiki
Geluid & Video geavanceerd
Geluidskaart problemen
De geluidskaart wordt niet herkend
Wanneer de BCLD wordt gestart, zal deze een controle doen op de aanwezigheid van een geluidskaart. Geluid is immers een essentieel onderdeel in veel toetsen en examens in Facet. Treft de BCLD tijdens deze controle geen geluidskaart aan? Dan zal de BCLD (BCLD Kaiju) dit melden en zichzelf afsluiten. Door deze manier van starten wordt u tijdig geattendeerd op het feit dat de betreffende afnamecomputer geen afnames kan uitvoeren in Facet.
Let er wel op dat de headset vooraf wel aangesloten moet zijn! Dit laat de herkenning van de audio apparatuur doorgaans beter verlopen.
Gebruikt u een latere versie van de BCLD zoals BCLD Leviathan? Dan zal de BCLD, ook als er geen geluid hardware wordt aangetroffen, door kunnen starten, maar wordt er tijdens het opstarten (in de hardware tree) aangegeven dat er geen geluidskaart is aangetroffen (no sound card detected). Ook dan kunt u de onderstaande stappen en parameters gebruiken om alsnog geluid te krijgen.
Een niet aangetroffen geluidskaart kan simpelweg betekenen dat de geluidskaart niet of niet goed herkend wordt door de BCLD. Het niet of niet goed herkennen van een geluidskaart kan meerdere oorzaken hebben: Van niet compatible zijn in Linux Ubuntu tot nog geen ondersteuning hebben vanuit de open source drivers in de gebruikte kernel. In Linux is het vaker het geval dat computers die zeer recent zijn uitgebracht, nog geen goede open source ondersteuning genieten vanuit de drivers (de fabrikant van de hardware heeft bijvoorbeeld (nog) geen (aangepaste) open source drivers. Vaak zal een latere kernel wel een betere ondersteuning bieden vanuit de opensource drivers.
Het kan ook gebeuren dat oudere BCLD versies prima werkten met de geluidskaart maar een nieuwe BCLD versie niet. Soms moet de echte ondersteuning letterlijk door de hardware fabrikant worden toegevoegd in de vorm van een update van de (U)EFI firmware (BIOS update). Vaak zien we dat scholen computers gebruiken waarvan de BIOS letterlijk al jaren niet is bijgewerkt. Dan volgt er uiteindelijk een mismatch tussen BIOS aansturing en kernel van de BCLD - en horen we vaak: Vorig schooljaar werkte het wel... De BCLD zal met nieuwe BCLD versies ook hogere (nieuwere) kernel versies krijgen, als de BIOS niet wordt bijgewerkt kan dit uiteindelijk een mismatch opleveren met het niet herkennen van een geluidskaart als gevolg.
Een BIOS update lost dit vaak op.
Toch is er, door middel van toevoegingen van parameters, soms een oplossing te forceren. In de tekst hieronder leggen we uit welke parameters er toe te voegen zijn en wat deze parameters doen.
Dit zijn geen parameters van Facet of vanuit de BCLD ontwikkelaar. Dit zijn Linux parameters die in veel verschillende Linux distributies toegepast kunnen worden. Er zijn geen garanties op te geven, noch kan de Helpdesk van Facet u hierin ondersteunen.
Mogelijke parameters
pci=nomsi of pci=noaer
Deze parameters kunnen helpen als er een probleem is met de PCI-bus waar de geluidskaart mee verbonden is. Sommige geluidskaarten hebben problemen met Message Signaled Interrupts (MSI), en het uitschakelen ervan kan helpen.
Deze parameters kunnen in sommige gevallen worden gecombineerd op 1 Grub regel.
acpi=off
Problemen met het ACPI-systeem (Advanced Configuration and Power Interface) kunnen ervoor zorgen dat bepaalde hardware niet goed wordt herkend. Door ACPI uit te schakelen, kunnen sommige apparaten, zoals geluidskaarten, correct worden gedetecteerd.
irqpoll
Dit zorgt ervoor dat de kernel op een alternatieve manier omgaat met interrupt requests (IRQ's), wat kan helpen als de geluidskaart conflicten heeft met andere apparaten.
snd_hda_intel.dmic_detect=0
Als u een HDA Intel geluidskaart heeft, kan deze parameter helpen bij problemen met het detecteren van de digitale microfoon-array (DMIC) wat soms de normale werking van de geluidskaart kan verstoren. Deze parameter wordt ook genoemd bij de standaard Veelgestelde Vragen van de BCLD.
all_generic_ide
In sommige gevallen kan het zijn dat de PCI-bus waarop de geluidskaart zit, niet goed wordt herkend door de kernel. Deze parameter dwingt het systeem om een generieke PC/IDE-driver te gebruiken voor de hardware, wat kan helpen bij detectieproblemen.
forceenable=1
Dit dwingt de kernel om bepaalde apparaten, zoals de geluidskaart, te activeren, zelfs als ze standaard niet goed worden herkend.
iommu=soft
Als de geluidskaart via de PCI(e)-bus werkt en er wordt een moederbord met IOMMU (Input-Output Memory Management Unit) gestart, kan het inschakelen van de softwarematige IOMMU-ondersteuning de geluidskaart correct detecteren.
acpi_osi=Linux of acpi_osi=linux
Het kan gebeuren dat ACPI niet volledig werkt zoals het is bedoeld onder Linux. By default probeert Linux zichzelf voor te doen als Windows. Echter kan dit in een enkel geval averechts werken. Door acpi_osi=linux in te zetten doet Linux zichzelf echt voor als Linux.
acpi_osi=Linux zorgt ervoor dat Linux echt als Linux reageert op ACPI calls. Geluidskaarten werken soms niet door verkeerde ACPI calls. Door acpi_osi=linux in te zetten kan de hardware herkenning beter verlopen.
De geluidskaart wordt wel herkend maar er is geen of storend geluid
In sommige gevallen kunnen de volgende parameters ook worden gebruikt ter test als de herdware in het geheel niet wordt herkend en de eerdere benoemde parameter geen soelaas bieden
Mogelijke parameters
acpi=off of acpi-force
Sommige geluidskaarten hebben problemen met ACPI (Advanced Configuration and Power Interface). Door ACPI uit te schakelen of geforceerd in te schakelen, kan het systeem de geluidskaart beter herkennen.
Deze parameters kunnen in sommige gevallen worden gecombineerd op 1 Grub regel.
pci=noacpi
Dit kan helpen als er een conflict is tussen PCI-verbindingen en ACPI wat de geluidskaart kan beïnvloeden. Dit kan zich uiten in een krakend en storend geluid. Soms, als er wordt gelogd, staan er veel ACPI errors m.b.t. de geluidskaart.
irqpoll
Dit kan worden gebruikt als er krakend en storend geluid is door toedoen van IRQ meldingen/onderbrekingen.
snd_hda_intel.model=auto
Als de geluidskaart gebaseerd is op een HDA (High Definition Audio) chipset, kunt u de kernel vertellen d.m.v. deze parameter om een standaard geluidsconfiguratie te gebruiken. Dit helpt vaak bij geluidsproblemen.
U kunt in plaats van auto ook een specifiek model proberen, zoals dell, hp, of andere geluidskaartmodellen die eventueel volgens de documentatie van ALSA (Advanced Linux Sound Architecture) aanwezig is--> Voor Linux gebruikers die precies weten welke chipset er wordt gebruikt.
snd_hda_intel.dmic_detect=0
Als u een HDA Intel geluidskaart heeft, kan deze parameter helpen bij problemen met het detecteren van de digitale microfoon-array (DMIC) wat soms de normale werking van de geluidskaart kan verstoren. Deze parameter wordt ook genoemd bij de standaard Veelgestelde Vragen van de BCLD.
snd_hda_intel.index=0
Als er meerdere geluidskaarten zijn en u wilt ervoor zorgen dat een specifieke geluidskaart wordt gebruikt als card0 (de standaardkaart), kan deze parameter worden gebruikt om de volgorde in te stellen.
Videokaart problemen
Vrijwel alle videokaarten zijn in staat om te functioneren met open source drivers. Tijdens het starten van de BCLD wordt de hardware geinitialiseerd en worden de juiste open source drivers geladen, zo ook de videokaart drivers. Er wordt beeld getoond, de resolutie is goed (maximale resolutie conform beeldscherm specificaties of door de gebruiker ingestelde resolutie) en de afnames verlopen voorspoedig.
NVIDIA videokaarten
NVIDIA videokaarten/adapters kunnen hier echter een vreemde eend in de bijt zijn. NVIDIA heeft series videokaarten/adapters in gebruik die niet altijd of niet zomaar werken met open source drivers. Voorbeelden zijn de Quadro series en Geforce (RTX, Geforce, MX) series.
Het gevolg hiervan? Uiteindelijk een zwart beeld, of, wel beeld, maar dan met een ontzettend slechte videoperformance waardoor een daadwerkelijke afname niet mogelijk is. Het is ook mogelijk dat, indien de machine een volledig bijgewerkte BIOS/EFI firmware heeft, de videokaart/adapter wel beeld geeft maar alleen op de maximale resolutie die de monitor zelf kan bieden. Het handmatig instellen van resoluties, ongeacht welke resolutie parameters er worden gebruikt, hebben dan geen effect.
Niet alle NVIDIA videokaarten/adapters kunnen dus goed werken met open source drivers. Vaak horen wij wel de opmerkingen vanuit scholen dat het wel werkt onder Windows. Dat klopt inderdaad. Zelfs standaard Windows drivers zijn door NVIDIA beter geoptimaliseerd met een bredere hardwareondersteuning dan de geleverde Linux open source drivers. Om onder Windows het maximale uit de (bepaalde) NVIDIA videokaarten te halen, moet er alsnog gebruik gemaakt worden van NVIDIA's eigen driver library (Nforce, RTX, Geforce drivers etc). Dit zijn NVIDIA's eigen (geoptimaliseerde) drivers, zogeheten proprietary drivers.
Voor Linux geldt hetzelfde. De open source drivers die er wel zijn, hebben doorgaans betrekking op oudere NVIDIA producten, de Legacy producten. NVIDIA heeft voor Linux wel geoptimaliseerde drivers maar dit ook zijn doorgaans proprietary drivers die niet in de open source repository aanwezig zijn. Naast NVIDIA's eigen drivers zijn er her en der door de Linux community aangepaste drivers die óók een betere ondersteuning bieden, maar deze worden niet met elke kernel release (tijdig) bijgewerkt en vallen ook niet onder de open source libraries.
Kortweg betekent het dus dat (lang) niet alle NVIDIA videokaarten/adapters (goed) werken met open source drivers.
Er zijn meerdere wegen die naar Rome leiden en dat geldt ook in dit geval: Het is (meestal) mogelijk om met parameters een niet werkende NVIDIA videokaart alsnog te laten werken, soms echter met een beperking (meestal niet belemmerend voor Facet). Op deze pagina bespreken we deze parameters en geven er uitleg bij.
Mogelijke parameters
nomodeset
De parameter nomodeset voorkomt dat de kernel de videomodus instelt.
Hierdoor wordt de resolutie soms beperkt, maar kan het in sommige gevallen een oplossing zijn voor grafische problemen. Afhankelijk van het systeem zal de resolutie beperkt (kunnen) zijn tot 1024x768 maar soms wordt ook 1920x1080 ingesteld op nieuwere systemen.
Afnames zijn dan in de regel wel mogelijk.
nouveau.modeset=0
Dit schakelt de automatische videomodusdetectie van de open-source nouveau-driver uit. Het kan handig zijn als de standaard nouveau-driver problemen veroorzaakt, maar hou er rekening mee dat dit ook de grafische prestaties kan beperken.
Vooral de resolutie zal beperkt zijn tot (meestal) 1024x768 of 1280x1024.
video=1920x1080
Als er een specifieke resolutie geforceerd moet worden, zoals 1920x1080, kunt u dit expliciet opgeven in de GRUB-configuratie (bcld.cfg of PXE append). Dit is nuttig als de open-source driver niet de juiste resolutie detecteert. (Bij voorkeur wordt de resolutie parameter van Facet gebruikt).
nomodeset modprobe.blacklist=nouveau
Als u geen gebruik wilt maken van de nouveau-driver en in plaats daarvan op een fallback-oplossing (zoals de framebuffer) wilt vertrouwen, kunt u nomodeset samen met het blacklist(en) van de nouveau-driver gebruiken.
Als parameter ziet dit er als volgt uit:
nomodeset modprobe.blacklist=nouveau
nomodeset video=1920x1080|
Soms werkt het om een parameter combinatie te maken zoals nomodeset video=1920x1080.
Dit is geen garantie en lang niet alle systemen 'snappen' dit.
Nieuwere generatie Quadro en RTX
Het is vaak lastig om een nieuwe generatie **NVIDIA RTX-videokaart of Quadro videokaart** werkend te krijgen in een **open-source Ubuntu-omgeving** zoals BCLD, maar dit kan lastiger zijn omdat BCLD geen **proprietary** (gesloten bron) NVIDIA-drivers bevat en geen mogelijkheid biedt om extra drivers te installeren.
Standaard werkt een NVIDIA RTX-kaart of Quadro videokaart **niet goed met de open-source "Nouveau"-driver**. Zelfs met **nomodeset** krijg je vaak geen beeld.
Waarom werkt een NVIDIA RTX-kaart of Quadro kaart niet standaard in BCLD?
**Nouveau is beperkt**: NVIDIA geeft **geen officiële firmware** vrij voor de nieuwste kaarten, dus de open-source driver mist belangrijke functies.
**Secure Boot en kernel-handtekeningen**: In sommige gevallen kunnen de standaard drivers in BCLD niet correct laden door Secure Boot-beperkingen.
**Geen proprietary NVIDIA-driver**: BCLD gebruikt alleen open-source software en kan de officiële NVIDIA-drivers niet installeren.
nouveau.modeset=1 nouveau.config=NvGrUseFW=1
Nouveau inschakelen met parameter
Hoewel de open-source **Nouveau**-driver standaard aanwezig is, kan het zijn dat de BCLD-omgeving hem niet goed laadt. Je kunt proberen de volgende bootopties toe te voegen: nouveau.modeset=1 nouveau.config=NvGrUseFW=1
Waarom werkt dit soms?
`nouveau.modeset=1` dwingt de open-source driver om beeldmodusbeheer te activeren.
`nouveau.config=NvGrUseFW=1` helpt bij het laden van firmware voor de GPU, die soms nodig is voor RTX-kaarten en Quadro kaarten.
nomodeset vga=791
VESA-modus afdwingen als laatste redmiddel
Als echt niets werkt, kun je proberen de **VESA-generic driver** te forceren. Dit zal **vaak** beeld geven. Voeg de volgende kernel parameter toe:
nomodeset vga=791
Dit dwingt een **generieke 1024x768 VESA-modus** af. Niet ideaal, maar je krijgt in elk geval beeld.
Intel ARC/Xe videokaarten
Intel heeft sinds 2022 de ARC videokaarten in gebruik. Deze serie videokaarten zijn door Intel zelf ontwikkeld en zijn gebaseerd op de Xe GPU architectuur. In de basis werd ARC in de markt gezet om dienst te doen als een ‘high-end’ alternatief voor concurrenten merken als AMD en NVIDIA. Inmiddels zijn er meerdere series ARC videokaarten, zowel voor higher-end toepassingen (gaming, grafische toepassingen) maar ook voor de meer entry-level toepassingen waar grafische kracht minder van toepassing is. Ook scholen schaffen steeds vaker laptops aan waar een ARC GPU in aanwezig is.
Sinds kernel 6.8 heeft Ubuntu ondersteuning voor ARC en XE videokaarten. De BCLD heeft inmiddels ook ondersteuning voor ARC/Xe videokaarten doordat er volledig nieuwe Intel kernel drivers zijn toegevoegd met ondersteuning voor deze ARC/Xe videokaarten.
Mogelijke parameters
Dit betekent dat nieuwere machines met ARC/Xe videokaarten gebruik kunnen maken van de BCLD. Normaliter hoeft er geen aanpassing aan de BCLD te worden gemaakt, maar mocht er onverhoeds toch een probleem zijn (bijvoorbeeld zwart beeld), dan kan er gebruik worden gemaakt van bepaalde parameters. Deze parameters zijn een combinatie van twee parameters:
i915.force_probe=!
xe.force_probe=
voorbeeld: Is de GPU code 56a2, dan is de parameter i915.force_probe=!56a2 xe.force_probe=56a2. Heeft uw machine een andere GPU code? Vul hier dan deze GPU code in.
Werkt dit niet, dan moet nomodeset als parameter worden gebruikt.