LINUX.ORG.RU

ядро 2.6.31 + nvidia video drivers = головная боль


0

0

Буэнос ночес, собственно предмет вопроса: собрал ядро 2.6.31-rt(и без него), конфиг ядра от моего же предыдущего(2.6.26.8-rt16) ядра, видеокарта gforce-fx-5200, пробую ставить драйвер , получаю :

installer version: 1.0.7

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       : false
  no cc version check     : false
  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
-> License accepted.
-> Installing NVIDIA driver version 173.14.18.
-> There appears to already be a driver installed on your system (version: 173.
   14.12).  As part of installing this driver (version: 173.14.18), the existin
   g driver will be uninstalled.  Are you sure you want to continue? ('no' will
   abort installation) (Answer: Yes)
-> No precompiled kernel interface was found to match your kernel; would you li
   ke the installer to attempt to download a kernel interface for your kernel f
   rom the NVIDIA ftp site (ftp://download.nvidia.com)? (Answer: No)
-> No precompiled kernel interface was found to match your kernel; this means
   that the installer will need to compile a new kernel interface.
-> Performing CC sanity check with CC="cc".
-> Performing CC version check with CC="cc".
-> Kernel source path: '/lib/modules/2.6.31/source'
-> Kernel output path: '/lib/modules/2.6.31/build'
-> Performing rivafb check.
-> Performing nvidiafb check.
-> Performing Xen check.
-> Cleaning kernel module build directory.
   executing: 'cd ./usr/src/nv; make clean'...
-> Building kernel module:
   executing: 'cd ./usr/src/nv; make module SYSSRC=/lib/modules/2.6.31/source S
   YSOUT=/lib/modules/2.6.31/build'...
   NVIDIA: calling KBUILD...
   make CC=cc KBUILD_OUTPUT=/lib/modules/2.6.31/build KBUILD_VERBOSE=1 -C /lib/
   modules/2.6.31/source SUBDIRS=/tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg
   1/usr/src/nv modules
   make -C /lib/modules/2.6.31/build \
   	KBUILD_SRC=/usr/src/linux-2.6.31 \
   	KBUILD_EXTMOD="/tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/src/nv" 
   -f /usr/src/linux-2.6.31/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/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/src/nv/.tmp_ver
   sions ; rm -f /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/src/nv/.tm
   p_versions/*
   make -f /usr/src/linux-2.6.31/scripts/Makefile.build obj=/tmp/selfgz3183/NVI
   DIA-Linux-x86-173.14.18-pkg1/usr/src/nv
     cc -Wp,-MD,/tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/src/nv/.nv.
   o.d  -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.3.2/include -Iinclude 
   -Iinclude2 -I/usr/src/linux-2.6.31/include -I/usr/src/linux-2.6.31/arch/x86/
   include -include include/linux/autoconf.h   -I/tmp/selfgz3183/NVIDIA-Linux-x
   86-173.14.18-pkg1/usr/src/nv -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes 
   -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-de
   claration -Wno-format-security -fno-delete-null-pointer-checks -Os -m32 -mso
   ft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march
   =i686 -mtune=pentium4 -mtune=generic -Wa,-mtune=generic32 -ffreestanding -DC
   ONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare -fno-a
   synchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-stack-
   protector -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-si
   gn -fno-strict-overflow   -I/tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/
   usr/src/nv -Wall -Wimplicit -Wreturn-type -Wswi
   tch -Wformat -Wchar-subscripts -Wparentheses -Wpointer-arith -Wno-multichar 
   -Werror -MD -Wsign-compare -Wno-cast-qual -Wno-error -D__KERNEL__ -DMODULE -
   DNVRM -DNV_VERSION_STRING=\"173.14.18\" -UDEBUG -U_DEBUG -DNDEBUG  -DMODULE 
   -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(nv)"  -D"KBUILD_MODNAME=K
   BUILD_STR(nvidia)"  -c -o /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/us
   r/src/nv/.tmp_nv.o /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/src/n
   v/nv.c

★★★★★
   In file included from include/linux/bitops.h:17,
                    from include/linux/kernel.h:15,
                    from include/linux/sched.h:52,
                    from include/linux/utsname.h:35,
                    from /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/sr
   c/nv/nv-linux.h:19,
                    from /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/sr
   c/nv/nv.c:14:
   /usr/src/linux-2.6.31/arch/x86/include/asm/bitops.h: In function ‘set_bitâ
   :
   /usr/src/linux-2.6.31/arch/x86/include/asm/bitops.h:64: warning: pointer of 
   type ‘void *’ used in arithmetic
   /usr/src/linux-2.6.31/arch/x86/include/asm/bitops.h: In function ‘clear_bi
   t’:
   /usr/src/linux-2.6.31/arch/x86/include/asm/bitops.h:102: warning: pointer of
   type ‘void *’ used in arithmetic
   /usr/src/linux-2.6.31/arch/x86/include/asm/bitops.h: In function ‘change_b
   it’:
   /usr/src/linux-2.6.31/arch/x86/include/asm/bitops.h:178: warning: pointer of
   type ‘void *’ used in arithmetic
   In file included from include/linux/list.h:6,
                    from include/linux/preempt.h:11,
                    from include/linux/spinlock.h:50,
                    from include/linux/seqlock.h:29,
                    from include/linux/time.h:8,
                    from include/linux/timex.h:56,
                    from include/linux/sched.h:54,
                    from include/linux/utsname.h:35,
                    from /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/sr
   c/nv/nv-linux.h:19,
                    from /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/sr
   c/nv/nv.c:14:
   include/linux/prefetch.h: In function ‘prefetch_range’:
   include/linux/prefetch.h:57: warning: pointer of type ‘void *’ used in a
   rithmetic
   In file included from include/linux/utsname.h:35,
                    from /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/sr
   c/nv/nv-linux.h:19,
                    from /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/sr
   c/nv/nv.c:14:
   include/linux/sched.h: In function ‘object_is_on_stack’:
   include/linux/sched.h:2182: warning: pointer of type ‘void *’ used in ar
   ithmetic
   In file included from include/linux/io.h:22,
                    from include/linux/pci.h:54,
                    from /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/sr
   c/nv/nv-linux.h:86,
                    from /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/sr
   c/nv/nv.c:14:
   /usr/src/linux-2.6.31/arch/x86/include/asm/io.h: In function ‘writeq’:
   /usr/src/linux-2.6.31/arch/x86/include/asm/io.h:70: warning: pointer of type
   ‘void *’ used in arithmetic
   In file included from include/linux/dma-mapping.h:7,
                    from include/asm-generic/pci-dma-compat.h:7,
                    from /usr/src/linux-2.6.31/arch/x86/include/asm/pci.h:129,
                    from include/linux/pci.h:1112,
                    from /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/sr
   c/nv/nv-linux.h:86,
                    from /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/sr
   c/nv/nv.c:14:
   include/linux/scatterlist.h: In function ‘sg_virt’:
   include/linux/scatterlist.h:199: warning: pointer of type ‘void *’ used 
   in arithmetic
   In file included from /usr/src/linux-2.6.31/arch/x86/include/asm/dma-mapping
   .h:36,
                    from include/linux/dma-mapping.h:107,
                    from include/asm-generic/pci-dma-compat.h:7,
                    from /usr/src/linux-2.6.31/arch/x86/include/asm/pci.h:129,
                    from include/linux/pci.h:1112,
                    from /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/sr
   c/nv/nv-linux.h:86,
                    from /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/sr
   c/nv/nv.c:14:
   include/asm-generic/dma-mapping-common.h: In function ‘dma_map_page’:
   include/asm-generic/dma-mapping-common.h:77: warning: pointer of type ‘voi
   d *’ used in arithmetic
   In file included from /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/sr
   c/nv/nv-linux.h:113,
                    from /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/sr
   c/nv/nv.c:14:
   include/linux/highmem.h: In function ‘zero_user_segments’:
   include/linux/highmem.h:149: warning: pointer of type ‘void *’ used in a
   rithmetic
   include/linux/highmem.h:149: warning: pointer of type ‘void *’ used in a
   rithmetic
   include/linux/highmem.h:149: warning: pointer of type ‘void *’ used in a
   rithmetic
   include/linux/highmem.h:149: warning: pointer of type ‘void *’ used in a
   rithmetic
   include/linux/highmem.h:152: warning: pointer of type ‘void *’ used in a
   rithmetic
   include/linux/highmem.h:152: warning: pointer of type ‘void *’ used in a
   rithmetic
   include/linux/highmem.h:152: warning: pointer of type ‘void *’ used in a
   rithmetic
   include/linux/highmem.h:152: warning: pointer of type ‘void *’ used in a
   rithmetic
   /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/src/nv/nv.c: In function
   ‘nvos_proc_create’:
   /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/src/nv/nv.c:610: error: 
   ‘struct proc_dir_entry’ has no member named ‘owner’
   /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/src/nv/nv.c:611: error: 
   ‘struct proc_dir_entry’ has no member named ‘owner’
   /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/src/nv/nv.c:612: error: 
   ‘struct proc_dir_entry’ has no member named ‘owner’
   /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/src/nv/nv.c:632: error: 
   ‘struct proc_dir_entry’ has no member named ‘owner’
   /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/src/nv/nv.c:645: error: 
   ‘struct proc_dir_entry’ has no member named ‘owner’
   /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/src/nv/nv.c:656: error: 
   ‘struct proc_dir_entry’ has no member named ‘owner’
   /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/src/nv/nv.c:666: error: 
   ‘struct proc_dir_entry’ has no member named ‘owner’
   /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/src/nv/nv.c:676: error: 
   ‘struct proc_dir_entry’ has no member named ‘owner’
   /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/src/nv/nv.c:687: error: 
   ‘struct proc_dir_entry’ has no member named ‘owner’
   /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/src/nv/nv.c:694: error: 
   ‘struct proc_dir_entry’ has no member named ‘owner’
   /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/src/nv/nv.c: In function
   ‘nvos_proc_add_warning_file’:
   /tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/src/nv/nv.c:721: error: 
   ‘struct proc_dir_entry’ has no member named ‘owner’
   make[4]: *** [/tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/src/nv/nv.
   o] Ошибка 1
   make[3]: *** [_module_/tmp/selfgz3183/NVIDIA-Linux-x86-173.14.18-pkg1/usr/sr
   c/nv] Ошибка 2
   make[2]: *** [sub-make] Ошибка 2
   NVIDIA: left KBUILD.
   nvidia.ko failed to build!
   make[1]: *** [module] Ошибка 1
   make: *** [module] Ошибка 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.

кто сталкивался/решил ? нагуглил про какие-то патчи, но к другим ядрам.версиям драйвера..

S_Paul ★★★★★
() автор топика
Ответ на: комментарий от S_Paul

у тебя проблема не в ядре и не в дровах, а в правах. От рута собираешь?

Klayman
()
Ответ на: комментарий от Klayman

ненене!
в убунте кармик, .31 ядро было, драйвер 173.14.16 - несобирался без патчей. Патчи поставил, собралось (было в середине лета).

пробовал 173.14.20?
http://www.nvidia.com/object/unix.html

n_play
()
Ответ на: комментарий от Klayman

> на 2.6.31 компилятся только 185.18.31> дрова. Тебе придется откатывать ядро на старую версию

Нет, начиная с 185.18.14. Но они на некоторых мобильных картах делают кернел-паник. Посему первый рабочий драйвер начинается с версии 185.18.36.

andreyu ★★★★★
()
Ответ на: комментарий от S_Paul

ядро 2.6.31-rt + nvidia video drivers = головная боль

> кто сталкивался/решил ? нагуглил про какие-то патчи, но к другим ядрам.версиям драйвера..

для 2.6.31 давно обновлена вся линейка ядер, а вот с 2.6.31-rt ( _-rt_ ) действительно не собирается.

Adjkru ★★★★★
()
Ответ на: комментарий от S_Paul

и патч нашёлся, попробую, спасибо.

S_Paul ★★★★★
() автор топика
Ответ на: комментарий от Adjkru

173,14,20 не поставился с той-же руганью.
патч накладывается с ошибкой:
cat NVIDIA-PATCH.sh | patch -p1
patching file nv-linux.h
patch: **** malformed patch at line 24: Index: nvidiaCUR-kernel/os-interface.c

после этого приходится ещё руками в nv.c всё что с "mutex" комментить.
вроде собирается но после установки и запуска -чёрный экран, но не виснет, приходится alt+ctrl+F1 и наощупь ребут.

S_Paul ★★★★★
() автор топика
Ответ на: комментарий от S_Paul

Патчик для драйвера NVIDIA 190.32 под Linux с ядром 2.6.31 и RealTime патчем rt11


Ингридиенты:

* ядро - http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.tar.bz2
* rt патч - http://www.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.31-rt11.bz2

* драйвер - ftp://download.nvidia.com/XFree86/Linux-x86_64/190.32/NVIDIA-Linux-x86_64-190...

* патч на драйвер - http://pavlinux.ru/nv/nvidia-190.32-for-2.6.31.patch


# cd /usr/src
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.tar.bz2
# wget http://www.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.31-rt11.bz2
# wget ftp://download.nvidia.com/XFree86/Linux-x86_64/190.32/NVIDIA-Linux-x86_64-190...
# wget http://pavlinux.ru/nv/nvidia-190.32-for-2.6.31.patch

# tar -xvf linux-2.6.31.tar.bz2
# cd linux-2.6.31
# bzip -cd ../patch-2.6.31-rt11.bz2 | patch -p1
# make menuconfig && make && make modules_install && make install;
# cd ..

# sh NVIDIA-Linux-x86_64-190.32-pkg2.run -x
# cd NVIDIA-Linux-x86_64-190.32/usr/src/nv
# patch -p0 < /usr/src/nvidia-190.32-for-2.6.31.patch

# make SYSSRC=/usr/src/linux-2.6.31
# make SYSSRC=/usr/src/linux-2.6.31 -f Makefile.kbuild

# cp nvidia.ko /lib/modules/2.6.31/kernel/
# depmod -a
# init 6;

pavlinux
()
Ответ на: комментарий от pavlinux

спасибо :), а с 173.хх.хх сработает? видеокарта у меня FX5200.

S_Paul ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.