News:

è stata rilasciata Zorin OS 17 basata su ubuntu 22.04

Menu principale

Nvidia Optimus su Debian 10

Aperto da tomberry, Mercoledì 13 Maggio 2020, 22:00:54

Discussione precedente - Discussione successiva

tomberry

Ciao a tutti  :ciao:
In seguito alla mia piccola disavventura ed esperienza di questi giorni con la tecnologia Optimus (ovvero la doppia scheda video dei notebook, nella fattispecie Intel-Nvidia), ho pensato di fare cosa gradita nel fare questa mini-guida per abilitare in maniera funzionante la tecnologia Optimus con Bumblebee e i driver Nvidia che si trovano nei repo ufficiali di Debian (in questo caso 10 ovvero Buster)

Il notebook che ho usato per gli esperimenti è un Asus Pro Essential PU551JD, un notebook con qualche anno sulle spalle (classe 2014).
Parto col presupposto che abbiate abilitato sudo sulla vostra distro, nel caso non lo abbiate fatto dovete abilitarlo o eseguire i comandi che richiedono sudo come root.
Il sistema seguente funziona anche su Ubuntu e derivate (almeno in teoria, io l'ho testato su Debian 10 Buster).

Ora, per prima cosa verifichiamo che schede video sono presenti sul nostro computer, apriamo un terminale e inseriamo:
lspci | egrep 'VGA|3D'

Il risultato sarà simile al seguente (questo ovviamente è il mio), con le voci relative sia alla scheda Intel integrata che quella Nvidia:
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 3D controller: NVIDIA Corporation GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (rev ff)


Ora (nel caso non lo abbiate già fatto) modifichiamo il file sources.list, abilitando i repository contrib e non-free oltre ai backports (io uso come editor gedit):
sudo gedit /etc/apt/sources.list

Copiamo e incolliamo la lista dei repository così composta:
# Principale per Debian 10 (Buster)
deb http://deb.debian.org/debian buster main contrib non-free
deb-src http://deb.debian.org/debian buster main contrib non-free
# Aggiornamenti di sicurezza per Debian 10 (Buster)
deb http://security.debian.org/ buster/updates main contrib non-free
deb-src http://security.debian.org/ buster/updates main contrib non-free
# Aggiornamenti raccomandati per Debian 10 (Buster)
deb http://deb.debian.org/debian buster-updates main contrib non-free
deb-src http://deb.debian.org/debian buster-updates main contrib non-free
# Backports per Debian 10 (Buster)
deb http://deb.debian.org/debian buster-backports main contrib non-free
deb-src http://deb.debian.org/debian buster-backports main contrib non-free


Salviamo e chiudiamo il file, dopodichè abilitiamo il supporto all'architettura i386 (x86):
sudo dpkg --add-architecture i386

Adesso aggiorniamo la lista dei pacchetti e il sistema:
sudo apt update ; sudo apt upgrade -y

Puliamo il sistema da eventuali pacchetti presenti per nvidia (è solo una precauzione, se non c'è nulla non verrà rimosso nulla, per esempio se avete appena fatto una installazione pulita):
sudo apt remove --purge nvidia* libnvidia* bumblebee* primus* -y

Aggiungiamo i driver nouveau alla blacklist (dato che andremo a usare quelli nvidia ed evitiamo che vadano in conflitto le configurazioni):
echo "blacklist nouveau" | sudo tee/etc/modprobe.d/blacklist.conf

Riavviamo il sistema (possiamo farlo anche da terminale):
sudo reboot




Ora andiamo ad installare nvidia-detect per sapere quali driver installare sul nostro sistema (variano in base alla scheda video presente) e lanciamo il comando:
sudo apt install nvidia-detect ; nvidia-detect

Nel mio caso viene consigliato il driver nvidia-legacy-390xx-driver:
Detected NVIDIA GPUs:
01:00.0 3D controller [0302]: NVIDIA Corporation GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] [10de:1140] (rev ff)

Checking card: NVIDIA Corporation GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (rev ff)
Your card is only supported up to the 390 legacy drivers series.
It is recommended to install the
    nvidia-legacy-390xx-driver
package.


Che andremo a installare (ripeto, a voi potrebbe uscire un driver diverso, quindi installate quello che compare nel vostro output):
sudo apt install -y nvidia-legacy-390xx-driver

Una volta installati i driver relativi alla nostra scheda, possiamo procedere a installare i pacchetti per la tecnologia Optimus:
sudo apt install bumblebee-nvidia primus primus-libs:i386 mesa-utils -y

Aggiungiamo il nome utente al gruppo bumblebee (nel caso non sia stato aggiunto automaticamente col comando precedente):
sudo adduser $USER bumblebee

Installiamo VirtualGL:
wget https://sourceforge.net/projects/virtualgl/files/2.6.3/virtualgl_2.6.3_amd64.deb -P /tmp/ ; sudo dpkg -i /tmp/virtualgl_*.deb

Nel caso compaiano errori:
sudo apt -f install

E creiamo un link simbolico del binario glxspheres64:
sudo ln -s /opt/VirtualGL/bin/glxspheres64 /usr/local/bin/

Dopodichè riavviamo il sistema (come prima, possiamo farlo anche da terminale):
sudo reboot




Passiamo ai test, con questo comando possiamo vedere la lista dei pacchetti che abbiamo installato relativi alla scheda Nvidia:
dpkg --list | grep -i "nvidia\|primus"

Per testare la scheda Intel:
glxinfo | grep render
glxinfo | grep direct
glxinfo | grep OpenGL
glxgears
glxspheres64

Per testare la scheda Nvidia (per attivare la gestione grafica di Nvidia, è necessario immettere il comando optirun prima dei comandi da usare):
optirun glxinfo | grep render
optirun glxinfo | grep direct
optirun glxinfo | grep OpenGL
optirun glxgears
vblank_mode=0 primusrun glxgears -info
optirun glxspheres64

Verrà creato il lanciatore nel menu relativo al pannello di controllo Nvidia, ma non funzionerà in quanto il comando predefinito funziona nel caso abbiate solo la scheda Nvidia presente nel sistema, per eseguirlo dovrete usare questo comando:
optirun -b none nvidia-settings -c :8

(Si può modificare il lanciatore del menu modificando il comando da lanciare predefinito con quello sopra)

Questi i risultati della mia configurazione dei comandi glxgears e glxspheres64 su scheda Intel e scheda Nvidia:
tomberry@pu551j:~$ glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
311 frames in 5.0 seconds = 62.137 FPS
301 frames in 5.0 seconds = 60.075 FPS
305 frames in 5.0 seconds = 60.939 FPS

tomberry@pu551j:~$ optirun glxgears
6605 frames in 5.0 seconds = 1320.975 FPS
6420 frames in 5.0 seconds = 1283.870 FPS
6535 frames in 5.0 seconds = 1306.800 FPS

tomberry@pu551j:~$ glxspheres64
Polygons in scene: 62464 (61 spheres * 1024 polys/spheres)
GLX FB config ID of window: 0xa8 (8/8/8/0)
Visual ID of window: 0xff
Context is Direct
OpenGL Renderer: Mesa DRI Intel(R) Haswell Mobile
61.439641 frames/sec - 59.084291 Mpixels/sec
59.972640 frames/sec - 57.673529 Mpixels/sec
60.062232 frames/sec - 57.759686 Mpixels/sec

tomberry@pu551j:~$ optirun glxspheres64
Polygons in scene: 62464 (61 spheres * 1024 polys/spheres)
GLX FB config ID of window: 0x10d (8/8/8/0)
Visual ID of window: 0x21
Context is Direct
OpenGL Renderer: GeForce 820M/PCIe/SSE2
136.337392 frames/sec - 131.110762 Mpixels/sec
138.723252 frames/sec - 133.405157 Mpixels/sec
138.724225 frames/sec - 133.406093 Mpixels/sec

MSI Z270 Gaming Pro Carbon (Desktop) | Acer TravelMate 5760 (Laptop) | ASUS Pro Essential PU551JD (Laptop)
- OpenSUSE Tumbleweed KDE

Tony


Linux non è solo un sistema operativo ma...
"È uno stato mentale, dove prima ti perdi e poi ti ritrovi"
(cit. Point Break).
Il mio pc.

tonyvaper

#2
Sono giorni che provo a far partire i driver Nvidia. Domani provo la tua guida e ti aggiorno

Inviato dal mio SM-A605FN utilizzando Tapatalk

tonyvaper

Nada non riesco a farle andare su Mint cinnamon 19.3

Inviato dal mio SM-A605FN utilizzando Tapatalk


eternauta

Citazione di: tonyvaper il Giovedì 21 Maggio 2020, 13:14:19
Nada non riesco a farle andare su Mint cinnamon 19.3
Consiglio: se vuoi che @tomberry provi ad aiutarti, dovresti dettagliare un po' di più il problema. Ad esempio, copiando qui sul forum i comandi e i relativi output del terminale che ricevi quando provi a seguire la guida. ;)
:ciao:
A questo mondo niente rimane uguale, la notte più lunga eterna non è. (Bertolt Brecht)
Sperem...

tomberry

Citazione di: tonyvaper il Giovedì 21 Maggio 2020, 02:47:46
Sono giorni che provo a far partire i driver Nvidia. Domani provo la tua guida e ti aggiorno

Inviato dal mio SM-A605FN utilizzando Tapatalk

Ma intendi i driver nvidia e basta o i driver per la scheda dedicata (tipo su pc desktop)?
La guida che ho fatto io l'ho provata su Debian 10, e lì posso garantire che funziona, su Mint 19.3 non ho provato ma se mi spieghi il problema posso provare ad aiutarti.
MSI Z270 Gaming Pro Carbon (Desktop) | Acer TravelMate 5760 (Laptop) | ASUS Pro Essential PU551JD (Laptop)
- OpenSUSE Tumbleweed KDE