[arch-general] Proprietary nvidia driver for kernel-ARCH and kernel-rt
Ralf Madorf
ralf.mardorf at alice-dsl.net
Sat Jan 7 07:52:20 EST 2012
On Fri, 2012-01-06 at 16:47 +0100, Thomas Bächler wrote:
> Basically, make it look like it was before this change:
>
https://projects.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/nvidia&id=1b7954a332c32de0ef49a82806fbb18544b26949
Hi Thomas,
this caused a black screen for the kernel-rt. For kernel-ARCH everything
kept ok.
Sometimes the proprietary nvidia driver with kernel-rt (even with a
faked licence) didn't/doesn't work for some Linux installs, than I added
$ cat /mnt/maverick/etc/rcS.d/S69switch_xorg.conf
#! /bin/sh
# /etc/rcS.d/Switch_xorg_conf
rm /etc/X11/xorg.conf
case $(uname -r) in
*rt*)
cp /etc/X11/xorg.conf.nv /etc/X11/xorg.conf
;;
*)
cp /etc/X11/xorg.conf.nvidia /etc/X11/xorg.conf
;;
esac
Regards,
Ralf
# cd /usr/src/abs/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
# pacman -R nvidia-3.0.14_rt31-1
# exit
$ cd /usr/src/abs/nvidia
$ rm *.pkg.tar.xz
$ cp -p nvidia.install nvidia.install.old
$ cp -p PKGBUILD PKGBUILD.old
$ diff PKGBUILD PKGBUILD.old
6c6
<
---
> _extramodules=extramodules-3.0-rt
12,13c12,13
< -depends=('linux>=3.0' 'linux<3.1' "nvidia-utils=${pkgver}")
< -makedepends=('linux-headers>=3.0' 'linux-headers<3.1')
---
> depends=('linux>=3.0' 'linux<3.2' "nvidia-utils=${pkgver}")
> makedepends=('linux-headers>=3.0' 'linux-headers<3.2')
40c40
<
"${pkgdir}/lib/modules/${_kernver}/kernel/drivers/video/nvidia.ko"
---
> "${pkgdir}/lib/modules/${_extramodules}/nvidia.ko"
44c44
< gzip
"${pkgdir}/lib/modules/${_kernver}/kernel/drivers/video/nvidia.ko"
---
> gzip "${pkgdir}/lib/modules/${_extramodules}/nvidia.ko"
$ grep _kernver= PKGBUILD
_kernver=3.0-rt
$ diff nvidia.install nvidia.install.old
2,3c2,3
< KERNEL_VERSION='3.0-rt'
< depmod $KERNEL_VERSION
---
> EXTRAMODULES='extramodules-3.0-rt'
> depmod $(cat /lib/modules/$EXTRAMODULES/version)
8,9c8,9
< KERNEL_VERSION='3.0-rt'
< depmod $KERNEL_VERSION
---
> EXTRAMODULES='extramodules-3.0-rt'
> depmod $(cat /lib/modules/$EXTRAMODULES/version)
13,14c13,14
< KERNEL_VERSION='3.0-rt'
< depmod $KERNEL_VERSION
---
> EXTRAMODULES='extramodules-3.0-rt'
> depmod $(cat /lib/modules/$EXTRAMODULES/version)
$ cat /lib/modules/extramodules-3.0-rt/version
3.0-rt
*chuckle*
$ rm *old
$ makepkg -c
/usr/src/abs/nvidia/PKGBUILD: line 12: syntax error near unexpected
token `'linux>=3.0''
;D Yep, as you can see above, I copied the "-" signs from the diff.
$ makepkg -c
==> Making package: nvidia-3.0.14_rt31-1 290.10-1 (Sat Jan 7 13:11:04
CET 2012)
==> Checking runtime dependencies...
==> Missing Dependencies:
-> linux<3.1
==> Checking buildtime dependencies...
==> Missing Dependencies:
-> linux-headers<3.1
==> ERROR: Could not resolve all dependencies.
That's strange. I re-edited to <3.2.
$ makepkg -c
==> Making package: nvidia-3.0.14_rt31-1 290.10-1 (Sat Jan 7 13:15:35
CET 2012)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving Sources...
-> Found NVIDIA-Linux-x86_64-290.10-no-compat32.run
==> Validating source files with md5sums...
NVIDIA-Linux-x86_64-290.10-no-compat32.run ... Passed
==> Extracting Sources...
==> Starting build()...
Creating directory NVIDIA-Linux-x86_64-290.10-no-compat32
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64
290.10........................................................................................................................................
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."; \
echo;
[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 (Sat Jan 7 13:16:03
CET 2012)
==> Cleaning up...
$ su
# pacman -U nvidia-3.0.14_rt31-1-290.10-1-x86_64.pkg.tar.xz
[snip]
In order to use nvidia module, reboot the system.
More information about the arch-general
mailing list