>
<>
<>
= Introduzione =
'''PRIME''' è una tecnologia utile per la gestione della grafica ibrida in Ubuntu e [[http://www.ubuntu-it.org/derivate|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 '''[[Hardware/Video/Amd/Radeon|Radeon]]''', '''[[Hardware/Video/Amd/Amdgpu|Amdgpu]]''', '''[[Hardware/Video/Intel|Intel]]''' e '''[[Hardware/Video/Nvidia/DriverNouveau|Nouveau]]''' ed è utilizzabile su PC con le seguenti caratteristiche:
* '''Intel/AMD''': processore integrato Intel (IGP) e scheda video dedicata ATI/AMD.
* '''AMD/AMD''': [[https://en.wikipedia.org/wiki/AMD_Accelerated_Processing_Unit|APU]] e scheda video dedicata ATI/AMD.
* '''Intel/Nvidia''': processore integrato Intel (IGP) e scheda video dedicata Nvidia.
{{{#!wiki note
Per gestire la grafica ibrida con schede video Nvidia, è possibile consultare anche la pagina [[Hardware/Video/GraficaIbrida/NvidiaOptimus|NvidiaOptimus]].<
>Per schede video Nvidia con sistema di gestione '''Mux''', è possibile utilizzare [[Hardware/Video/GraficaIbrida/Vga_switcheroo|vga_switcheroo]].
}}}
{{{#!wiki note
'''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 =
0. Identificare i processori grafici presenti nel PC, digitando il seguente comando nel [[AmministrazioneSistema/Terminale|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
}}}
0. 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'''.
0. 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
}}}
{{{#!wiki note
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 [[AmministrazioneSistema/Terminale|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 [[Giochi/OpenArena|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 [[AmministrazioneSistema/Terminale|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:
* [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://mesa-utils | mesa-utils]].
* Digitare il seguente comando nel [[AmministrazioneSistema/Terminale|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.
0. Digitare il seguente comando nel [[AmministrazioneSistema/Terminale|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.
0. 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 ==
0. Rinominare il file `xorg.conf` digitando il seguente comando nel [[AmministrazioneSistema/Terminale|terminale]]:{{{
sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.BAK
}}}
0. Rinominare ogni file relativo alle proprie GPU presente in `/etc/X11/xorg.conf.d/`, come nel punto precedente.
0. 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 [[AmbienteGrafico/CompositeManager|Compositing window manager]] per funzionare correttamente.<
>
Se si utilizza Xubuntu, è possibile abilitarlo seguendo la procedura seguente:
0. aprire il '''Gestore dell Impostazioni''';
0. selezionare '''''Regolazioni del gestore delle finestre→Compositore''''';
0. selezionare la voce '''Abilita la visualizzazione composita'''.
== Schermo nero con Compositori GL-based ==
Attualmente ci sono problemi con i [[AmbienteGrafico/CompositeManager|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.
= Ulteriori risorse =
* [[https://wiki.archlinux.org/index.php/PRIME|Prime su ArchWiki]]
* [[http://wiki.ubuntuusers.de/Hybrid-Grafikkarten/PRIME|Prime su wiki.ubuntuusers.de]]
* [[https://wiki.freedesktop.org/nouveau/Optimus/|Prime sulla documentazione di Nouveau]]
* [[Hardware/Video/Amd|Pagina Wiki dedicata alle schede video ATI/AMD]]
* [[Hardware/Video/Amd/Radeon|Pagina Wiki dedicata al driver Radeon]]
* [[Hardware/Video/Amd/Amdgpu|Pagina Wiki dedicata al driver Amdgpu]]
* [[Hardware/Video/Nvidia/DriverNouveau|Pagina Wiki dedicata al driver Nouveau]]
----
CategoryHardware