Perché X non riesce a trovare il mio driver vboxvideo?


10

Sto eseguendo Fedora 25 come ospite in VirtualBox 5.1.14 su un host Windows 10. Ho installato xorg-x11-server-Xorg e le aggiunte guest VBox (usando l'ISO fornito da VirtualBox stesso). Le aggiunte guest sono state installate correttamente, dopo aver forzato le versioni corrette dell'intestazione del kernel con dnf install kernel-devel-$(uname -r) kernel-headers-$(uname -r). Non ci sono errori nel registro di installazione di VBGA. dmesg mostra che vboxvideo è stato caricato, systemctl mostra che vboxadd-service è in esecuzione, vboxadd-x11 attivo / uscito. L'accelerazione 3D è abilitata nelle impostazioni della VM.

Tuttavia, quando provo ad avviare X, ottengo (EE) Failed to load module "vboxvideo" (module does not exist, 0). Ho riavviato più volte, ho reinstallato VBGA e X più volte, si rifiuta di funzionare. Molte, molte, molte ricerche hanno riscontrato molte istanze di questo problema, ma la maggior parte sembra ruotare attorno a a) installazione di VBGA da un pacchetto invece dell'ISO incluso (ma ho usato l'ISO), b) VBGA che non si installa correttamente ( ma è stato installato correttamente una volta che avevo le intestazioni giuste e sembra essere in esecuzione), oppure c) un /etc/X11/xorg.conf (che raccomandano di eliminare, ma non ne ho uno per cominciare). Il resto è per versioni molto più vecchie di VBox di quelle che sto usando e sono state riparate con un semplice aggiornamento di VBox.

Perché X non riesce a trovare il driver vboxvideo e come posso raddrizzarlo?


Ho lo stesso problema con un guest Arch in 5.0.18 dove ho installato il virtualbox-guest-utilspacchetto ma ottengo lo stesso errore (non riesco a trovare vboxvideo) all'avvio di X. Ho anche notato che il file /usr/lib/xorg/modules/drivers/vboxvideo_drv.sosembra mancare mentre /usr/lib/xorg/modules/dri/vboxvideo_dri.soè presente.
Jake,

Risposte:


3

Ho creato un account solo perché avevo gli stessi problemi e ho scoperto alcune cose che potrebbero aiutare gli altri.

Quindi, per iniziare, sto eseguendo una VM CentOS 7 in VirtualBox 4.xx e il driver video è riconosciuto con le aggiunte dei miei ospiti che funzionano quasi completamente (il ridimensionamento automatico è ancora rotto ma per ora posso convivere con questo).

Acquisizione di funzionalità video in una VM CentOS 7 (può essere modificata per applicare anche ad altre distribuzioni Linux):

1. Scarica e installa una versione compatibile di VirtualBox Guest Additions

A. Scarica una versione, più recente o creata per il programma host VirtualBox attualmente installato

Cerca nel repository di download di VirtualBox: https://download.virtualbox.org/virtualbox/

Dopo aver selezionato una cartella, cerca il file "VBoxGuestAdditions x.xx.iso" e scaricalo

B. Installa le dipendenze di Guest Additions

Avviare la VM e montare il file .iso scaricato come dispositivo CD / DVD nel riquadro Dispositivi VM.

Esistono alcuni prerequisiti per l'installazione di Guest Additions disponibili tramite il programma di repository software nativo del sistema operativo.

Per Linux basato su RHEL, utilizzare quanto segue con "yum":

yum update
yum install epel-release
yum install gcc binutils make patch libgomp glibc-headers glibc-devel kernel kernel-devel kernel-headers
yum install dkms

Assicurati di digitare "yes" per i comandi di installazione o usa il flag di opzione "-y"

C. Installa aggiunte guest

Aprire un terminale e utilizzare il comando "cd" per accedere alla radice della cartella CD / DVD.

Eseguire il comando seguente per avviare il programma di installazione:

sudo sh VBoxLinuxAdditions.run

Se la compilazione del modulo del kernel di Guest Additions principale non riesce, assicurarsi che tutti i prerequisiti siano stati installati correttamente. Altrimenti, reinstallarli e tentare di eseguire nuovamente il programma di installazione.

2. Ottenere, compilare e installare il driver "vboxvideo"

A. Download dei file di origine per la compilazione

Il file nel collegamento seguente è un tarball compresso dei file di origine del driver "vboxvideo":

https://cgit.freedesktop.org/xorg/driver/xf86-video-vbox/snapshot/xf86-video-vbox-ab07f97612d045d8c0a376174b39a294d028fef2.tar.xz

B. Compilazione e installazione del driver "vboxvideo"

Decomprimi i file scaricati e naviga nel terminale nella cartella "xf86-video-vbox -..."

Eseguire quanto segue nel terminale:

sudo sh autogen.sh --prefix=/usr --with-xorg-module-dir=/usr/lib64/xorg/modules/drivers
sudo make && sudo make install      

Questi comandi installeranno due file "vboxvideo_drv.so" e "vboxvideo_drv.la" nella directory del modulo Xorg. Nota: il modulo del kernel "vboxvideo.ko" è installato con Guest Additions e non deve essere modificato per questo.

3. Impostazione della configurazione di X Server

A. Creazione / download del file Xorg.conf

VirtualBox Guest Additions è configurato per generare il proprio file Xorg.conf al termine dell'installazione. Questo processo è difettoso in alcune versioni. Di seguito è riportato un collegamento a un file Xorg.conf funzionante.

https://drive.google.com/file/d/1y_f5od59sv3eeHGu01PorpvlnBfvum0M/view

B. Inserimento del file " Xorg.conf " per l'uso

Una volta scaricato o copiato, copia il file nella cartella X11.

sudo cp xorg.conf/etc/X11/

C. Procedure di chiusura

Riavviare la VM dall'interno del sistema operativo guest e consentirne l'avvio completo. Ora dovrebbero esserci video e altre funzionalità per gli ospiti.

Per verificarlo, accedi al sistema operativo e apri il menu Impostazioni nella sezione Display.

L'etichetta del monitor dovrebbe contenere "VBX" e facendo clic sull'etichetta sarà possibile regolare la risoluzione dello schermo.

Note aggiuntive:

I. "Schermo nero / congelato all'avvio"

Se la procedura di avvio si blocca dopo aver completato la guida, passare a una finestra del terminale diversa premendo contemporaneamente i tasti "Alt" e "Fx" dove x è un numero compreso tra 2-6 (ovvero "Alt-F2").

Questo aprirà un login utente tramite un'interfaccia CLI.

Accedere al terminale e utilizzare il seguente comando per controllare il registro " Xorg ":

sudo less /var/log/Xorg.0.log

Cerca eventuali voci relative al dispositivo " vboxvideo ".

- Per eventuali problemi "Non trovato":

Verificare che il file "vboxvideo_drv.so" compilato nel passaggio 2b sia nella cartella corretta.

- Per eventuali problemi di "Versione incompatibile":

Verificare che il file "vboxvideo_drv.so" corretto sia stato compilato nel passaggio 2b poiché si intende che sia compatibile con l'ultima versione dell'X server disponibile su CentOS 7. (1.19.3 - Ver (23))

La versione attuale di X Server si trova usando il comando:

X -version

- Per qualsiasi problema relativo alla sintassi errata in " Xorg.conf ":

Verificare che il file " Xorg.conf " nel passaggio 3A corrisponda a quello nella cartella " / etc / X11 / " sul sistema operativo guest.

II. "Razionale alla base del processo"

As it turns out, the VirtualBox Guest Additions has driver files for the X Server up to X 1.18 Ver(20) included natively. Oddly enough, these files should be included in the latest version of the Guest Additions for the latest stable release of the VirtualBox host client.

Questi file di driver erano disponibili da un repository di OpenIndiana per una versione open source del proprio sistema operativo basato su Solaris, che era ancora utilizzabile in Linux basato su RHEL. Sono inclusi alcuni link di riferimento e ulteriore supporto.

https://pkg.openindiana.org/hipster/manifest/0/x11%2Fserver%2Fxorg%2Fdriver%2Fxorg-video-vboxvideo%401.0.1%2C5.11-2018.0.0.1%3A20180212T053651Z
https://gist.github.com/yvt/a1fd215609c0f1e5a85c7562103f3e65
https://www.openindiana.org/2017/11/11/virtualbox-video-driver-compatible-with-xorg-1-19-5-available/

2

Se ti trovi sul server Xorg 1.19. *, Le aggiunte guest VBox 5.1.14 non supportano Xorg 1.19 o pensano che non sia necessario vboxvideo * .so con Xorg 1.19. *. Ecco cosa ho trovato ...

La ISO 5.1.14 ha creato /opt/VBoxGuestAdditions-5.1.14/lib/VBoxGuestAdditions contenente molti file vboxvideo_drv _ *. Così (dove "*" è un numero di 2 o 3 cifre). Inoltre, ci sono collegamenti simbolici che puntano a questa directory da / lib / VBoxGuestAdditions, / lib64 / VBoxGuestAdditions, / usr / lib / VBoxGuestAdditions e / usr / lib64 / VBoxGuestAdditions. Esiste uno script /opt/VBoxGuestAdditions-5.1.14/lib/VBoxGuestAdditions/vobxadd-x11, che arriva solo alla versione Xorg 1.18. * E il file vboxvideo_drv con il numero più alto è vboxvideo_drv_118.so.

Cordiali saluti, ho Xorg server 1.19.3, e fallisce allo stesso modo del sistema del PO.

22JUL2017: Ho provato usando vboxvideo_drv_118.so con il server Xorg 1.19.3. Ha segnalato il caricamento di vboxvideo, quindi non è riuscito con "(EE) vboxvideo: la versione principale del modulo ABI (20) non corrisponde alla versione del server (23)" e vboxvideo non caricato. Quindi VirtualBox 5.1.14 sicuramente non fornisce un vboxvideo * .so compatibile con Xorg 1.19.

Ho anche trovato https://bugs.archlinux.org/task/52704 che parla del fatto che fbdev dovrebbe essere un fallback, ma che è stato recentemente rotto dalle patch 3 e 4.

Qualcuno con l'ultimo VBox può controllare il proprio script vboxadd-x11, per favore?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.