Pagina 1 di 3

Solito problema Driver NVIDIA - Versione Kernel

Inviato: mer 31 ott 2007, 12:06
da Harp
Come già discusso innumerevoli volte, ci sono problemi cercando di compilare driver Nvidia utilizzando versioni nuove del kernel.
Pensavo di aver trovato il driver Nvidia universale: cioè quello che si compilava utilizzando qualsiasi versione del kernel.
Infatti, il driver NVIDIA più recente che sono in grado di compilare è il 1.0-9631 che utilizzo con il kernel 2.6.22.9.

Oggi, cercando di upgradare il kernel all'ultima versione 2.6.23.1, ricevo l'errore:

Codice: Seleziona tutto

ERROR: Unable to build the NVIDIA kernel module.
ERROR: Installation has failed.  Please see the file
       '/var/log/nvidia-installer.log' for details.  You may find suggestions
       on fixing installation problems in the README available on the Linux
       driver download page at www.nvidia.com.
Secondo voi, cosa può essere questa volta il problema?

Inviato: mer 31 ott 2007, 12:24
da whites11
anch'io ho avuto problemi a compilare i driver nvidia con il 2.6.23.1
nel mio caso mi ero "solo" scordato di installare i sorgenti del kernel
il file di log non ti aiuta?

Inviato: mer 31 ott 2007, 12:30
da kasher
anche io avevo avuto un problema simile, prova a fare così:
lancia il setup del driver passandoli l' opzione -x in modo da scompattare il suo contenuto, dopodichè spostati nella directory che è stata appena creata con la scompattazione andando poi sulla sottocartella usr/src/nv, a questo punto lancia un bel make che si occuperà di creare i moduli neccessari, poi torna alla radice della directory contenente il driver scompattato e lancia un bel ./nvidia-installer che andrà ad installare i moduli creati.

kasher

Inviato: mer 31 ott 2007, 12:31
da acrive
Stesso problema, appena nato dopo passaggio a current.. Guardando il file di log trovo delle sezioni (not specified), riguardo proprio la posizione del kernel e delle librerie X... Non è che ci sono problemi a livello di variabili d'ambiente?
Solo che ora nn saprei dove parare.. mi servirebbe un log di una installazione andata a buon fine..

Re: Solito problema Driver NVIDIA - Versione Kernel

Inviato: mer 31 ott 2007, 12:44
da conraid
Harp ha scritto: Secondo voi, cosa può essere questa volta il problema?
Allora.
Metti i sorgenti del kernel e lancia

Codice: Seleziona tutto

# make prepare
successivamente dai

Codice: Seleziona tutto

sh ./NVIDIA-Linux-x86-100.14.19-pkg1.run --x-prefix=/usr --x-module-path=/usr/lib/xorg/modules
Se da ancora errore, come è successo a me devi dare

Codice: Seleziona tutto

make
e non solo make prepare

In pratica compilare il kernel.

solitamente basta make prepare che crea dei file essenziali ai driver nvidia, non so come mai adesso non va, andrebbe capito meglio.

Fammi sapere

Inviato: mer 31 ott 2007, 12:44
da acrive
Questo è il mio log...

Codice: Seleziona tutto

root at slackBox on /home/luigi/driverNvidia # cat /var/log/nvidia-installer.log
nvidia-installer log file '/var/log/nvidia-installer.log'
creation time: Wed Oct 31 10:40:06 2007

option status:
  license pre-accepted    : false
  update                  : false
  force update            : false
  expert                  : false
  uninstall               : false
  driver info             : false
  precompiled interfaces  : true
  no ncurses color        : false
  query latest version    : false
  OpenGL header files     : true
  no questions            : false
  silent                  : false
  no recursion            : false
  no backup               : false
  kernel module only      : false
  sanity                  : false
  add this kernel         : false
  no runlevel check       : false
  no network              : false
  no ABI note             : false
  no RPMs                 : false
  no kernel module        : false
  force SELinux           : default
  no X server check       : true
  force tls               : (not specified)
  X install prefix        : (not specified)
  X library install path  : (not specified)
  X module install path   : (not specified)
  OpenGL install prefix   : (not specified)
  OpenGL install libdir   : (not specified)
  utility install prefix  : (not specified)
  utility install libdir  : (not specified)
  doc install prefix      : (not specified)
  kernel name             : (not specified)
  kernel include path     : (not specified)
  kernel source path      : (not specified)
  kernel output path      : (not specified)
  kernel install path     : (not specified)
  proc mount point        : /proc
  ui                      : (not specified)
  tmpdir                  : /tmp
  ftp mirror              : ftp://download.nvidia.com
  RPM file list           : (not specified)

Using: nvidia-installer ncurses user interface
-> The file '/tmp/.X0-lock' exists and appears to contain the process ID '3898'
   of a runnning X server.
-> Continuing per the '--no-x-check' option.
-> License accepted.
-> There appears to already be a driver installed on your system (version: 1.0-
   9631).  As part of installing this driver (version: 1.0-9631), the existing
   driver will be uninstalled.  Are you sure you want to continue? ('no' will a
   bort installation) (Answer: Yes)
-> No precompiled kernel interface was found to match your kernel; would you li
   che the installer to attempt to download a kernel interface for your kernel f
   rom the NVIDIA ftp site (ftp://download.nvidia.com)? (Answer: Yes)
-> No matching precompiled kernel interface was found on the NVIDIA ftp site;
   this means that the installer will need to compile a kernel interface for
   your kernel.
-> Performing CC sanity check with CC="cc".
-> Performing CC version check with CC="cc".
-> Kernel source path: '/lib/modules/2.6.23.1/source'
-> Kernel output path: '/lib/modules/2.6.23.1/build'
-> Performing rivafb check.
-> Performing nvidiafb check.
-> Cleaning kernel module build directory.
   executing: 'cd ./usr/src/nv; make clean'...
   rm -f -f nv.o nv-vm.o os-agp.o os-interface.o os-registry.o nv-i2c.o nv.o nv
   -vm.o os-agp.o os-interface.o os-registry.o nv-i2c.o nvidia.mod.o
   rm -f -f build-in.o nv-linux.o *.d .*.{cmd,flags}
   rm -f -f nvidia.{o,ko,mod.{o,c}} nv_compiler.h *~
   rm -f -f stprof stprof.o symtab.h Modules.symvers
   rm -f -rf .tmp_versions
-> Building kernel module:
   executing: 'cd ./usr/src/nv; make module SYSSRC=/lib/modules/2.6.23.1/source
   SYSOUT=/lib/modules/2.6.23.1/build'...

   NVIDIA: calling KBUILD...
   make CC=cc KBUILD_OUTPUT=/lib/modules/2.6.23.1/build KBUILD_VERBOSE=1 -C /li
   b/modules/2.6.23.1/source SUBDIRS=/tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631
   -pkg1/usr/src/nv modules
   make -C /lib/modules/2.6.23.1/build \
        KBUILD_SRC=/usr/src/linux-2.6.23.1 \
        KBUILD_EXTMOD="/tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv"
   -f /usr/src/linux-2.6.23.1/Makefile modules
   test -e include/linux/autoconf.h -a -e include/config/auto.conf || (         \
        echo;                                                           \
        echo "  ERROR: Kernel configuration is invalid.";               \
        echo "         include/linux/autoconf.h or include/config/auto.conf are mis
   sing.";      \
        echo "         Run 'make oldconfig && make prepare' on kernel src to fix it
   .";  \
        echo;                                                           \
        /bin/false)
   mkdir -p /tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/.tmp_ver
   sions
   rm -f /tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/.tmp_versio
   ns/*
   make -f /usr/src/linux-2.6.23.1/scripts/Makefile.build obj=/tmp/selfgz10319/
   NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv
   echo \#define NV_COMPILER \"`cc -v 2>&1 | tail -n 1`\" > /tmp/selfgz10319/NV
   IDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv_compiler.h
     cc -Wp,-MD,/tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/.nv.
   o.d  -nostdinc -isystem /usr/lib/gcc/i486-slackware-linux/4.1.2/include -D__
   KERNEL__ -Iinclude -Iinclude2 -I/usr/src/linux-2.6.23.1/include -include inc
   lude/linux/autoconf.h  -I/tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr
   /src/nv -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasin
   g -fno-common -Werror-implicit-function-declaration -O2 -pipe -msoft-float -
   mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i686 -mtu
   ne=i686 -ffreestanding -maccumulate-outgoing-args -DCONFIG_AS_CFI=1 -DCONFIG
   _AS_CFI_SIGNAL_FRAME=1 -I/usr/src/linux-2.6.23.1/include/asm-i386/mach-defau
   lt -Iinclude/asm-i386/mach-default -fomit-frame-pointer -fno-stack-protector
   -Wdeclaration-after-statement -Wno-pointer-sign  -I/tmp/selfgz10319/NVIDIA-L
   inux-x86-1.0-9631-pkg1/usr/src/nv -Wall -Wimplicit -Wreturn-
   type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wpointer-arith -Wno-
   multichar -Werror -O -fno-common -msoft-float -MD -Wsign-compare -Wno-cast-q
   ual -Wno-error -D_LOOSE_KERNEL_NAMES -D__KERNEL__ -DMODULE -DNVRM -DNV_MAJOR
   _VERSION=1 -DNV_MINOR_VERSION=0 -DNV_PATCHLEVEL=9631 -UDEBUG -U_DEBUG -DNDEB
   UG -DNV_SIGNAL_STRUCT_RLIM -DNV_MULTIPLE_BRIDGE_AGPGART_PRESENT -DNV_PCI_GET
   _CLASS_PRESENT -DNV_SYSCTL_MAX_MAP_COUNT_PRESENT -DNV_PM_MESSAGE_T_PRESENT -
   DNV_PCI_CHOOSE_STATE_PRESENT -DNV_VM_INSERT_PAGE_PRESENT -DNV_OLD_MM_KGDB_BR
   EAKPOINT_PRESENT -DNV_REMAP_PFN_RANGE_PRESENT -DNV_CHANGE_PAGE_ATTR_PRESENT
   -DNV_VMAP_4_PRESENT -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_
   STR(nv)"  -D"KBUILD_MODNAME=KBUILD_STR(nvidia)" -c -o /tmp/selfgz10319/NVIDI
   A-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.o /tmp/selfgz10319/NVIDIA-Linux-x86-
   1.0-9631-pkg1/usr/src/nv/nv.c
   In file included from include/linux/list.h:8,
                    from include/linux/preempt.h:11,
                    from include/linux/spinlock.h:49,
                    from include/linux/seqlock.h:29,
                    from include/linux/time.h:8,
                    from include/linux/timex.h:57,
                    from include/linux/sched.h:53,
                    from include/linux/utsname.h:35,
                    from /tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/sr
   c/nv/nv-linux.h:19,
                    from /tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/sr
   c/nv/nv.c:14:
   include/linux/prefetch.h: In function 'prefetch_range':
   include/linux/prefetch.h:62: warning: pointer of type 'void *' used in arith
   metic
   /tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c: At top leve
   l:
   /tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c:110: error:
   expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
   /tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c: In function
   'nvos_create_alloc':
   /tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c:454: error:
   'nv_pte_t_cache' undeclared (first use in this function)
   /tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c:454: error:
   (Each undeclared identifier is reported only once
   /tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c:454: error:
   for each function it appears in.)
   /tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c: In function
   'nvos_free_alloc':
   /tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c:486: error:
   'nv_pte_t_cache' undeclared (first use in this function)
   /tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c: In function
   'nvidia_init_module':
   /tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c:1372: error:
   'nv_pte_t_cache' undeclared (first use in this function)
   /tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c:1372: error:
   too many arguments to function 'kmem_cache_create'
   /tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c:1494: error:
   void value not ignored as it ought to be
   /tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c: In function
   'nvidia_exit_module':
   /tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c:1521: error:
   void value not ignored as it ought to be
   /tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c:1622: error:
   'nv_pte_t_cache' undeclared (first use in this function)
   /tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c: In function
   'nv_kern_open':
   /tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c:1849: warnin
   g: 'deprecated_irq_flag' is deprecated (declared at include/linux/interrupt.
   h:64)
   /tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.c:1849: warnin
   g: 'deprecated_irq_flag' is deprecated (declared at include/linux/interrupt.
   h:64)
   make[4]: *** [/tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/src/nv/nv.
   o] Error 1
   make[3]: *** [_module_/tmp/selfgz10319/NVIDIA-Linux-x86-1.0-9631-pkg1/usr/sr
   c/nv] Error 2
   make[2]: *** [modules] Error 2
   NVIDIA: left KBUILD.
   nvidia.ko failed to build!
   make[1]: *** [module] Error 1
   make: *** [module] Error 2
-> Error.
ERROR: Unable to build the NVIDIA kernel module.
ERROR: Installation has failed.  Please see the file
       '/var/log/nvidia-installer.log' for details.  You may find suggestions
       on fixing installation problems in the README available on the Linux
       driver download page at www.nvidia.com.
L'ipotesi di prima non vale.. il tutto viene riconosciuto.. posizioni & co.. quindi non ho proprio idea.. [/code]

Inviato: mer 31 ott 2007, 12:50
da conraid
acrive ha scritto:Questo è il mio log...

Codice: Seleziona tutto

echo "  ERROR: Kernel configuration is invalid.";               \
        echo "         include/linux/autoconf.h or include/config/auto.conf are mis
   sing.";      \
        echo "         Run 'make oldconfig && make prepare' on kernel src to fix it
   .";  \ 
Ti mancano dei file, ed anche "lui" ti dice di fare almeno make prepare, am purtroppo ho notato che va avanti, ma poi da errore.

Se compili il kernel tutto ok

Inviato: mer 31 ott 2007, 12:52
da Blizzard
ragà a me ha dato lo stesso problema,
poi ho compilato il kernel togliendo il vframebuffer nvidia e ci ero quasi arrivato....
avevo dimenticato un piccolo dettaglio...

avete disinstallato i driver prima di reinstallarli???

# nvidia-installer --uninstall

poi ho reinstallato ed è andato tutto ok!

ciao
Gio

Inviato: mer 31 ott 2007, 12:53
da acrive
ok ci provo subito! thanx!

Inviato: mer 31 ott 2007, 12:56
da conraid
Blizzard ha scritto: # nvidia-installer --uninstall
Io solamente quando cambio versione, altrimenti uso l'ozione -k e mi compila solamente il modulo.
Questa volta ha rotto in quel modo e non so perché.
In pratica ha voluto il kernel compilato.

Il framebuffer non lo compilo mai

Inviato: mer 31 ott 2007, 13:17
da Blizzard
boh! strano io ho provato con la versione vecchia che avevo e ... niente da fare! non riusciva ad installare il modulo di nessun modo!

poi vado a casa di un amico (che ne capisce e pure parecchio) e prova con i nuovi driver eseguendo prima l'uninstall!
bene lui
bene io

ciao
Gio

Inviato: mer 31 ott 2007, 13:39
da whites11
in effetti ora che ricordo anche io ho dovuto reinstallare da 0, non solo ricompilare il modulo

Inviato: mer 31 ott 2007, 16:21
da acrive
Per esser sicuro di non aver sbagliato upgrade a current, ho provato su un sistema con nvida a reinstallare da 0 slackware.
Con il kernel 2.6.23.1-smp non si riesce a compilare. I missing-file ci sono sempre nel log di installazione. E i file che nn trova ci sono!! Boh.

Inviato: mer 31 ott 2007, 16:45
da acrive

Inviato: mer 31 ott 2007, 16:56
da conraid
Sembra sia un problema di alcuni file dei driver nvidia.

qui c'è una patch per dei driver vecchi
http://home.hiwaay.net/~craigg/linux/NV_patch.html
ma in rete si trovano anche per gli altri

E comunque non dovrebbe essere difficile partire da qui per modificare i file nvidia.
Bisogna dire di passare i parametri in modo diverso ai kernel >2.6.23
Ora non ho tempo, alla prossima compilazione del kernel provo.