Problemi in questa pagina? Segnalali in questa discussione
Introduzione
PRIME è una tecnologia utile per la gestione della grafica ibrida in Ubuntu e derivate ufficiali.
Tramite il procedimento di seguito riportato, sarà possibile abilitare la scheda video dedicata ATI/AMD o Nvidia quando necessario e senza riavviare il PC.
PRIME funziona con i driver open source Radeon, Amdgpu, Intel e Nouveau ed è utilizzabile su PC con le seguenti caratteristiche:
Intel/AMD: processore integrato Intel (IGP) e scheda video dedicata ATI/AMD.
AMD/AMD: APU e scheda video dedicata ATI/AMD.
Intel/Nvidia: processore integrato Intel (IGP) e scheda video dedicata Nvidia.
Per gestire la grafica ibrida con schede video Nvidia, è possibile consultare anche la pagina NvidiaOptimus.
Per schede video Nvidia con sistema di gestione Mux, è possibile utilizzare vga_switcheroo.
PRIME è l'unico metodo utilizzabile per gestire il più vecchio sistema a grafica ibrida Intel/AMD Mux (probabilmente utilizzato per le schede video ATI/AMD fino alla serie Radeon HD 5xxx compresa).
Preparazione
Identificare i processori grafici presenti nel PC, digitando il seguente comando nel terminale:
xrandr --listproviders
Verrà visualizzato un testo simile al seguente, specifico per la propria configurazione hardware:Intel/AMD:
Providers: number : 2 Provider 0: id: 0x7d cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 3 outputs: 4 associated providers: 1 name:Intel Provider 1: id: 0x56 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 1 associated providers: 1 name:radeon
Intel/Nvidia:
Providers: number : 2 Provider 0: id: 0x8a cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 2 outputs: 2 associated providers: 1 name:Intel Provider 1: id: 0x66 cap: 0x7, Source Output, Sink Output, Source Offload crtcs: 2 outputs: 5 associated providers: 1 name:nouveau
Prendere nota degli id specifici dei due processori grafici individuati. Ad esempio:
Intel/AMD: nel comando precedente la scheda integrata Intel riporta l'id 0x7d, mentre la scheda dedicata AMD riporta l'id 0x56.
Intel/Nvidia: nel comando precedente la scheda integrata Intel riporta l'id 0x8a, mentre la scheda dedicata Nvidia riporta l'id 0x66.
Digitare il seguente comando:
xrandr --setprovideroffloadsink ID1 ID2
I termini ID1 e ID2 vanno adattati alla propria configurazione, sostituendoli con gli id precedentemente trovati:
ID1: scheda grafica dedicata ATI/AMD o Nvidia.
ID2: IGP Intel o AMD APU.
In alternativa ai termini ID1 e ID2, è possibile utilizzare i nomi dei driver utilizzati: nouveau, radeon, amdgpu, Intel o altri. Ad esempio:
xrandr --setprovideroffloadsink radeon Intel
Usando una scheda grafica esterna può essere necessario inserire prima l' id della scheda integrata e poi quello della scheda dedicata.
Avviare programmi tramite scheda video dedicata
È ora possibile utilizzare la scheda video dedicata ATI/AMD o Nvidia per avviare le applicazioni che richiedono maggiori performance grafiche. Per farlo, digitare il seguente comando nel terminale:
DRI_PRIME=1 PROGRAMMA
Il termine PROGRAMMA va sostituito con il nome o il percorso del programma che si desidera avviare.
Ad esempio, digitando il comando:
DRI_PRIME=1 openarena
verrà avviato il gioco OpenArena (se installato) utilizzando la scheda video dedicata.
Le altre applicazioni continueranno ad utilizzare il processore integrato IGP, per garantire un minore consumo di energia.
Verifica di funzionamento
Metodo 1: con grafica ibrida Intel/AMD o Intel/Nvidia, verificare il driver in funzione quando si utilizza DRI_PRIME=1, digitando il seguente comando nel terminale:
DRI_PRIME=1 glxinfo | grep "OpenGL renderer string"
Il risultato dovrebbe essere simile al seguente (in questo esempio si tratta di scheda video AMD):
OpenGL renderer string: Gallium 0.4 on AMD HAINAN (DRM 2.49.0 / 4.10.0-22-generic, LLVM 4.0.1)
Metodo 2: con grafica ibrida AMD/AMD, verificare che le performance rilevate da glxgears siano diverse tra la APU e la GPU:
Installare il pacchetto mesa-utils.
Digitare il seguente comando nel terminale per utilizzare glxgears con la APU:
DRI_PRIME=0 vblank_mode=0 glxgears
Digitare il seguente comando per utilizzare glxgears con la scheda video dedicata:
DRI_PRIME=1 vblank_mode=0 glxgears
Usare le uscite della scheda video dedicata
Se la scheda video dedicata possiede delle uscite non accessibili alla prima IGP, è possibile sfruttare Reverse PRIME per utilizzarle.
Digitare il seguente comando nel terminale:
xrandr --setprovideroutputsource ID1 ID2
I termini ID1 e ID2 vanno adattati alla propria configurazione, sostituendoli con gli id precedentemente trovati:
ID1: scheda grafica dedicata ATI/AMD o Nvidia.
ID2: IGP Intel o AMD APU.
In alternativa ai termini ID1 e ID2, è possibile utilizzare i nomi dei driver utilizzati: nouveau, radeon, amdgpu, Intel o altri.
Ora l'uscita della scheda video dedicata dovrebbe essere disponibile in xrandr, digitando un comando simile al seguente:
xrandr --output HDMI-1 --auto --above LVDS1
Risoluzione problemi
XRandR elenca una sola GPU
Rinominare il file xorg.conf digitando il seguente comando nel terminale:
sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.BAK
Rinominare ogni file relativo alle proprie GPU presente in /etc/X11/xorg.conf.d/, come nel punto precedente.
- Riavviare il PC e riprovare.
Finestra o schermo nero
Quando un'applicazione utilizza la scheda video dedicata, può capitare che venga restituita un'immagine nera. In alcuni casi PRIME necessita di un Compositing window manager per funzionare correttamente.
Se si utilizza Xubuntu, è possibile abilitarlo seguendo la procedura seguente:
aprire il Gestore dell Impostazioni;
selezionare Regolazioni del gestore delle finestre→Compositore;
selezionare la voce Abilita la visualizzazione composita.
Schermo nero con Compositori GL-based
Attualmente ci sono problemi con i Compositing window manager GL-based.
Mentre i compositori Xrender-based (Xcompmgr, Xfwm, Compton, Cairo-compmgr e pochi altri) funzionano senza problemi, i compositori GL-based (Mutter/muffin, Compiz, Compton con GLX backend, Kwin e altri) mostrano inizialmente uno schermo nero, come se non ci fosse un compositor in funzione.
È possibile forzare l'immagine ad apparire ridimensionando la finestra dell'applicazione, tuttavia questa soluzione non è pratica e non funziona per applicazioni a schermo intero.