[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