[arch-general] Proprietary nvidia driver for kernel-ARCH and kernel-rt

Ralf Madorf ralf.mardorf at alice-dsl.net
Fri Jan 6 10:32:29 EST 2012


On Fri, 2012-01-06 at 12:03 +0100, Ralf Mardorf wrote:
> Von: arch-general-bounces at archlinux.org im Auftrag von Thomas Bächler
> Gesendet: Fr 1/6/2012 11:28
> > I suspect the AUR's nvidia-rt will conflict with the package
> nvidia?!
> >
> > No, the AUR's nvidia-rt package should be what you want (if you diff
> the
> > nvidia and nvidia-rt PKGBUILDs, the differences should be small).
> >
> Thanks, so you're referring to
>
https://wiki.archlinux.org/index.php/NVIDIA#Alternate_install:_custom_kernel ?
> 
> Ok, if nvidia-rt from AUR would be up to date I could use this? But
> because the module is for another driver version, I need to build it
> using abs? Perhaps editing the nvidia-rt PKGBUILD file would be ok
> too?
> 
> I simply will test it later ;).
> 
> Ciao :)
> 
> Ralf

Hi :)

I tried editing the AUR's kernel-rt (see 1. and 2. trial) and I tried to
build a package using abs (see 3. trail), all failed.

########################################################################
# 1. trial
########################################################################

I edited the PKGFILE from the tarball
http://aur.archlinux.org/packages/nv/nvidia-rt/nvidia-rt.tar.gz
by copying from
http://aur.archlinux.org/packages/nv/nvidia-all/PKGBUILD .

[spinymouse at archlinux nvidia-rt]$ diff PKGBUILD PKGBUILD.pri
8c8
< pkgver=290.10
---
> pkgver=285.05.09
11c11
< pkgdesc="NVIDIA drivers for kernel 3.0-rt."
---
> pkgdesc="NVIDIA drivers for kernel26."

[spinymouse at archlinux nvidia-rt]$ makepkg -s
==> Making package: nvidia-rt 290.10-1 (Fri Jan  6 13:44:01 CET 2012)
[snip]
==> Validating source files with md5sums...
    NVIDIA-Linux-x86_64-290.10-no-compat32.run ... FAILED
    nvidiart.patch ... Passed
==> ERROR: One or more files did not pass the validity check!

########################################################################
# 2. trial
########################################################################

I copied the lines for the checksums too. After installing nvidia-rt and
rebooting the kernel-ARCH, X started, but after booting kernel-rt it
finished with a black screen. I had to reset the computer.

[spinymouse at archlinux nvidia-rt]$ diff PKGBUILD PKGBUILD.pri
8c8
< pkgver=290.10
---
> pkgver=285.05.09
11c11
< pkgdesc="NVIDIA drivers for kernel 3.0-rt."
---
> pkgdesc="NVIDIA drivers for kernel26."
20,24c20,24
<     _arch='x86'
<     _pkg="NVIDIA-Linux-${_arch}-${pkgver}"
<
source=("http://us.download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
<     md5sums=('50319a4b3818c12c9c7243525e0e6316')
< 
---
> 	_arch='x86'
> 	_pkg="NVIDIA-Linux-${_arch}-${pkgver}" &&
md5sums=('2d469a90abef50320f548cfa8085e3a0'
'8f57481f4ae28fb1ec5a5f3af366cceb')
>
source=("http://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run"
> 	nvidiart.patch
> )
27,31c27,31
<     _arch=$CARCH
<     _pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32"
<
source=("http://us.download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
<     md5sums=('cebfba9a7e91716a06c66bb5b38d9661')
< 
---
> 	_arch='x86_64'
> 	_pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32" &&
md5sums=('2f4a0e78f5560c07220b7ed6fc1e27aa'
'8f57481f4ae28fb1ec5a5f3af366cceb')
>
source=("http://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run"
> 	nvidiart.patch
> )

[spinymouse at archlinux nvidia-rt]$ makepkg -s
==> Making package: nvidia-rt 290.10-1 (Fri Jan  6 13:55:33 CET 2012)
[snip]
==> Entering fakeroot environment...
==> Starting package()...
==> Tidying install...
  -> Purging other files...
  -> Compressing man and info pages...
  -> Stripping unneeded symbols from binaries and libraries...
==> Creating package...
  -> Generating .PKGINFO file...
  -> Adding install file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: nvidia-rt 290.10-1 (Fri Jan  6 13:56:15 CET 2012)

########################################################################
# 3. trial
########################################################################

I'll followed the instructions given by
https://wiki.archlinux.org/index.php/NVIDIA#Alternate_install:_custom_kernel

There seemed to be the need to abort # abs, since nothing happened for
minutes. I tried again, fortunately then it only took some seconds.

        [root at archlinux spinymouse]# pacman -Syy && pacman -S abs
        [snip]
        [root at archlinux spinymouse]# abs
        ==> Downloading tarballs...
            ==> core...
            ==> extra...
            ==> community...
            ==> multilib...
        ^C==> ERROR: Aborted by user! Exiting...
        [root at archlinux spinymouse]# abs
        ==> Starting ABS sync...
        receiving file list ... done
        [snip]
        [root at archlinux spinymouse]# exit
        [spinymouse at archlinux ~]$ cd /usr/src
        [spinymouse at archlinux src]$ mkdir abs
        [spinymouse at archlinux src]$ cp -r /var/abs/extra/nvidia/ abs/
        [spinymouse at archlinux src]$ cd abs/nvidia
        
I didn't run the custom kernel, so I didn't run uname.

        [spinymouse at archlinux nvidia]$ ls ../..
        abs  linux-3.0-rt  linux-3.1.7-1-ARCH  #linux-rt  nvidia-rt
        [snip]
        [spinymouse at archlinux nvidia]$ cp -p nvidia.install
        nvidia.install.pri
        [spinymouse at archlinux nvidia]$ cp -p PKGBUILD PKGBUILD.pri
        [spinymouse at archlinux nvidia]$ diff nvidia.install
        nvidia.install.pri
        2c2
        <     EXTRAMODULES='extramodules-3.0-rt'
        ---
        >     EXTRAMODULES='extramodules-3.1-ARCH'
        8c8
        <     EXTRAMODULES='extramodules-3.0-rt'
        ---
        >     EXTRAMODULES='extramodules-3.1-ARCH'
        13c13
        <     EXTRAMODULES='extramodules-3.0-rt'
        ---
        >     EXTRAMODULES='extramodules-3.1-ARCH'
        [spinymouse at archlinux nvidia]$ diff PKGBUILD PKGBUILD.pri
        4c4
        < pkgname=nvidia-3.0.14_rt31-1
        ---
        > pkgname=nvidia
        6,7c6,7
        < _extramodules=extramodules-3.0-rt
        < _kernver=3.0-rt
        ---
        > _extramodules=extramodules-3.1-ARCH
        > _kernver="$(cat /lib/modules/${_extramodules}/version)"
        12,13c12,13
        < depends=('linux>=3.0' 'linux<3.2' "nvidia-utils=${pkgver}")
        < makedepends=('linux-headers>=3.0' 'linux-headers<3.2')
        ---
        > depends=('linux>=3.1' 'linux<3.2' "nvidia-utils=${pkgver}")
        > makedepends=('linux-headers>=3.1' 'linux-headers<3.2')
        42c42
        <     #echo "blacklist nouveau" >>
        "${pkgdir}/etc/modprobe.d/nouveau_blacklist.conf"
        ---
        >     echo "blacklist nouveau" >>
        "${pkgdir}/etc/modprobe.d/nouveau_blacklist.conf"
        [spinymouse at archlinux nvidia]$ ls /lib/modules/extra*
        /lib/modules/extramodules-3.0-rt:
        nvidia.ko.gz
        
        /lib/modules/extramodules-3.1-ARCH:
        nvidia.ko.gz  version
        [spinymouse at archlinux nvidia]$ rm *pri
        [spinymouse at archlinux nvidia]$ su
        [root at archlinux nvidia]# pacman -R nvidia-rt
        [root at archlinux nvidia]# exit
        [spinymouse at archlinux nvidia]$ makepkg -ci
        ==> Making package: nvidia-3.0.14_rt31-1 290.10-1 (Fri Jan  6
        15:42:03 CET 2012)
        [snip]
        NVIDIA: calling KBUILD...
        test -e include/generated/autoconf.h -a -e
        include/config/auto.conf || (		\
        echo;								\
        echo "  ERROR: Kernel configuration is invalid.";		\
        echo "         include/generated/autoconf.h or
        include/config/auto.conf are missing.";\
        echo "         Run 'make oldconfig && make prepare' on kernel
        src to fix it.";
        [snip]
        NVIDIA: left KBUILD.
        ==> Entering fakeroot environment...
        ==> Starting package()...
        ==> Tidying install...
          -> Purging other files...
          -> Compressing man and info pages...
        ==> Creating package...
          -> Generating .PKGINFO file...
          -> Adding install file...
          -> Compressing package...
        ==> Leaving fakeroot environment.
        ==> Finished making: nvidia-3.0.14_rt31-1 290.10-1 (Fri Jan  6
        15:43:54 CET 2012)
        ==> Installing package nvidia-3.0.14_rt31-1 with pacman -U...
        Password: 
        Sorry, try again.
        Password: 
        Sorry, try again.
        Password: 
        spinymouse is not in the sudoers file.  This incident will be
        reported.
        ==> WARNING: Failed to install built package(s).
        ==> Cleaning up...
        [spinymouse at archlinux nvidia]$ su
        [root at archlinux nvidia]# ls
        nvidia-3.0.14_rt31-1-290.10-1-x86_64.pkg.tar.xz
        NVIDIA-Linux-x86_64-290.10-no-compat32.run
        nvidia.install                                   PKGBUILD
        [root at archlinux nvidia]# pacman -U
        nvidia-3.0.14_rt31-1-290.10-1-x86_64.pkg.tar.xz
        resolving dependencies...
        looking for inter-conflicts...
        
        Targets (1): nvidia-3.0.14_rt31-1-290.10-1
        
        Proceed with installation? [Y/n] 
        (1/1) checking package
        integrity                                    
        (1/1) checking for file
        conflicts                                   
        error: failed to commit transaction (conflicting files)

nvidia-3.0.14_rt31-1: /lib/modules/extramodules-3.0-rt/nvidia.ko.gz
exists in filesystem
        [root at archlinux nvidia]#
        rm /lib/modules/extramodules-3.0-rt/nvidia.ko.gz
        [root at archlinux nvidia]# pacman -U
        nvidia-3.0.14_rt31-1-290.10-1-x86_64.pkg.tar.xz
        resolving dependencies...
        looking for inter-conflicts...
        
        Targets (1): nvidia-3.0.14_rt31-1-290.10-1

        cat: /lib/modules/extramodules-3.0-rt/version: No such file or
        directory
        In order to use nvidia module, reboot the system.
        [root at archlinux nvidia]#
        leafpad /lib/modules/extramodules-3.0-rt/version
        [root at archlinux nvidia]#
        cat /lib/modules/extramodules-3.0-rt/version
        3.0-rt

1. Rebooted kernel-ARCH
   Everything still is ok
2. Booted kernel-rt
   GDM messages, no X, see log files [1], [2]

Regards,

Ralf



[1]
[spinymouse at archlinux ~]$ cat /var/log/Xorg.0.log.old
[     8.888] 
X.Org X Server 1.11.3
Release Date: 2011-12-16
[     8.889] X Protocol Version 11, Revision 0
[     8.889] Build Operating System: Linux 3.1.5-1-ARCH x86_64 
[     8.889] Current Operating System: Linux archlinux 3.0-rt #1 SMP
PREEMPT RT Mon Dec 26 13:03:51 CET 2011 x86_64
[     8.889] Kernel command line: root=/dev/sda9 ro
[     8.889] Build Date: 17 December 2011  09:17:41AM
[     8.889]  
[     8.889] Current version of pixman: 0.24.0
[     8.889] 	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
[     8.889] Markers: (--) probed, (**) from config file, (==) default
setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[     8.889] (==) Log file: "/var/log/Xorg.0.log", Time: Fri Jan  6
16:00:14 2012
[     8.957] (==) Using config file: "/etc/X11/xorg.conf"
[     8.957] (==) Using config directory: "/etc/X11/xorg.conf.d"
[     8.974] (==) No Layout section.  Using the first Screen section.
[     8.975] (**) |-->Screen "Screen0" (0)
[     8.975] (**) |   |-->Monitor "Monitor0"
[     8.975] (**) |   |-->Device "Card0"
[     8.975] (==) Automatically adding devices
[     8.975] (==) Automatically enabling devices
[     9.002] (WW) The directory "/usr/share/fonts/TTF/" does not exist.
[     9.002] 	Entry deleted from font path.
[     9.002] (WW) The directory "/usr/share/fonts/OTF/" does not exist.
[     9.002] 	Entry deleted from font path.
[     9.017] (WW) `fonts.dir' not found (or not valid) in
"/usr/share/fonts/100dpi/".
[     9.017] 	Entry deleted from font path.
[     9.017] 	(Run 'mkfontdir' on "/usr/share/fonts/100dpi/").
[     9.017] (WW) `fonts.dir' not found (or not valid) in
"/usr/share/fonts/75dpi/".
[     9.017] 	Entry deleted from font path.
[     9.017] 	(Run 'mkfontdir' on "/usr/share/fonts/75dpi/").
[     9.017] (==) FontPath set to:
	/usr/share/fonts/misc/,
	/usr/share/fonts/Type1/
[     9.017] (==) ModulePath set to "/usr/lib/xorg/modules"
[     9.017] (II) The server relies on udev to provide the list of input
devices.
	If no devices become available, reconfigure udev or disable
AutoAddDevices.
[     9.018] (II) Loader magic: 0x7ccae0
[     9.018] (II) Module ABI versions:
[     9.018] 	X.Org ANSI C Emulation: 0.4
[     9.018] 	X.Org Video Driver: 11.0
[     9.018] 	X.Org XInput driver : 13.0
[     9.018] 	X.Org Server Extension : 6.0
[     9.019] (--) PCI:*(0:1:0:0) 10de:01d3:10b0:0401 rev 161, Mem @
0xfa000000/16777216, 0xd0000000/268435456, 0xfb000000/16777216, BIOS @
0x????????/131072
[     9.019] (II) Open ACPI successful (/var/run/acpid.socket)
[     9.019] (II) "extmod" will be loaded. This was enabled by default
and also specified in the config file.
[     9.019] (II) "dbe" will be loaded. This was enabled by default and
also specified in the config file.
[     9.019] (II) "glx" will be loaded. This was enabled by default and
also specified in the config file.
[     9.019] (II) "record" will be loaded. This was enabled by default
and also specified in the config file.
[     9.019] (II) "dri" will be loaded. This was enabled by default and
also specified in the config file.
[     9.019] (II) "dri2" will be loaded. This was enabled by default and
also specified in the config file.
[     9.019] (II) LoadModule: "extmod"
[     9.040] (II) Loading /usr/lib/xorg/modules/extensions/libextmod.so
[     9.048] (II) Module extmod: vendor="X.Org Foundation"
[     9.048] 	compiled for 1.11.3, module version = 1.0.0
[     9.048] 	Module class: X.Org Server Extension
[     9.048] 	ABI class: X.Org Server Extension, version 6.0
[     9.048] (II) Loading extension MIT-SCREEN-SAVER
[     9.048] (II) Loading extension XFree86-VidModeExtension
[     9.048] (II) Loading extension XFree86-DGA
[     9.048] (II) Loading extension DPMS
[     9.048] (II) Loading extension XVideo
[     9.048] (II) Loading extension XVideo-MotionCompensation
[     9.048] (II) Loading extension X-Resource
[     9.048] (II) LoadModule: "dri"
[     9.049] (II) Loading /usr/lib/xorg/modules/extensions/libdri.so
[     9.064] (II) Module dri: vendor="X.Org Foundation"
[     9.064] 	compiled for 1.11.3, module version = 1.0.0
[     9.064] 	ABI class: X.Org Server Extension, version 6.0
[     9.064] (II) Loading extension XFree86-DRI
[     9.064] (II) LoadModule: "dbe"
[     9.064] (II) Loading /usr/lib/xorg/modules/extensions/libdbe.so
[     9.065] (II) Module dbe: vendor="X.Org Foundation"
[     9.065] 	compiled for 1.11.3, module version = 1.0.0
[     9.065] 	Module class: X.Org Server Extension
[     9.065] 	ABI class: X.Org Server Extension, version 6.0
[     9.065] (II) Loading extension DOUBLE-BUFFER
[     9.065] (II) LoadModule: "dri2"
[     9.065] (II) Loading /usr/lib/xorg/modules/extensions/libdri2.so
[     9.066] (II) Module dri2: vendor="X.Org Foundation"
[     9.066] 	compiled for 1.11.3, module version = 1.2.0
[     9.066] 	ABI class: X.Org Server Extension, version 6.0
[     9.066] (II) Loading extension DRI2
[     9.066] (II) LoadModule: "glx"
[     9.066] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[     9.996] (II) Module glx: vendor="NVIDIA Corporation"
[    10.003] 	compiled for 4.0.2, module version = 1.0.0
[    10.003] 	Module class: X.Org Server Extension
[    10.004] (II) NVIDIA GLX Module  290.10  Wed Nov 16 18:01:24 PST
2011
[    10.004] (II) Loading extension GLX
[    10.004] (II) LoadModule: "record"
[    10.004] (II) Loading /usr/lib/xorg/modules/extensions/librecord.so
[    10.011] (II) Module record: vendor="X.Org Foundation"
[    10.011] 	compiled for 1.11.3, module version = 1.13.0
[    10.011] 	Module class: X.Org Server Extension
[    10.011] 	ABI class: X.Org Server Extension, version 6.0
[    10.011] (II) Loading extension RECORD
[    10.011] (II) LoadModule: "v4l"
[    10.019] (WW) Warning, couldn't open module v4l
[    10.019] (II) UnloadModule: "v4l"
[    10.020] (II) Unloading v4l
[    10.020] (EE) Failed to load module "v4l" (module does not exist, 0)
[    10.020] (II) LoadModule: "nvidia"
[    10.020] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[    10.092] (II) Module nvidia: vendor="NVIDIA Corporation"
[    10.101] 	compiled for 4.0.2, module version = 1.0.0
[    10.101] 	Module class: X.Org Video Driver
[    10.138] (EE) NVIDIA: Failed to load the NVIDIA kernel module.
Please check your
[    10.138] (EE) NVIDIA:     system's kernel log for additional error
messages.
[    10.138] (II) UnloadModule: "nvidia"
[    10.138] (II) Unloading nvidia
[    10.138] (EE) Failed to load module "nvidia" (module-specific error,
0)
[    10.138] (EE) No drivers available.
[    10.138] 
Fatal server error:
[    10.138] no screens found
[    10.138] 
Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 
[    10.138] Please also check the log file at "/var/log/Xorg.0.log" for
additional information.
[    10.138]


[2]
[root at archlinux spinymouse]# grep nvidia /var/log/kernel.log
[snip]
Jan  6 15:59:13 localhost kernel: [    5.110305] nvidia: module license
'NVIDIA' taints kernel.
Jan  6 15:59:13 localhost kernel: [    5.358022] nvidia 0000:01:00.0:
PCI INT A -> GSI 18 (level, low) -> IRQ 18
Jan  6 15:59:13 localhost kernel: [    5.358034] nvidia 0000:01:00.0:
setting latency timer to 64
Jan  6 16:01:24 localhost kernel: [    5.510930] nvidia: module license
'NVIDIA' taints kernel.
Jan  6 16:01:24 localhost kernel: [    5.759444] nvidia 0000:01:00.0:
PCI INT A -> GSI 18 (level, low) -> IRQ 18
Jan  6 16:01:24 localhost kernel: [    5.759456] nvidia 0000:01:00.0:
setting latency timer to 64



More information about the arch-general mailing list