Nvidia Optimus

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
rik70
Iper Master
Iper Master
Messaggi: 2559
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 7.2.x-rt
Desktop: Openbox
Distribuzione: Arch Linux

Re: Nvidia Optimus

Messaggio da rik70 »

E se da root fai:

Codice: Seleziona tutto

tee /proc/acpi/bbswitch <<<ON
cambia qualcosa?
(Controlla anche dmesg e /proc/acpi/bbswitch).

Preso da qui:
https://github.com/Bumblebee-Project/bb ... /README.md

Avatar utente
Procopio
Linux 3.x
Linux 3.x
Messaggi: 844
Iscritto il: ven 29 lug 2011, 11:50
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.2
Kernel: 4.4.14
Desktop: Awesome
Località: Torino

Re: Nvidia Optimus

Messaggio da Procopio »

non l'avevo ancora vista quella guida! però purtroppo è solo un altro test che ci conferma che la gpu discrete è spenta e ha tutta l'intenzione di restarci...

Codice: Seleziona tutto


root /home/vrso # tee /proc/acpi/bbswitch <<<ON
ON
root /home/vrso # dmesg |tail -1
[18471.086758] nvidia 0000:02:00.0: Refused to change power state, currently in D3
root /home/vrso # cat /proc/acpi/bbswitch  
0000:02:00.0 OFF


rik70
Iper Master
Iper Master
Messaggi: 2559
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 7.2.x-rt
Desktop: Openbox
Distribuzione: Arch Linux

Re: Nvidia Optimus

Messaggio da rik70 »

Procopio ha scritto:purtroppo è solo un altro test che ci conferma che la gpu discrete è spenta e ha tutta l'intenzione di restarci...
Quindi Xorg non c'entra nulla, ed è già qualcosa.
Perché rimane spenta? Problema del kernel, Bios, modulo bbswitch o.... ??
Innanzitutto dmesg dovrebbe aiutare a capire di più. Fai un boot e con 'dmesg | less' esamini tutto per benino.

Quanto a

Codice: Seleziona tutto

[18471.086758] nvidia 0000:02:00.0: Refused to change power state, currently in D3
nella guida è contemplato il caso inverso - non si riesce a spegnere la scheda - ma personalmente c'ho capito poco o o nulla.

Ho visto che ci sono dei parametri del modulo bbswitch che riguardano l'attivazione/disattivazione della scheda.
Ma anche qui, non posso posso aiutare.

Se non ne esci vivo, posso solo consigliarti di chiedere agli sviluppatori.

Avatar utente
Procopio
Linux 3.x
Linux 3.x
Messaggi: 844
Iscritto il: ven 29 lug 2011, 11:50
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.2
Kernel: 4.4.14
Desktop: Awesome
Località: Torino

Re: Nvidia Optimus

Messaggio da Procopio »

rik70 ha scritto:Perché rimane spenta? Problema del kernel, Bios, modulo bbswitch o.... ??
eheh quello è il punto da cui sono partito, e ora ci siamo tornati, cioè sto girando in torno da una settimana...

Nel TD che ho scritto su arch (l'unico dei tre in cui ho ricevuto risposta) avevo chiesto se fosse possibile utilizzare le due schede alla "vecchia maniera" cioè bypassando 'opzione optimus e tenendole semplicemente accese entrambe (ovviamente questa domanda aspetta ancora adesso risposta)
lo chiedo a te: questa cosa è tecnicamente possibile? cioè escludendo l'opzione optimus solitamente i computer con la scheda video dedicata le tengono accese entrambe e quella dedicata viene però utilizzata solo dai programmi che la richiedono giusto?
(quindi alla fine l'opzione optimus la tiene semplicemente sempre spenta salvo quando si avvia un programma che la richiede)
Ora rimuovo tutto quello che ho installato intorno a bumblebee e provo se riesco a tenerla accesa bypassando l'utilizzo dell'opzione optimus, così magari riusciamo a fare un po di chiarezza.

La cosa strana è che nel bios (cioè UEFI) non vedo nessun opzione per abilitarla e non sono sicuro che non sia nascosta e che sia quello che me lo tiene disabilitato...

rik70
Iper Master
Iper Master
Messaggi: 2559
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 7.2.x-rt
Desktop: Openbox
Distribuzione: Arch Linux

Re: Nvidia Optimus

Messaggio da rik70 »

Procopio ha scritto:eheh quello è il punto da cui sono partito, e ora ci siamo tornati, cioè sto girando in torno da una settimana...
Eheh, chiaro che tu c'eri già arrivato, ma nel post errori relativi a systemd e configurazione manuali di Xorg potevano far pensare ad altro.
Procopio ha scritto:Nel TD che ho scritto su arch (l'unico dei tre in cui ho ricevuto risposta) avevo chiesto se fosse possibile utilizzare le due schede alla "vecchia maniera" cioè bypassando 'opzione optimus e tenendole semplicemente accese entrambe (ovviamente questa domanda aspetta ancora adesso risposta)
Uhm... questo sinceramente a occhio penso non sia possibile.

Comunque fai pulizia: togli tutto quello che hai installato, elimina file di configurazione che fanno riferimento a bumblebee - da quello che ho capito è il demone bumblebeed a disattivare la scheda - e reinstalla nell'ordine specificato nel wiki.

Fai un boot e incolli l'intero dmesg. Secondo me è da qui che si può capire cosa non va.

Altra cosa: sembra - ma correggimi se sbaglio - che il modulo bbswitch vada caricato prima del modulo nvidia. Per questa ragione te lo fa mettere nell'initramfs.
Leggevo non ricordo dove che qualcuno addirittura metteva in blacklist il modulo nvidia, in modo da farlo caricare da Xorg piuttosto che da udev al boot. Ma dovrebbe bastare la prima soluzione.

Avatar utente
Procopio
Linux 3.x
Linux 3.x
Messaggi: 844
Iscritto il: ven 29 lug 2011, 11:50
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.2
Kernel: 4.4.14
Desktop: Awesome
Località: Torino

Re: Nvidia Optimus

Messaggio da Procopio »

Bé una la cosa che ho scoperto è che nvidia libgl e mesa libgl sono in conflitto e questo mi impedisce di installare contemporaneamente entrambi i driver Intel e invidia, perché entrambi i driver hanno come dipendenza le rispettive libgl...prima, credo, forzando avevo installato i driver Intel e nvidia con sotto solo le mesa libgl, magari era per quello che la scheda dedicata non si accendeva neanche.

Inoltre con solamente i drive Intel riesco ad accedere a X mentre se ho solo o drive nvidia no...

Quindi comunque tu dici che o uso solamente la scheda Intel oppure se voglio usare tutte e due non posso fare a meno di usarle con il bumblebee?

Ad ogni modo adesso ho disinstallato tutto, e ora reinstallando tutto come suggerisce il wiki di bumblebee mi ha installato i mesa-libgl ma non gli nvidia-libgl

rik70
Iper Master
Iper Master
Messaggi: 2559
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 7.2.x-rt
Desktop: Openbox
Distribuzione: Arch Linux

Re: Nvidia Optimus

Messaggio da rik70 »

Quello che dici sui pacchetti libgl è vero. Però è strano che i driver closed non possano coesistere con gli intel, altrimenti come fanno ad aver rilasciato un pacchetto bumblebee funzionante? Ma lo vediamo subito.

In base al wiki dovresti installare: "intel-dri, xf86-video-intel, bumblebee, nvidia" - e in questo preciso ordine.

Quanto ai conflitti:
https://wiki.archlinux.org/index.php/Bumblebee#Installing_Bumblebee_with_Intel.2FNVIDIA ha scritto:If you have intel-dri and xf86-video-intel installed, you will have to reinstall them together with the rest to avoid a dependency conflict between intel-dri and nvidia.
Ma questa parte te la lascio tutta, perché sinceramente capisco solo che il problema dei conflitti se lo son posto e l'hanno risolto in quel modo ["you will have to reinstall them together with the rest"].

Per come l'ho capita io - anche se hai già gli intel installati - dovresti fare:

Codice: Seleziona tutto

pacman -S intel-dri xf86-video-intel bumblebee nvidia
Correggi dove sbaglio perché vado a memoria.
Procopio ha scritto:Quindi comunque tu dici che o uso solamente la scheda Intel oppure se voglio usare tutte e due non posso fare a meno di usarle con il bumblebee?
Sì, penso sia proprio così.

Avatar utente
Procopio
Linux 3.x
Linux 3.x
Messaggi: 844
Iscritto il: ven 29 lug 2011, 11:50
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.2
Kernel: 4.4.14
Desktop: Awesome
Località: Torino

Re: Nvidia Optimus

Messaggio da Procopio »

si, ho fatto così, poi ho editato il post sopra ma è arrivato forse prima il tuo messaggio, ad ogni modo ho installato con quel comando e in quell'ordine e non mi ha sollevato conflitti di dipendenze, ma gli nvidia-libgl non li ha installati. Cioè sostanzialmente credo di essere nella situazione di prima, tanto che anche il messaggio di errore al comando "optirun glxinfo | grep -i NVIDIA" è sempre lo stesso.

Per verificare con il dmesg ho dato questo:

Codice: Seleziona tutto

root /home/vrso # dmesg | grep -i NVIDIA
[ 1315.242030] nvidia: module license 'NVIDIA' taints kernel.
[ 1315.248685] [drm] Initialized nvidia-drm 0.0.0 20130102 for 0000:02:00.0 on minor 1
[ 1315.248699] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  340.32  Tue Aug  5 20:58:26 PDT 2014
[ 1315.416901] nvidia 0000:02:00.0: irq 54 for MSI/MSI-X
[ 1321.169218] NVRM: nvidia_frontend_open: minor 0, module->open() failed, error -5


rik70
Iper Master
Iper Master
Messaggi: 2559
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 7.2.x-rt
Desktop: Openbox
Distribuzione: Arch Linux

Re: Nvidia Optimus

Messaggio da rik70 »

P.s.
Se per caso durante l'installazione ti chiede se vuoi tenere le mesa-libgl o installare le libgl-nvidia, prova a lasciare le prime.

rik70
Iper Master
Iper Master
Messaggi: 2559
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 7.2.x-rt
Desktop: Openbox
Distribuzione: Arch Linux

Re: Nvidia Optimus

Messaggio da rik70 »

Si penso sia corretto non installare le glnvidia. Ma controlla comunque quale paccheto libgl hai nel sistema.
Procopio ha scritto: [ 1321.169218] NVRM: nvidia_frontend_open: minor 0, module->open() failed, error -5
Uhm....

Edit
Incollalo tutto il dmesg.

Avatar utente
Procopio
Linux 3.x
Linux 3.x
Messaggi: 844
Iscritto il: ven 29 lug 2011, 11:50
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.2
Kernel: 4.4.14
Desktop: Awesome
Località: Torino

Re: Nvidia Optimus

Messaggio da Procopio »

rik70 ha scritto: Procopio ha scritto:[ 1321.169218] NVRM: nvidia_frontend_open: minor 0, module->open() failed, error -5


Uhm....
eh, infatti... :oops:


comunque questo è il dmesg DOPO il comando

Codice: Seleziona tutto

optirun glxinfo | grep -i NVIDIA
perchè se lo do prima non mi trova niente

Codice: Seleziona tutto

root /home/vrso # dmesg | grep -i NVIDIA
root /home/vrso #

rik70
Iper Master
Iper Master
Messaggi: 2559
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 7.2.x-rt
Desktop: Openbox
Distribuzione: Arch Linux

Re: Nvidia Optimus

Messaggio da rik70 »

Allora guarda qui - la prima e la seconda riga sopratutto:

Codice: Seleziona tutto

    [  528.084822] NVRM: GPU at 0000:02:00.0 has fallen off the bus.
    [  528.084830] NVRM: GPU at 0000:02:00.0 has fallen off the bus.
    [  528.102238] NVRM: RmInitAdapter failed! (0x25:0x28:1196)
    [  528.102245] NVRM: rm_init_adapter failed for device bearing minor number 0
    [  528.102261] NVRM: nvidia_frontend_open: minor 0, module->open() failed, error -5
Se tu cerchi su google 'NVRM: GPU at 0000:02:00.0 has fallen off the bus' trovi delle cose interessanti e probabilmente anche il fix.

La cosa migliore sarebbe se reincollassi dmesg senza dare il comando optirun prima.
Dobbiamo capire quando si verifica quell'errore, perché tutto il resto sembra andare per il verso giusto.

Avatar utente
Procopio
Linux 3.x
Linux 3.x
Messaggi: 844
Iscritto il: ven 29 lug 2011, 11:50
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.2
Kernel: 4.4.14
Desktop: Awesome
Località: Torino

Re: Nvidia Optimus

Messaggio da Procopio »

ecco il dmesg prima dell'optirun

io intanto faccio una googlata per quel fix ...

rik70
Iper Master
Iper Master
Messaggi: 2559
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 7.2.x-rt
Desktop: Openbox
Distribuzione: Arch Linux

Re: Nvidia Optimus

Messaggio da rik70 »

Allora ecco il punto. Partiamo dall'ultimo log:

Codice: Seleziona tutto

 [wget -qO - 'http://pastebin.com/raw.php?i=FfuqkGhs' | grep bbswitch]

[    2.296983] bbswitch: version 0.8
[    2.296986] bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.GFX0
[    2.296991] bbswitch: Found discrete VGA device 0000:02:00.0: \_SB_.PCI0.PEG0.PEGP
[    2.297054] bbswitch: detected an Optimus _DSM function
[    2.297101] bbswitch: Succesfully loaded. Discrete card 0000:02:00.0 is on
[    3.452226] bbswitch: disabling discrete graphics
Nota l'ultima riga: bbswitch disabilita la vga discreta.

Ora, quando tu lanci optirun, bbswitch tenta" di (ri)attivarla - siamo nel penultimo dmesg:

Codice: Seleziona tutto

[ wget -qO - 'http://pastebin.com/raw.php?i=zNwaGtDg' | tail -n 21]

[  521.923917] bbswitch: enabling discrete graphics
[  522.546816] nvidia: module license 'NVIDIA' taints kernel.
[  522.546819] Disabling lock debugging due to kernel taint
[  522.554066] [drm] Initialized nvidia-drm 0.0.0 20130102 for 0000:02:00.0 on minor 1
[  522.554070] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  340.32  Tue Aug  5 20:58:26 PDT 2014
[  522.719393] vgaarb: this pci device is not a vga device
[  522.719734] nvidia 0000:02:00.0: irq 50 for MSI/MSI-X
[  522.722028] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20140424/nsarguments-95)
[  522.722071] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20140424/nsarguments-95)
[  522.722094] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20140424/nsarguments-95)
[  522.722125] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20140424/nsarguments-95)
[  522.722154] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20140424/nsarguments-95)
[  522.722172] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20140424/nsarguments-95)
[  522.722201] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20140424/nsarguments-95)
[  522.722220] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20140424/nsarguments-95)
[  528.060054] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20140424/nsarguments-95)
[  528.084822] NVRM: GPU at 0000:02:00.0 has fallen off the bus.
[  528.084830] NVRM: GPU at 0000:02:00.0 has fallen off the bus.
[  528.102238] NVRM: RmInitAdapter failed! (0x25:0x28:1196)
[  528.102245] NVRM: rm_init_adapter failed for device bearing minor number 0
[  528.102261] NVRM: nvidia_frontend_open: minor 0, module->open() failed, error -5
E fallisce, con quel messaggio in blu evidenziato nel post precedente.
Ora se tu cerchi su google, vedrai che alcuni risultati ti dicono che quell'errore si verifica quando la GPU Nvidia non si trova in "modalità persistente".
E sembra proprio il caso nostro: bbswitch infatti la disattiva.

Cosa si può provare a fare? Istruire bbswitch a non disattivarla e vedere se funziona. Certo due gpu attive non sono il massimo in un latop, ma come test si potrebbe fare. Come, dirai tu? Eh, bella fomanda. Il modulo bbswitch ha dei parametri che farebbero al caso. Tu hai capito come funzionano?

Uno è:
load_state
L'altro:
uload_state

Ma qui io mi fermo perché non so cosa può succedere.

Avatar utente
Procopio
Linux 3.x
Linux 3.x
Messaggi: 844
Iscritto il: ven 29 lug 2011, 11:50
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.2
Kernel: 4.4.14
Desktop: Awesome
Località: Torino

Re: Nvidia Optimus

Messaggio da Procopio »

mmmmh cavolo c'era anche un demone nvidia-persistenced che dovrebbe tenerla sveglia
dal sito nvidia ha scritto: Added nvidia-persistenced, a daemon utility, to the driver package. nvidia-persistenced can be installed to run on system startup or manually run to allow the NVIDIA kernel module to keep persistent driver state allocated when no other user-space NVIDIA driver components are running.This can improve startup time for other user-space NVIDIA driver components.
ma non funge

Codice: Seleziona tutto

root /home/vrso # systemctl enable nvidia-persistenced
Created symlink from /etc/systemd/system/multi-user.target.wants/nvidia-persistenced.service to /usr/lib/systemd/system/nvidia-persistenced.service.
root /home/vrso # systemctl start nvidia-persistenced
root /home/vrso # systemctl status nvidia-persistenced
● nvidia-persistenced.service - NVIDIA Persistence Daemon
   Loaded: loaded (/usr/lib/systemd/system/nvidia-persistenced.service; enabled)
   Active: active (running) since mer 2014-09-03 16:41:04 CEST; 1s ago
  Process: 2799 ExecStart=/usr/bin/nvidia-persistenced --user nvidia-persistenced (code=exited, status=0/SUCCESS)
 Main PID: 2800 (nvidia-persiste)
   CGroup: /system.slice/nvidia-persistenced.service
           └─2800 /usr/bin/nvidia-persistenced --user nvidia-persistenced

set 03 16:41:04 dellstar nvidia-persistenced[2800]: Started (2800)
root /home/vrso # optirun glxinfo | grep -i NVIDIA
[ 4652.441995] [ERROR]Cannot access secondary GPU - error: [XORG] (EE) systemd-logind: failed to get session: PID 1225 does not belong to any known session

[ 4652.442016] [ERROR]Aborting because fallback start is disabled.
root /home/vrso # dmesg | grep -i NVIDIA
[  522.546816] nvidia: module license 'NVIDIA' taints kernel.
[  522.554066] [drm] Initialized nvidia-drm 0.0.0 20130102 for 0000:02:00.0 on minor 1
[  522.554070] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  340.32  Tue Aug  5 20:58:26 PDT 2014
[  522.719734] nvidia 0000:02:00.0: irq 50 for MSI/MSI-X
[  528.102261] NVRM: nvidia_frontend_open: minor 0, module->open() failed, error -5
[ 2720.158672] NVRM: nvidia_frontend_open: minor 0, module->open() failed, error -22
[ 2764.428624] NVRM: nvidia_frontend_open: minor 0, module->open() failed, error -22
root /home/vrso # dmesg | grep -i bbswitch
[    2.296983] bbswitch: version 0.8
[    2.296986] bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.GFX0
[    2.296991] bbswitch: Found discrete VGA device 0000:02:00.0: \_SB_.PCI0.PEG0.PEGP
[    2.297054] bbswitch: detected an Optimus _DSM function
[    2.297101] bbswitch: Succesfully loaded. Discrete card 0000:02:00.0 is on
[    3.452226] bbswitch: disabling discrete graphics
[  521.923917] bbswitch: enabling discrete graphics
[ 4649.850271] bbswitch: enabling discrete graphics
root /home/vrso # cat /proc/acpi/bbswitch  
0000:02:00.0 OFF
root /home/vrso # tee /proc/acpi/bbswitch <<<ON
ON
root /home/vrso # dmesg |tail -1
[ 4760.324320] nvidia 0000:02:00.0: Refused to change power state, currently in D3
root /home/vrso # cat /proc/acpi/bbswitch  
0000:02:00.0 OFF
root /home/vrso # 

Rispondi