aggiornamento nuono kernel con Nvidia

Se avete problemi con l'installazione e la configurazione di Slackware64 postate qui. Non usate questo forum per argomenti che trattano la Slackware32 o generali... per quelli usate rispettivamente il forum Slackware e Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware64 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 Slackware64, se l'argomento è Slackware32 o generale usate rispettivamente il forum Slackware o Gnu/Linux in genere.
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.
Rispondi
dafrasaga
Linux 1.x
Linux 1.x
Messaggi: 182
Iscritto il: mar 8 set 2009, 11:39
Slackware: current
Località: Vinci -FI-

aggiornamento nuono kernel con Nvidia

Messaggio da dafrasaga »

Ciao a tutti,
chiedo info in quanto l'ultima volta che l'ho fatto ho dovuto reinstallare tutto in quanto non sono riuscito a far ripartire la parte grafica. :(
Ho una scheda Nvidia gtx 960 e vorrei aggiornare i nuovi kernel e i nuovi nvidia drivers.

Ho letto dal forum che

la procedura corretta per aggiornare i driver nvidia da SBo e':
- andare in console in init 3 (terminando X);
- lanciare

Codice: Seleziona tutto
nvidia-switch --remove

- disinstallare nvidia-kernel e nvidia-driver;
- reinstallare mesa (e mesa-compat32 se uno usa le multilib); (ma chi l'ha disinstallato ??)
- fare, in sequenza e installandoli una volta fatti, i pacchetti nvidia-kernel e nvidia-driver.


Quindi chiedo se la stessa procedura deve essere seguita per aggornare il kernel??

Scusate la domanda, che potrebbe sembrare ovvia, ma vorrei evitare di reinstallare tutto.

GRazie mille

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3789
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: aggiornamento nuono kernel con Nvidia

Messaggio da joe »

Metti un link al post cui fai riferimento...


Da quello che ricordo se aggiorni il kernel, dovrai ricompilare almeno il pacchetto nvdia-driver, nvidia-kernel non ricordo... Non che sia una sfaticata comunque.
Non ricordo di preciso se sul sistema devi avere installati almeno i kernel headers del kernel in uso, cioè di quello nuovo che avrai aggiornato.

Penso che questo sia un buon punto di partenza.
https://docs.slackware.com/howtos:hardw ... figuration

Se non si hanno i driver proprietari ancora installati, basta aggiornare il kernel e poi installare da zero i pacchetti necessari e configurare qualche file:

- assicurarti di avere blacklistato il driver open nouveau, magari installando il pacchetto preposto

Codice: Seleziona tutto

slackpkg search blacklist


NOTICE: pkglist is older than 24h; you are encouraged to re-run 'slackpkg update'

Looking for blacklist in package list. Please wait... DONE

The list below shows all packages with name matching "blacklist".

[ Status           ] [ Repository               ] [ Package                                  ]
  upgrade                  extra                        xf86-video-nouveau-1.0.12-x86_64-1 --> xf86-video-nouveau-blacklist-noarch-1  

You can search specific files using "slackpkg file-search file".
- assicurati di aver scritto il file di configurazione per in xorg.d/nvidia.conf o qualcosa del genere...

Codice: Seleziona tutto

/etc/X11/xorg.conf.d/10-nvidia.conf

Codice: Seleziona tutto

Section "Device"
    Identifier  "Device0"
    Driver  "nvidia"
    VendorName "Nvidia Corporation"
    BoardName ""
EndSection
- Ok, a questo punto puoi installare i tre pacchetti necesasri:

Codice: Seleziona tutto

sbopkg -g libvdpau-va-gl -g nvidia*er*
Searching for libvdpau-va-gl
Found the following matches for libvdpau-va-gl:
libraries/libvdpau-va-gl
Searching for nvidia*er*
Found the following matches for nvidia*er*:
system/nvidia-driver
system/nvidia-kernel
system/nvidia-legacy304-driver
system/nvidia-legacy304-kernel
system/nvidia-legacy340-driver
system/nvidia-legacy340-kernel
libvdpau dipende da ffmpeg. Installalo per primo.
Poi viene nvidia-kernel (nella versione giusta per il modello della tua scheda, nel tuo caso va bene la versione "non legacy").
E infine nvidia-driver, che in teoria dipende da libvdpau da quanto è stritto nel link al wiki di slackware. Tuttavia il pacchetto di SBo nvidia-driver sembrerebbe dipendente solo da nvidia-kernel. Ad ogni modo se segui questo ordine non ci dovrebbero essere problemi.

Se invece cambi kernel, dopo la ricompilazione e installazione dello stesso, quando riavvii il PC usando il nuovo kernel, X non dovrebbe avviarsi più bene, puoi lavorare comunque dalla console testuale.

- usare il tool nvidia-switch per rimuovere i vecchi files installati dal driver nvidia, li rimpiazza con quelli originali backuppati automaticamente..
- a questo punto puoi ricompilare i pacchetti libvdpau, nvidia-kernel, nvidia-driver. Forse non è necesario ricompilarli tutti e tre ma non sono sicuro. Per non sbagliare li ricompili tutti e tre, anche con "sbopkg" eventualmente, così lavori con l'ultima versione dei pacchetti.

Il discorso di MESA penso fosse relativo alla disinstallazione del pacchetto nvidia-driver di SBo senza aver ripristinato prima i files originali con nvidia-switch.
Prò se posti il link a cui ti riferivi ci diamo un'occhiata! :)

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3022
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: aggiornamento nuono kernel con Nvidia

Messaggio da ponce »

dafrasaga ha scritto:Ho letto dal forum che

la procedura corretta per aggiornare i driver nvidia da SBo e':
- andare in console in init 3 (terminando X);
- lanciare

Codice: Seleziona tutto
nvidia-switch --remove

- disinstallare nvidia-kernel e nvidia-driver;
- reinstallare mesa (e mesa-compat32 se uno usa le multilib); (ma chi l'ha disinstallato ??)
- fare, in sequenza e installandoli una volta fatti, i pacchetti nvidia-kernel e nvidia-driver.
questa e' la procedura corretta per aggiornare i driver nvidia usando gli script di SBo o per reinstallarli nel caso si voglia aggiornare mesa (non puoi nemmeno aggiornare il pacchetto mesa se non fai questa procedura!).
reinstallare mesa vuol dire usare il comando "upgradepkg --reinstall mesa-<versione>.txz" perche' quando installi il pacchetto nvidia-driver questo sovrascrive dei file del pacchetto mesa, quindi e' necessario reinstallare mesa quando si rimuove il pacchetto di nvidia-driver.
Quindi chiedo se la stessa procedura deve essere seguita per aggornare il kernel??
la procedura descritta non e' relativa all'aggiornamento del kernel, che e' una cosa diversa.

se intendi che passi devi fare relativi agli script di SBo una volta che hai aggiornato a un nuovo kernel e hai riavviato con quello, e' sufficiente rilanciare nvidia-kernel.SlackBuild e aggiornare la versione installata di nvidia-kernel col nuovo pacchetto (che conterra' nel nome la versione del nuovo kernel).

se invece intendi come si aggiorna un kernel in Slackware allora gli script nvidia non c'entrano niente e magari e' il caso di capire bene cosa vuoi fare.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3789
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: aggiornamento nuono kernel con Nvidia

Messaggio da joe »

Aggiungo una cosa:
attualmente sto usando i driver open, quindi nouveau.
Ho anche io una scheda nvidia, ma molto più economica penso: era questa https://www.asus.com/Graphics-Cards/EN2 ... fications/
Dal sito nvidia pare che sia da installare il driver seguente:

Codice: Seleziona tutto

Version:	340.102
Release Date:	2017.2.14
Operating System:	Linux 64-bit
Language:	English (US)
File Size:	66.72 MB
C'è lo slackbuild su SBo:
https://slackbuilds.org/repository/14.2 ... 40-kernel/
https://slackbuilds.org/repository/14.2 ... 40-driver/

Ok, niente anche a me interesserebbe una conferma di quanto ho scritto nel post precedente.
Se mi confermate provo a passare ai driver closed.

Tra l'altro mi accorgo a volte di una riproduzione dei video che non mi sembra ottimale. Probabilmente il PC vecchiotto influisce, ma un tentativo con i driver proprietari vorrei farlo per capire se migliora un po'.

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3022
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: aggiornamento nuono kernel con Nvidia

Messaggio da ponce »

se la tua scheda supporta quei driver basta che tu installi i due pacchetti sopra da SBo, prima nvidia-legacy340-kernel, poi nvidia-legacy340-driver; quando hai fatto riavvia X.

non dovresti aver bisogno di fare nient'altro: libvdpau e' gia' incluso in Slackware (si configura da /etc/profile.d/vdpau.sh) e non dipende da ffmpeg; libvdpau-va-gl serve solo per i driver che usano vaapi e vdpau (quelli open, tipo quelli intel).

quando dovrai aggiornare dovrai invece seguire la procedura descritta nel post sopra (ovviamente sostituendo ai due pacchetti le versioni legacy degli stessi).

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3789
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: aggiornamento nuono kernel con Nvidia

Messaggio da joe »

E il blacklist del modulo open nouveau?
Non serve il pacchetto xf86-video-nouveau-blacklist ?

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3022
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: aggiornamento nuono kernel con Nvidia

Messaggio da ponce »

quel pacchetto non fa altro che mettere un file /etc/modprobe.d/BLACKLIST-nouveau.conf che contiene la riga

Codice: Seleziona tutto

blacklist nouveau
puoi anche creare a mano un file del genere senza installare il pacchetto dedicato (io faccio cosi') ma si, in qualche modo devi blacklistarlo.
detto fra noi non uso praticamente mai i driver nouveau (che mi sono crashati diverse volte in passato) se ho una scheda nvidia sulla macchina, solo se la scheda e' veramente vecchia e non supporta nessuno dei driver nvidia*legacy, ma in quel caso e' difficile anche che la prenda in considerazione come possibile macchina desktop.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3789
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: aggiornamento nuono kernel con Nvidia

Messaggio da joe »

Ok. Ho fatto.
Però ho dovuto riavviare il sistema, immagino che dopo la chiusura di X, servisse proprio scaricare a mano con modprobe il vecchio nouveau e caricare "nvidia". Poi lanciare di nuovo "startx". In ogni caso dopo il reboot si è avviato tutto come prima..
Apparentemente rilevo solo qualche miglioramento "ad occhio" sul carico della CPU quando si riproduce un video a 1080p. Se lo avvio tipo da youtube però rilevo un maggiore carico sul processore, mentre se lo stesso video di youtube lo riproduco col player MPV ecco che il carico sulla CPU scende al 30 - 40%.

Quali altre verifiche potrei fare per assicurarmi di avere i driver proprietari funzionanti e configurati quanto meglio per ottenere la resa corretta?

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3022
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: aggiornamento nuono kernel con Nvidia

Messaggio da ponce »

joe ha scritto:Se lo avvio tipo da youtube però rilevo un maggiore carico sul processore, mentre se lo stesso video di youtube lo riproduco col player MPV ecco che il carico sulla CPU scende al 30 - 40%.
e' normale: youtube usa flash che a sua volta non usa vdpau, mentre mpv usa vdpau (ogni player fa storia a se).

se vuoi abilitare vdpau per flash con i driver proprietari nvidia devi installare vdpau-video e poi creare un file /etc/adobe/mms.cfg con questo contenuto

Codice: Seleziona tutto

EnableLinuxHWVideoDecode = 1
OverrideGPUValidation = 1
tieni di conto comunque che vdpau sta venendo progressivamente abbandonato dagli sviluppatori e si stanno spostando tutti sull'uso diretto delle API cuda (con mpv che guida il gruppo).
Quali altre verifiche potrei fare per assicurarmi di avere i driver proprietari funzionanti e configurati quanto meglio per ottenere la resa corretta?
non c'e' molto da configurare, se vanno allora va bene. :)

comunque un po' di parametri puoi settarli lanciando nvidia-settings.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3789
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: aggiornamento nuono kernel con Nvidia

Messaggio da joe »

Intanto grazie delle risposte. Non vorrei sporcare troppo il topic di dafrasaga andando un po' fuori tema, ma magari il discorso può servire anche a lui.
Il fatto è che in questo ambito (sfruttamento risorse video) le cose si sono evolute e personalmente non sono aggiornato...

Sono partito dal pratico e ho provato a riprodurre un video sia con Mplayer che con MPV. Ecco cosa è venuto fuori:

Codice: Seleziona tutto

mplayer Desktop/i_am_legend-1080p_blu-ray_trailer/I\ Am\ Legend\ -\ Trailer.mp4 
MPlayer 1.2.1-5.3.0 (C) 2000-2016 MPlayer Team

Playing Desktop/i_am_legend-1080p_blu-ray_trailer/I Am Legend - Trailer.mp4.
libavformat version 56.40.101 (internal)
libavformat file format detected.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x55bf86a60aa0]Protocol name not provided, cannot determine if input is local or a network protocol, buffers and access patterns cannot be configured optimally without knowing the protocol
[lavf] stream 0: video (h264), -vid 0
[lavf] stream 1: audio (aac), -aid 0, -alang und
VIDEO:  [H264]  1920x816  24bpp  23.976 fps  7979.5 kbps (974.1 kbyte/s)
Clip info:
 major_brand: isom
 minor_version: 1
 compatible_brands: isom
 creation_time: 2008-12-01 05:16:01
Load subtitles in Desktop/i_am_legend-1080p_blu-ray_trailer/
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 56.60.100 (internal)
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 6 ch, floatle, 258.3 kbit/2.80% (ratio: 32290->1152000)
Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))
==========================================================================
AO: [alsa] 48000Hz 2ch floatle (4 bytes per sample)
Starting playback...
Movie-Aspect is 2.35:1 - prescaling to correct movie aspect.
VO: [vdpau] 1920x816 => 1920x816 Planar YV12 
[ASPECT] Warning: No suitable new res found!
[ASPECT] Warning: No suitable new res found!
A:   1.6 V:   1.6 A-V:  0.000 ct:  0.000   0/  0 23% 18%  1.2% 4 0 

Exiting... (Quit)
Quindi, Mplayer sta effettivamente usando usa VDPAU.
Vediamo cosa succede con MVP:

Codice: Seleziona tutto

$ mpv Desktop/i_am_legend-1080p_blu-ray_trailer/I\ Am\ Legend\ -\ Trailer.mp4 
Playing: Desktop/i_am_legend-1080p_blu-ray_trailer/I Am Legend - Trailer.mp4
 (+) Video --vid=1 (*) (h264 1920x816 23.976fps)
 (+) Audio --aid=1 --alang=und (*) (aac 6ch 48000Hz)
AO: [pulse] 48000Hz 5.1 6ch float
VO: [opengl] 1920x816 yuv420p
AV: 00:00:00 / 00:02:03 (0%) A-V:  0.000
Ecco che qua qualcosa non torna perchè usa "opengl"

Riporto di seguito i files di configurazione di vdpau, mpv e mplayer:

Codice: Seleziona tutto

$ grep -v ^# /etc/profile.d/vdpau.sh | sed /^$/d
export VDPAU_LOG=0
export VDPAU_DRIVER="nvidia"

$ grep -v ^# .config/mpv/mpv.conf|sed /^$/d
cache-default=853600
ytdl-format=bestvideo[height<=?1080]+bestaudio/best

$ grep -v ^# .mplayer/config|sed /^$/d
Quindi nè per mplayer nè per mpv ho specificato quale "driver video" usare. Tuttavia Mplayer di suo sceglie vdpau, mentre MPV opta per opengl.

Ok, la cosa è risolvibile facilmente: volendo usare vdpau anche con MPV lo si "forza" specificando il "vo=vdpau":

Codice: Seleziona tutto

$ grep -v '^$\|^#' .config/mpv/mpv.conf
vo=vdpau
cache-default=853600
ytdl-format=bestvideo[height<=?1080]+bestaudio/best
Ed ecco che adesso anche MPV usa vdpau:

Codice: Seleziona tutto

$ mpv Desktop/i_am_legend-1080p_blu-ray_trailer/I\ Am\ Legend\ -\ Trailer.mp4 
Playing: Desktop/i_am_legend-1080p_blu-ray_trailer/I Am Legend - Trailer.mp4
 (+) Video --vid=1 (*) (h264 1920x816 23.976fps)
 (+) Audio --aid=1 --alang=und (*) (aac 6ch 48000Hz)
AO: [pulse] 48000Hz 5.1 6ch float
VO: [vdpau] 1920x816 yuv420p
[vo/vdpau] Compositing window manager detected. Assuming timing info is inaccurate.
AV: 00:00:01 / 00:02:03 (0%) A-V:  0.000


Exiting... (Quit)
Ma il file "/etc/profile.d/vdpau.sh" a cosa serve precisamente?
Perchè sia togliendo il commento da "nvidia" che lasciandolo non ho notato differenze, ad esempio pur avendolo decommentato MPV senza specifiche impostazioni usava opengl come output video e non vdpau (ho eseguito lo script dalla stessa shell da cui ho poi avviato mpv e in effetti l'unica cosa che cambia è il contenuto della variabile VDPAU_DRIVER che risulta appunto "nvidia").

PS.
Ho provato a specificare l'opzione -hwdec=vdpau (insieme a -vo=vdpau) ed effettivamente aggiungendo quella il carico della CPU è visibilmente più basso: su desktop hop un plasmoide che mostra il grafico del carico della CPU e aggiungendo quel parametro sta sotto il 10%, mentre senza arriva al 30%).
Ho provato anche -hwdec=cuda (che però richiede -vo=opengl) tuttavia ottengo un warning:

Codice: Seleziona tutto

Requested hardware decoder not compiled
Forse serve ricompilare MPV con qualche opzione particolare o qualcosa del genere... mi informerò.

Spero in qualche commento e risposta ulteriore alle domande che ho posto sopra.
Saluti! :)

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3022
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: aggiornamento nuono kernel con Nvidia

Messaggio da ponce »

credo che sia il caso che tu apra un altro topic (magari con un titolo appropriato) :)

Farò del mio meglio ma mi manca materialmente il tempo per aiutarti a sviscerare gli argomenti che proponi come vorresti :(

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3789
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: aggiornamento nuono kernel con Nvidia

Messaggio da joe »

Ok, intanto grazie ancora, vedrò di aprire un altro topic con calma.
Ciao

Rispondi