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 »

Procopio ha scritto:Mah dovrebbe essere con, quindi io proverei comunque ,l'unica cosa: il cambio di drive non inficia sul funzionamento del monitor esterno ? La porta dovrebbe essere gestita dalla scheda integrata , però... Forse meglio se il lavoro lo faccio dal monitor integrato eh?
Esatto, fa una sorta di tunnel per dirla alla carlona.... dovrebbe usare la porta integrata dell'intel.
Anche perché rileggendo bene il wiki penso di averlo compreso male all'inizio. E' un metodo alternativo a bumblebee, credo, ed è riportato anche nella documentazione di nvidia.

Ovviamente premunisciti, dato che X potrebbe non partire.

Ricapitolando: la Intel dovrebbe usare i driver xf86-video-modesetting, quindi penso - e quando penso son pericoloso - dovrai disinstallare xf86-video-intel e intel-dri. Edit: Ma anche no: tanto sarà pacman ad avvisarti di qualche conflitto.

P.S.
Occhio a impostare il BusID della scheda discreta in modo corretto. Nel tuo caso dovrebbe essere:

Codice: Seleziona tutto

BusID "PCI:2:0:0"

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 »

[Aggiornamento]

Forse ho capito il perché dei problemi su arch con bumblebee. La spiegazione la trovi da te con

Codice: Seleziona tutto

man Xorg.wrap
In sostanza dalla versione 1.16 di xserver quando l'utente fa il login su console e avvia startx, Xorg viene lanciato con i privilegi dello stesso utente e non con quelli di root - come accade normalmente. Il tutto avviene in combinazione col sistema di login implementato in systemd(che qualcuno continua a criticare spesso impropriamente, a mio modesto parere). Sempre dal manuale si ricava un altro elemento interessante:
If a system has multiplegraphics cards and some are not kms capable auto-detection may fail,in this case manual configuration should be used.
Ecco, probabilmente, la ragione di quegli errori riguardanti systemd-logind e i permessi. A questo si aggiunge che quasi sicuramente bumblebee non è compatibile con questa funzionalità e fa ulteriori casini tentando di avviare una nuova istanza di X coi privilegi "sbagliati", mandando in palla tutta la "baracca".

Come risolvere?

Prova a creare il file /etc/X11/Xwrapper.config con dentro:

Codice: Seleziona tutto

needs_root_rights = yes
In questo modo il server X verrà lanciato sempre coi privilegi di root - o almeno così dovrebbe essere - e potrai nuovamente testare bumblebee con bbswitch + nouveau|nvidia. Io partirei coi nouveau: se funziona hai qualche chance che vada pure con gli nvidia.

That's all.

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 »

allora arrivo eh, il metodo che mi hai proposto qua
rik70 ha scritto:Oppure, siccome tanto siamo nell'ambito del "o la va o la spacca", puoi tentarti su arch l'ultima spiaggia: https://wiki.archlinux.org/index.php/Op ... ing_nvidia

Il tutto dopo aver prima disinstallato xf86-video-nouveu, nouveau-dri, bbswitch, bumblebee e reinstallato nvidia e nvidia-lts.
Che c'hai da perdere? Nulla :)

Edit:
penso che ti chiederà di disinstallare xf86-video-intel, intel-dri e installare le libgl nvidia - ma è tutto da verificare.

è quello che ti avevo già linkato qui
Procopio ha scritto:comunque, la butto lì, dal wiki di nvidia optimus su arch
If you only care to use a certain GPU without switching, check the options in your system's BIOS. There should be an option to disable one of the cards. Some laptops only allow disabling of the discrete card, or vice-versa, but it is worth checking if you only plan to use one of the cards. If you want to use both cards, or cannot disable the card you do not want, see the options below.
poi aggiunge
The proprietary NVIDIA driver does not support dynamic switching like the nouveau driver (meaning it can only use the NVIDIA device). It also has notable screen-tearing issues that NVIDIA recognizes but has not fixed. However, it does allow use of the discrete GPU and has (as of October 2013) a marked edge in performance over the nouveau driver.


che io interpreterei come: se usare una, l'altra, o tutte e due le schede si può solo deciderlo dal bios, per chi ne ha la possibilità (gli altri se ci tengono si ricompilino il firmware del bios).

Una volta che dal bios le hai attivate entrambe con il driver nouveau puoi switchare tra le due. Il driver nvidia tende invece vale solo per la scheda nvidia e quindi deve coesistere con l'altro.

In quella pagina però non fa menzione di bumblebee se non al fondo, come se si potesse utilizzare entrambe le schede prescindendo da quel modulo, a patto che se usi il driver nvidia restino entrambe sempre accese e che non si possa passare dall'una all'altra nell'utilizzo dei programmi.
If you wish to use Bumblebee, which will implement powersaving and some other useful features, see the wiki article on Bumblebee.
detto così non sembra poi così fondamentale sto bumblebee...
Non è che voglio insistere eh rik70, me lo hai già ripetuto più volte, però da frasi come queste mi sorono dei dubbi... :)
a cui tu mi avevi risposto così:
rik70 ha scritto:@Procopio
Andiamo con ordine.
Per utilizzare la tecnologia Optimus su Linux hai 2 possibilità:

1 - Scegliere quale scheda video usare: la Intel o la Nvidia. Ma questo lo puoi fare solo se il Bios ti permette di disabilitare l'una o l'altra. Come scritto nel wiki, alcuni Bios ti permettono di spegnere la nvidia - e quindi usare "solo" la Intel, altri il contrario - spegni la Intel e usi la nvidia. Questo secondo caso è contemplato nella parte del wiki che hai citato, cioè qui. E son spiegati passaggi e configurazioni, compresa l'aggiunta delle opzioni xrandr nel file xinitrc. Quindi occhio a non mischiare le cose, sopratutto se deciderai di usare bumblebee. Quanto scritto nel link sopra vale solo se usi nvidia - coi driver proprietari - e spegni la intel;

2 - Usare entrambe le schede, ma "passando" dall'una all'altra in modo dinamico - che poi in realtà lo devi fare "a mano" con appositi software.

E qui ci sono 2 sottoipotesi.

2.1 - Partiamo dalla meno interessante: l'utilizzo dei driver nouveau per la nvidia.
Qui non hai nulla da fare di particolare, se non installare i driver nouveau e utilizzare PRIME


2.2 - E torniamo a noi:
Intel e nvidia in modo dinamico coi driver proprietari. Qui ti serve per forza bumblebee e opzionalmente - ma è raccomandato, come dicevamo sopra - anche bbswitch. Ovviamente dovrai installare i driver proprietari nvidia, i quali vanno in conflitto con intel-dri. Ma l'abbiamo visto qualche post indietro come installare bumblebee e nvidia senza conflitti: ricordi l'ordine d'installazione/reinstallazione?
E infatti il conflitto tra le libgl e libgl-nvidia c'è perché intel-dri vuole le libgl(mesa). Ed è normale che sia così, perché di solito o hai l'una o hai l'altra vga.

Quindi ribadiamo ancora una volta: fai attenzione a non mischiare approcci differenti al medesimo problema.
Riassumendo: o usi una sola scheda, o le usi entrambi. In questo caso devi installare bumblebee - e fare riferimento al wiki specifico - a meno che non vuoi stare con i nouveau.

Per il resto, se qualcosa non torna di ciò che scrivo, insisti eccome.

Ciao
ci avevo provato, cercando di escludere bumblebee e di tenere sempre entrambe le schede accese ma non aveva funzionato, dici che vale la pena di riprovare?

Ora inve proverei certamente l'ultimo workaround che mi hai proposto.
In sostanza devo solo creare il file /etc/X11/Xwrapper.config (non .conf??) e metterci dentro quella stringa, ed installare bumblebee bbswitch e nvidia e vedere se finalmente la pianta di darmi quell'errore di permessi il systemd.login?

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 »

O.M.G.

Codice: Seleziona tutto

vrso ~ $ optirun glxspheres64 -info
Polygons in scene: 62464
Visual ID of window: 0x60
Context is Direct
OpenGL Renderer: Gallium 0.4 on NVE7
0.026116 frames/sec - 0.029423 Mpixels/sec
0.928097 frames/sec - 1.045602 Mpixels/sec
82.712545 frames/sec - 93.184615 Mpixels/sec
88.766069 frames/sec - 100.004564 Mpixels/sec
115.148211 frames/sec - 129.726896 Mpixels/sec
114.654108 frames/sec - 129.170235 Mpixels/sec
110.841334 frames/sec - 124.874734 Mpixels/sec
72.730723 frames/sec - 81.939014 Mpixels/sec
84.949356 frames/sec - 95.704624 Mpixels/sec
102.991443 frames/sec - 116.030983 Mpixels/sec
99.432401 frames/sec - 112.021338 Mpixels/sec
23.962589 frames/sec - 26.996445 Mpixels/sec
11.690853 frames/sec - 13.171009 Mpixels/sec
3.884944 frames/sec - 4.376809 Mpixels/sec
12.964307 frames/sec - 14.605693 Mpixels/sec
14.321069 frames/sec - 16.134231 Mpixels/sec
3.204923 frames/sec - 3.610692 Mpixels/sec
102.090487 frames/sec - 115.015960 Mpixels/sec
113.102592 frames/sec - 127.422285 Mpixels/sec
vrso ~ $
per carità, le performances con i nouveau sono di una bruttezza indiscutibile, ma ora provo con gli nvidia

EDIT: invece con nvidia mi da sempre il solito vecchio errore

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 »

Le performance sono quelle che sono, ma funziona. L'errore era causato dal nuovo xorg. Ora sta funzionando alla vecchia maniera. Mi sa che devi devi dire a quelli di arch di aggiungerlo al wiki :)

Lasciamo stare nvidia per il momento - poi ti rispondo anche sul resto - tieni i nouveau e incolla:

Codice: Seleziona tutto

optirun glxinfo | grep -i render
.
Non so se sia glxinfo o glxinfo64, vedi tu.
Ultima modifica di rik70 il gio 18 set 2014, 21:46, modificato 1 volta in totale.

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 »

Nel mentre veniamo al resto:
Procopio ha scritto:è quello che ti avevo già linkato qui
[...]
a cui tu mi avevi risposto così:
[...]
Come avevo risposto non è proprio esatto e dovrei correggere.
Riassumiamo meglio:

1 - se potessi spegnere dal 'bios' una delle 2 schede, non ti servirebbe altro: basterebbero i driver aperti - o i proprietari se optassi per disattivare la intel. Fine.

2 - se invece le vuoi usare entrambe - o sei costretto perché il bios ti risponde picche - puoi:

2.1 - utilizzare bumblembee + bbswitch;

2.2 - sfruttarle nell'altro modo - la discreta "sopra" la intel.

2.3 - usare PRIME - ma va solo con i nouveau.

E con questo veniamo a nvidia:
che errore ti restituisce optirun: la solita storia di systemd? E in dmesg? Il log di Xorg che dice?

In ogni caso se i nouveau vanno - con entrambi i kernel? - il problema è da ricercare nei driver proprietari. E ora hai in mano tutti gli elementi per mandarli aff.... ehm.... per fare un bug report sul forum di supporto nvidia, visto che dicono di supportare il progetto bumblebee.

Per quanto mi riguarda, dubito fortemente che abbiano già rilasciato driver compatibili con Xorg 1.16 e con i kernel più recenti, compreso il 3.14. Ma questa è solo una mia personale considerazione.

Rispondi