Difference between revisions of "Virtualbox 3d acceleration"

From Studiosg
Jump to navigationJump to search
(Aggiunto i tag SEO ed i template e aggiornato i collegamenti)
Line 1: Line 1:
Benvenuti nella pagina Wiki di Simone Giustetti.
+
{{header_it|title=StudioSG - VirtualBox e accelerazione 3-D| keyword={{Template:Keyword_it_virtualbox}}| description=Come abilitare l'accelerazione 3-D per una macchina virtuale condigurata in Virtualbox | link_page=en/virtualbox_3d_acceleration}}
 
 
 
 
Lingue: [http://www.giustetti.net/wiki/index.php?title=En/virtualbox_3d_acceleration English] - '''Italiano'''
 
 
 
----
 
 
 
  
 
== Accelerazione 3-D in Virtualbox ==
 
== Accelerazione 3-D in Virtualbox ==
 
  
 
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.
Line 22: Line 15:
  
  
== 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ì 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ì aperta si selezioni l'opzione Display ed infine si spunti l'opzione "Enable 3D Acceleration".
Line 31: Line 24:
 
Avviata la macchina virtuale, si apra il menù Devices e si selezioni l'opzione Devices->CD/DVD Devices->VboxGuestAdditions.iso.
 
Avviata la macchina virtuale, si apra il menù 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
+
   '''mount''' /mnt/cdrom
  
Spostandoci nella directory /mnt/cdrom il comando ls -la dovrebbe rendere l'elenco degli eseguibili:
+
Spostandoci nella directory ''/mnt/cdrom'' il comando ls -la dovrebbe rendere l'elenco degli eseguibili:
   root@darkstar04:~# ls -la /mnt/cdrom/
+
   '''ls''' ''-la'' /mnt/cdrom/
 
   total 30226
 
   total 30226
 
   dr-xr-xr-x  4 root root    2048 2010-06-08 13:19 .
 
   dr-xr-xr-x  4 root root    2048 2010-06-08 13:19 .
Line 50: Line 43:
  
 
Si lanci il pacchetto adatto all'architettura della macchina virtuale. VBoxLinuxAdditions-x86.run per macchina virtuale a 32 bit e VBoxLinuxAdditions-x86.run per una a 64.
 
Si lanci il pacchetto adatto all'architettura della macchina virtuale. VBoxLinuxAdditions-x86.run per macchina virtuale a 32 bit e VBoxLinuxAdditions-x86.run per una a 64.
   root@darkstar04:~# bash ./VBoxLinuxAdditions-x86.run
+
   '''bash''' ./VBoxLinuxAdditions-x86.run
  
Il programma di installazione provvederà a compliare ed installare i moduli necessari rendendo a video un eloquente resoconto delle operazioni eseguite.
+
Il programma di installazione provvederà a compilare 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à una scansione dello hardware e produrrà 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à una scansione dello hardware e produrrà un file xorg.conf adeguato.
  
  
== Configurazione della macchina virtuale ==
+
== Configurazione della Macchina Virtuale ==
  
 
Per alcune distribuzioni Linux, l'esecuzione dei due passi precedenti è sufficiente per abilitare la funzionalità di accelerazione. In Slackware, a causa di una disomogeneità dei percorsi ove vengono installati driver e librerie, bisogna eseguire ancora alcune operazioni.
 
Per alcune distribuzioni Linux, l'esecuzione dei due passi precedenti è sufficiente per abilitare la funzionalità di accelerazione. In Slackware, a causa di una disomogeneità 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à 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 frame rate. Lanciato, il programma '''glxgears''' renderà un frame rate 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à 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à 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:
  object file: No such file or directory)
+
  cannot open shared 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à ricorso al rendering software.
 
Il messaggio specifica che non essendo stato trovato il driver opportuno il sistema farà 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
   ln -s /usr/lib/VBoxOGL.so /usr/lib/xorg/modules/dri/vboxvideo_dri.so
+
   '''ln''' ''-s'' /usr/lib/VBoxOGL.so /usr/lib/xorg/modules/dri/vboxvideo_dri.so
  
 
Si riavvii quindi il server X.
 
Si riavvii quindi il server X.
Line 84: Line 77:
 
Aggiungere l'utente al gruppo ''video''
 
Aggiungere l'utente al gruppo ''video''
  
Impostare i permessi 0666 per il modulo dri di X modificando opportunamente il file /etc/X11/xorg.conf
+
Impostare i permessi 0666 per il modulo dri di X modificando opportunamente il file ''/etc/X11/xorg.conf''
  
Verificare che le regole di creazione dei device file relativi a Virtualbox non siano apannaggio esclusivo di root. Nella directory /etc/udev/rules.d dovrebbe esistere il file 60-vboxadd.rules il quale dovrebbe contenere due righe:
+
Verificare che le regole di creazione dei device file relativi a Virtualbox non siano appanaggio esclusivo di root. Nella directory ''/etc/udev/rules.d'' dovrebbe esistere il file 60-vboxadd.rules il quale dovrebbe contenere due righe:
 
   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"
Line 96: Line 89:
  
 
Link esterni
 
Link esterni
 +
 
----
 
----
 +
 
* [http://www.virtualbox.org/ Home page del progetto Virtualbox]
 
* [http://www.virtualbox.org/ Home page del progetto Virtualbox]
 
* [http://it.wikipedia.org/wiki/VirtualBox La pagina Wikipedia relativa a Virtualbox]
 
* [http://it.wikipedia.org/wiki/VirtualBox La pagina Wikipedia relativa a Virtualbox]
 
  
 
----
 
----
  
Lingue: [http://www.giustetti.net/wiki/index.php?title=En/virtualbox_3d_acceleration English] - '''Italiano'''
+
{{footer_it | link_page=en/virtualbox_3d_acceleration}}

Revision as of 09:52, 29 December 2016

Benvenuti nella pagina Wiki di Simone Giustetti.


Lingue: English - Italiano


Accelerazione 3-D in Virtualbox

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 è 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 è 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 "opportunamente configurato" può usufruire dell'accelerazione grafica hardware.

Si supponga di utilizzare il pacchetto ufficiale di Virtualbox scaricato dal sito:

  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 è stato installato un sistema operativo Linux Slackware versione 13.1: l'ultima release stabile. Per abilitare l'accelerazione 3-D è necessario eseguire le seguenti operazioni:


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ì aperta si selezioni l'opzione Display ed infine si spunti l'opzione "Enable 3D Acceleration".


Installare le Guest Addin

Avviata la macchina virtuale, si apra il menù 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:

  mount /mnt/cdrom

Spostandoci nella directory /mnt/cdrom il comando ls -la dovrebbe rendere l'elenco degli eseguibili:

  ls -la /mnt/cdrom/
  total 30226
  dr-xr-xr-x  4 root root     2048 2010-06-08 13:19 .
  drwxr-xr-x 10 root root     4096 2006-09-26 05:09 ..
  dr-xr-xr-x  3 root root     2048 2010-06-08 13:19 32Bit
  dr-xr-xr-x  2 root root     2048 2010-06-08 13:19 64Bit
  -r-xr-xr-x  1 root root      222 2010-06-02 18:33 AUTORUN.INF
  -r-xr-xr-x  1 root root  3276240 2010-06-08 13:10 VBoxLinuxAdditions-amd64.run
  -r-xr-xr-x  1 root root  2825676 2010-06-08 13:18 VBoxLinuxAdditions-x86.run
  -r-xr-xr-x  1 root root 11205632 2010-06-08 13:09 VBoxSolarisAdditions.pkg
  -r-xr-xr-x  1 root root  7657512 2010-06-08 13:04 VBoxWindowsAdditions-amd64.exe
  -r-xr-xr-x  1 root root  5691768 2010-06-08 13:01 VBoxWindowsAdditions-x86.exe
  -r-xr-xr-x  1 root root   277008 2010-06-08 13:00 VBoxWindowsAdditions.exe
  -r-xr-xr-x  1 root root     4890 2010-06-08 13:14 autorun.sh

Si lanci il pacchetto adatto all'architettura della macchina virtuale. VBoxLinuxAdditions-x86.run per macchina virtuale a 32 bit e VBoxLinuxAdditions-x86.run per una a 64.

  bash ./VBoxLinuxAdditions-x86.run

Il programma di installazione provvederà a compilare 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à una scansione dello hardware e produrrà un file xorg.conf adeguato.


Configurazione della Macchina Virtuale

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

1 – Basso frame rate. Lanciato, il programma glxgears renderà un frame rate 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à 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 object file: No such file or directory)
  (EE) AIGLX: reverting to software rendering

Il messaggio specifica che non essendo stato trovato il driver opportuno il sistema farà 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:

  ln -s /usr/lib/xorg/modules/dri /usr/lib/dri
  ln -s /usr/lib/VBoxOGL.so /usr/lib/xorg/modules/dri/vboxvideo_dri.so

Si riavvii quindi il server X. Si potrà subito constatare un miglioramento nel frame rate che dovrebbe ora aggirarsi sui 1500 frame al secondo. Il log file della sessione conterrà ora le stringhe:

  (EE) AIGLX error: vboxvideo does not export required DRI extension
  (EE) AIGLX: reverting to software rendering

che non sembrano creare effettivi problemi al processo.

Le operazioni sin qui descritte devono essere eseguite dall'utente root. Per garantire che l'accelerazione 3-D funzioni anche per con permessi inferiori si deve:

Aggiungere l'utente al gruppo video

Impostare i permessi 0666 per il modulo dri di X modificando opportunamente il file /etc/X11/xorg.conf

Verificare che le regole di creazione dei device file relativi a Virtualbox non siano appanaggio esclusivo di root. Nella directory /etc/udev/rules.d dovrebbe esistere il file 60-vboxadd.rules il quale dovrebbe contenere due righe:

  KERNEL=="vboxguest", NAME="vboxguest", OWNER="root", MODE="0660"
  KERNEL=="vboxuser", NAME="vboxuser", OWNER="root", MODE="0666"

nel caso il file non sia presente lo si dovrà creare e popolare con le righe riportare sopra.


Per commenti, consigli, domande inviate una e-mail all'indirizzo studiosg [chiocciola] giustetti [punto] net.


Link esterni





Lingue: English - Italiano