Virtualbox 3d acceleration: Difference between revisions

No edit summary
No edit summary
Line 10: Line 10:





Nel corso dell'articolo vedremo come '''abilitare l'accelerazione grafica 3-D''' per una macchina virtuale su cui sia installata una distribuzione Slackware Linux.
Nel corso dell'articolo vedremo come '''abilitare l'accelerazione grafica 3-D''' per una macchina virtuale su cui sia installata una distribuzione Slackware Linux.





Virtualbox <nowiki>&egrave;</nowiki> un prodotto di virtualizzazione: un programma in grado di creare Pc virtuali su cui installare un sistema operativo e far girare programmi come se si trattasse di macchine reali. Tra le molte caratteristiche che Virtualbox emula vi <nowiki>&egrave;</nowiki> l'accelerazione 3-D; aggiunta ufficialmente con la versione 2.x del programma.
Virtualbox &egrave; un prodotto di virtualizzazione: un programma in grado di creare Pc virtuali su cui installare un sistema operativo e far girare programmi come se si trattasse di macchine reali. Tra le molte caratteristiche che Virtualbox emula vi &egrave; l'accelerazione 3-D; aggiunta ufficialmente con la versione 2.x del programma.
Dato un sistema ospite '''dotato dell'opportuno hardware''', il sistema virtuale ospitato <nowiki>&quot;</nowiki>opportunamente configurato<nowiki>&quot;</nowiki> pu<nowiki>&ograve;</nowiki> usufruire dell'accelerazione grafica hardware.
Dato un sistema ospite '''dotato dell'opportuno hardware''', il sistema virtuale ospitato &quot;opportunamente configurato&quot; pu&ograve; usufruire dell'accelerazione grafica hardware.


Si supponga di utilizzare il pacchetto ufficiale di Virtualbox scaricato dal sito:
Si supponga di utilizzare il pacchetto ufficiale di Virtualbox scaricato dal sito:
   http://www.virtualbox.org/wiki/Downloads
   http://www.virtualbox.org/wiki/Downloads



Si supponga inoltre di aver installato il software sul sistema ospite ed aver creato una macchina Linux virtuale. Sulla macchina virtuale <nowiki>&egrave;</nowiki> stato installato un sistema operativo Linux Slackware versione 13.1: l'ultima release stabile. Per abilitare l'accelerazione 3-D <nowiki>&egrave;</nowiki> necessario eseguire le seguenti operazioni:
Si supponga inoltre di aver installato il software sul sistema ospite ed aver creato una macchina Linux virtuale. Sulla macchina virtuale &egrave; stato installato un sistema operativo Linux Slackware versione 13.1: l'ultima release stabile. Per abilitare l'accelerazione 3-D &egrave; necessario eseguire le seguenti operazioni:




== Abilitare la funzionalità nella configurazione della macchina. ==
== Abilitare la funzionalità nella configurazione della macchina. ==


Aperta la console di Virtualbox si selezioni la macchina desiderata e si apra la finestra delle opzioni mediante click del mouse sul pulsante Settings. Nella maschera cos<nowiki>&igrave;</nowiki> aperta si selezioni l'opzione Display ed infine si spunti l'opzione "Enable 3D Acceleration".
Aperta la console di Virtualbox si selezioni la macchina desiderata e si apra la finestra delle opzioni mediante click del mouse sul pulsante Settings. Nella maschera cos&igrave; aperta si selezioni l'opzione Display ed infine si spunti l'opzione "Enable 3D Acceleration".




== Installare le Guest Addin ==
== Installare le Guest Addin ==


Avviata la macchina virtuale, si apra il men<nowiki>&ugrave;</nowiki> Devices e si selezioni l'opzione Devices->CD/DVD Devices->VboxGuestAdditions.iso.
Avviata la macchina virtuale, si apra il men&ugrave; Devices e si selezioni l'opzione Devices->CD/DVD Devices->VboxGuestAdditions.iso.
Dopo essersi collegati come '''utente root''' sul sistema si esegua il mount del cdrom tramite il comando:
Dopo essersi collegati come '''utente root''' sul sistema si esegua il mount del cdrom tramite il comando:
   root@darkstar04:~# mount /mnt/cdrom
   root@darkstar04:~# mount /mnt/cdrom
Line 52: Line 52:
   root@darkstar04:~# bash ./VBoxLinuxAdditions-x86.run
   root@darkstar04:~# bash ./VBoxLinuxAdditions-x86.run


Il programma di installazione provveder<nowiki>&agrave;</nowiki> a compliare ed installare i moduli necessari rendendo a video un eloquente resoconto delle operazioni eseguite.
Il programma di installazione provveder&agrave; a compliare ed installare i moduli necessari rendendo a video un eloquente resoconto delle operazioni eseguite.
Terminata l'installazione si provi a lanciare una sessione grafica. La versione di X distribuita con Slackware 13.1 dovrebbe essere in grado di avviarsi senza che sia presente un file /etc/X11/xorg.conf. In caso di problemi si provveda a creare detto file lanciando il comando xorgsetup e rispondendo ad alcune semplici domande. Il comando eseguir<nowiki>&agrave;</nowiki> una scansione dello hardware e produrr<nowiki>&agrave;</nowiki> un file xorg.conf adeguato.
Terminata l'installazione si provi a lanciare una sessione grafica. La versione di X distribuita con Slackware 13.1 dovrebbe essere in grado di avviarsi senza che sia presente un file /etc/X11/xorg.conf. In caso di problemi si provveda a creare detto file lanciando il comando xorgsetup e rispondendo ad alcune semplici domande. Il comando eseguir&agrave; una scansione dello hardware e produrr&agrave; un file xorg.conf adeguato.




== 




Configurazione della macchina virtuale ==
== Configurazione della macchina virtuale ==


 
Per alcune distribuzioni Linux, l'esecuzione dei due passi precedenti &egrave; sufficiente per abilitare la funzionalit&agrave; di accelerazione. In Slackware, a causa di una disomogeneit&agrave; dei percorsi ove vengono installati driver e librerie, bisogna eseguire ancora alcune operazioni.
Per alcune distribuzioni Linux, l'esecuzione dei due passi precedenti <nowiki>&egrave;</nowiki> sufficiente per abilitare la funzionalit<nowiki>&agrave;</nowiki> di accelerazione. In Slackware, a causa di una disomogeneit<nowiki>&agrave;</nowiki> dei percorsi ove vengono installati driver e librerie, bisogna eseguire ancora alcune operazioni.
I sintomi del problema sono:
I sintomi del problema sono:


1 – Basso framerate. Lanciato, il programma ''glxgears'' render<nowiki>&agrave;</nowiki> un frame rare di circa 300 frame al secondo. Un valore decisamente basso che evidenzia l'impiego di un driver software e non dell'accelerazione hardware.
1 – Basso framerate. Lanciato, il programma ''glxgears'' render&agrave; un frame rare di circa 300 frame al secondo. Un valore decisamente basso che evidenzia l'impiego di un driver software e non dell'accelerazione hardware.


2 – Il file di log della sessione X, /var/log/X.log.x ove x è un numero compreso tra 0 e 9 che indica la sessione grafica aperta, riporter<nowiki>&agrave;</nowiki> stringhe di errore simili a:
2 – Il file di log della sessione X, /var/log/X.log.x ove x è un numero compreso tra 0 e 9 che indica la sessione grafica aperta, riporter&agrave; stringhe di errore simili a:
   (EE) AIGLX error: dlopen of /usr/lib/xorg/modules/dri/vboxvideo_dri.so failed (/usr/lib/xorg/modules/dri/vboxvideo_dri.so: cannot open shared
   (EE) AIGLX error: dlopen of /usr/lib/xorg/modules/dri/vboxvideo_dri.so failed (/usr/lib/xorg/modules/dri/vboxvideo_dri.so: cannot open shared
   object file: No such file or directory)
   object file: No such file or directory)
   (EE) AIGLX: reverting to software rendering
   (EE) AIGLX: reverting to software rendering
Il messaggio specifica che non essendo stato trovato il driver opportuno il sistema far<nowiki>&agrave;</nowiki> ricorso al rendering software.
Il messaggio specifica che non essendo stato trovato il driver opportuno il sistema far&agrave; ricorso al rendering software.


 
Per ovviare al problema devono essere creati due collegamenti in modo che Virtualbox possa trovare i driver necessari. Si eseguano i seguenti comandi:
Per ovviare al problema devono essere creati due collegamenti in modo che Virtualbox possa trovare i driver necessari. Si eseguano i seguenti comandi:
   ln -s /usr/lib/xorg/modules/dri /usr/lib/dri
   ln -s /usr/lib/xorg/modules/dri /usr/lib/dri
Line 75: Line 74:


Si riavvii quindi il server X.
Si riavvii quindi il server X.
Si potr<nowiki>&agrave;</nowiki> subito constatare un miglioramento nel frame rate che dovrebbe ora aggirarsi sui 1500 frame al secondo.
Si potr&agrave; subito constatare un miglioramento nel frame rate che dovrebbe ora aggirarsi sui 1500 frame al secondo.
Il log file della sessione conterr<nowiki>&agrave;</nowiki> ora le stringhe:
Il log file della sessione conterr&agrave; ora le stringhe:
   (EE) AIGLX error: vboxvideo does not export required DRI extension
   (EE) AIGLX error: vboxvideo does not export required DRI extension
   (EE) AIGLX: reverting to software rendering
   (EE) AIGLX: reverting to software rendering
Line 90: Line 89:
   KERNEL=="vboxguest", NAME="vboxguest", OWNER="root", MODE="0660"
   KERNEL=="vboxguest", NAME="vboxguest", OWNER="root", MODE="0660"
   KERNEL=="vboxuser", NAME="vboxuser", OWNER="root", MODE="0666"
   KERNEL=="vboxuser", NAME="vboxuser", OWNER="root", MODE="0666"
nel caso il file non sia presente lo si dovr<nowiki>&agrave;</nowiki> creare e popolare con le righe riportare sopra.
nel caso il file non sia presente lo si dovr&agrave; creare e popolare con le righe riportare sopra.
 
 
Per commenti, consigli, domande inviate una e-mail all'indirizzo ''studiosg [chiocciola] giustetti [punto] net''.