<<BR>>
<<Indice>>
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?f=46&t=463584";rilasci="18.04 16.04")>>

= Introduzione =

'''PRIME''' è una tecnologia utile per la gestione della grafica ibrida in Ubuntu e [[http://www.ubuntu-it.org/derivate|derivate ufficiali]]. <<BR>>
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]].<<BR>>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.<<BR>>
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.<<BR>>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