[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