nvidia-legacy340 su slackware current

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
Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3173
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

nvidia-legacy340 su slackware current

Messaggio da joe »

Apro qua un topic ad hoc per riportare l'esito della prova d'installazione dei due pacchetti -kernel e -driver della versione 340.108 del pacchetto in oggetto; si parla di driver proprietari nvidia per schede video non all'ultimo grido e non di particolare spinta.

Come accennato in altro topic sulla current attuale lo slackbuild del repo SBo-14.2 non funziona (in realtà è per la versione 340.107 che se non sbaglio è quella che nvidia dichiara "stabile", la 340.108 dovrebbe essere già nel gruppo "di sviluppo").

Ponce ha gentilmente fornito uno slackbuild di 340.108 kernel/driver da testare sulla current.

nvidia-legacy340-kernel
Ho compilato in chroot da slack stabile, avendo l'accortezza di lanciare specificando la variabile KERNEL impostata alla versione del kernel della current, altrimenti si compila per quello della stabile e ovviamente poi su current non funge.

Codice: Seleziona tutto

KERNEL=5.4.10 ./nvidia-legacy340.108-kernel.SlackBuild
La compilazione non da errori!

Non ho testato il pacchetto però perché non ho ancora riavviato in current.
---

Veniamo al pacchetto nvidia-legacy340-driver

La compilazione va a buon fine.
Ma durante l'installazione viene rilevata l'assenza di /usr/lib64/libGL-1.2.0
Sulla slack stabile troviamo che appartiene al pacchetto mesa:

Codice: Seleziona tutto

slackpkg file-search /usr/lib64/libGL.so.1.2.0


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

Looking for usr/lib64/libGL\.so\.1\.2\.0 in package list. Please wait... DONE

The list below shows the packages that contains "usr/lib64/libGL\.so\.1\.2\.0" file.

[ Status           ] [ Repository               ] [ Package                                  ]
   installed               slackware64                  mesa-11.2.2-x86_64-1
Questo file viene di norma coinvolto dall'esecuzione in postinstall (attraverso doinst.sh) dello script nvidia-switch.
Ma...
Ecco cosa contiene in intestazione tale script:

Codice: Seleziona tutto

ROOT="${ROOT:-/}"
CWD=$(pwd)
LIBSUFFIX="64" # This will be replaced in the build script
COMPAT32="no" # This will be replaced in the build script (yes | no)
INC="${ROOT}usr/include/GL"
LIB="${ROOT}usr/lib${LIBSUFFIX}"
LIB32="${ROOT}usr/lib"
XMOD="${LIB}/xorg/modules"
XLIB="$XMOD/extensions"
NV_VERSION='340.108' # This will be replaced in the build script
GL_VERSION="1.2.0"
NV_CONF="/usr/share/X11/xorg.conf.d/10-nvidia.conf"
La GL_VERSION sembrerebbe quindi fissa.
Ma sulla slack current che versione abbiamo?
Io vedo un libGL.so.1.7.0 che però apparterebbe non a mesa ma a libglvnd:

Codice: Seleziona tutto

# slackpkg file-search /usr/lib64/libGL.so.1.7.0

Looking for usr/lib64/libGL\.so\.1\.7\.0 in package list. Please wait... DONE

The list below shows the packages that contains "usr/lib64/libGL\.so\.1\.7\.0" file.

[ Status           ] [ Repository               ] [ Package                                  ]
   installed               slackware64                  libglvnd-1.3.0-x86_64-1
Potrebbe essere da modificare lo script nvidia switch alla voce GL_VERSION?

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

Re: nvidia-legacy340 su slackware current

Messaggio da ponce »

joe ha scritto:Potrebbe essere da modificare lo script nvidia switch alla voce GL_VERSION?
si, credo proprio che sia quello: grazie per il bug report!

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3173
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: nvidia-legacy340 su slackware current

Messaggio da joe »

Aggiorno un attimo la situazione.
nonostante nvidia-driver durante l'installazione si sia lasciato indietro il rimaneggiamento di libGL, ho provato a fare il build sempre da chroot di:
- nvidia-kernel
- nvidia-driver
- st
- dmenu
- dwm

E a riavviare il sistema direttamente in con la Current. Fin qui nulla di nuovo, dopo aver sviscerato in altro topic gli indicibili vizietti di grub-makeconfig sapevamo già che il nuovo sistema funzionava e si avviava senza problemi.
Però non ero andato oltre la console TTY. Invece a sto giro con i pacchetti ho lanciato il fatidico startx!

Ok, parte tutto e nvidia-setting riporta la versione 340.108 del driver. Quindi i pacchetti compilati con lo slackbuild rivisto da ponce funzionano, anche se il driver non è perfetto come abbiamo visto nel post precedente.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3173
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: nvidia-legacy340 su slackware current

Messaggio da joe »

Stavo riguardando un attimo lo script nvidia-switch.
Ma non mi convince troppo qualche riga di quello script.
Anzitutto è stato messo creato dall'ex-mantainer del pacchetto relativo? ovvero nvidia-*-driver-*_SBo?

Perché ad esempio la riga seguente:

Codice: Seleziona tutto

# grep -n GEL /usr/sbin/nvidia-switch
61:    ln -sf libEGL.so.$NV_VERSION libGEL.so.1.0.0
Mi sa un po' di errore di battitura: "EGL" diventa "GEL" nel nome del link.
Siamo sicuri sicuri che sia corretto?
Questa riga la rilevo anche nella versione di nvidia-legacy340-driver che ho sulla 14.2, quindi non riguarda solo slackware-current.

È forse un errorino banale, che però potrebbe condurre a qualche grattacapo qualora un altro software andasse a cercare libEGL.so.1.0.0 e non lo trovasse perché al suo posto abbiamo creato libGEL.so.1.0.0.
Non vi pare?

Altra osservazione riguardante slackware current:

Codice: Seleziona tutto

# grep libEGL.*1.0.0* /usr/sbin/nvidia-switch
    if [ ! -e libEGL.so.1.0.0-xorg ]; then
       mv libEGL.so.1.0.0 libEGL.so.1.0.0-xorg
    ln -sf libEGL.so.$NV_VERSION libGEL.so.1.0.0
     if [ -e libEGL.so.1.0.0-xorg ]; then
         mv libEGL.so.1.0.0-xorg libEGL.so.1.0.0
         ln -sf libEGL.so.1.0.0 libEGL.so.1
         ln -sf libEGL.so.1.0.0 libEGL.so
Queste righe eseguono procedure ipotizzando che sul sistema sia installata la versione 1.0.0 di libEGL.
Va bene sulla 14.2.
Ma sulla Current invece non va bene!

Codice: Seleziona tutto

# slackpkg file-search libEGL.so.1.0.0

Looking for libEGL\.so\.1\.0\.0 in package list. Please wait... DONE
No packages contains "libEGL\.so\.1\.0\.0" file.


# slackpkg file-search libEGL.so.1.1.0

Looking for libEGL\.so\.1\.1\.0 in package list. Please wait... DONE
The list below shows the packages that contains "libEGL\.so\.1\.1\.0" file.
[ Status           ] [ Repository               ] [ Package                                  ]
   installed               multilib                     libglvnd-compat32-1.3.0-x86_64-1compat32
   installed               slackware64                  libglvnd-1.3.0-x86_64-1


# ls /usr/lib64/libEGL.*
/usr/lib64/libEGL.so  /usr/lib64/libEGL.so.1  /usr/lib64/libEGL.so.1.1.0  /usr/lib64/libEGL.so.340.108-nvidia
Cioè sulla Current abbiamo una libEGL più recente la 1.1.0 mentre lo script fa riferimento a 1.0.0 e infatti all'installazione dà errore.
Aggiungo che a livello di scrittura del codice, converrebbe mettere la versione di libEGL in una variabile, insieme alle altre che sono già definite ad inizio script nvidia-switch. Così se un domani cambia la versione di libEGL basta che modifico solo la variabile in cima...

Vi chiedo conferma su quanto ho scritto.

E a ponce chiedo:
rispetto al contenuto dell'archivio tar che mi avevi mandato cosa dovrei fare?
inviarti una patch da applicare a tutto il pacchetto, oppure solo una patch relativa al singolo file nvidia-switch?
Oppure ci pensi direttamente tu e via? Dimmi te come ti viene più comodo. :)

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

Re: nvidia-legacy340 su slackware current

Messaggio da ponce »

per quel che riguarda la versione di libEGL nello script posso anche fare io (mandami un PM con il tuo nome e l'indirizzo email che vuoi associare al commit su git), ma per quel che riguarda l'errore di battitura, visto che non e' specifico di current, devi scrivere al nuovo maintainer dello script.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3173
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: nvidia-legacy340 su slackware current

Messaggio da joe »

Alla fine non avevo poi contattato nessuno.
Ho dato un'occhiata alla mailinglist e vedo che in realtà il maintainer non è il tale Kenneth che si era fatto avanti col mesasgigo che hai linkato lì sopra.
Infatti come si vede da questo messaggio:
https://lists.slackbuilds.org/pipermail ... 23911.html
Il maintainer sembrerebbe un'altro ovvero tale Mats B. Tegner e pare che abbia anche aggiornato il pacchetto alla versione 340.108 abbandonando la precedente 340.107.

Dal tuo repo vedo che poi alla fine avevi applicato la mia patch ad nvidia-switch in toto, inclusa correzione all'errore di battitura (libGEL --> libEGL).
Per contro noto che nel repo della 14.2 il maintainer non ha apportato correzioni. In quel caso la versione di libEGL va bene, come le libGL, ma l'errore di battitura resta.

Potrei scrivergli un messaggio mostrandogli la versione pathcata per Current, da usare come base per modificare anche la versione per 14.2.
Cosa ne dici?

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

Re: nvidia-legacy340 su slackware current

Messaggio da ponce »

mi sembra una buona idea.
tieni di conto che potrebbe anche non essere interessato all'inserimento della variabile $EGL_VERSION (perche' le versioni delle librerie nella 14.2 rimarrano sicuramente quelle)... ma credo proprio che lo sara' all'errore di battitura.

Rispondi