Nvidia package wo/ kernel26-headers - makepkg chokes

When I modify a single line in nvidia's PKGBUILD, makepkg dies in the following error.  What is really odd is that I can manually execute the build function and I do not get an error.  The error only happens when makepkg tries.  Can someone explain?
Error:
==> Starting build()...
Creating directory NVIDIA-Linux-x86_64-260.19.36-no-compat32
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 260.19.36.....................................................................................................................
The kernel you are installing for is a Xen kernel!
The NVIDIA driver does not currently work on Xen kernels. If
you are using a stock distribution kernel, please install
a variant of this kernel without Xen support; if this is a
custom kernel, please install a standard Linux kernel. Then
try installing the NVIDIA kernel module again.
*** Failed Xen sanity check. Bailing out! ***
make[1]: *** [build-sanity-checks] Error 1
make: *** [module] Error 2
Aborting...
The only modification is to change this line:
make SYSSRC=/lib/modules/${_kernver}/build module
to:
make SYSSRC=$startdir/tar/lib/modules/${_kernver}/build module
I have manually extracted the contents of kernel26-headers.tar.xz to the $startdir/tar.

there is nothing about the headers.
"The NVIDIA driver does not currently work on Xen kernels."
period.

Similar Messages

  • Kernel26-headers 2.6.32.7-1 in testing

    Just to note you, there is a package called kernel26-headers in testing again.
    Shouldn't it be linux-api-headers?

    I thought linux-api-headers replaced kernel26-headers, but it was kernel-headers.
    Provides       : kernel-headers=2.6.32.5
    Sorry, my mistake

  • PKGBUILD with dependency on kernel26-headers

    Hello All:
    I'm working on installing cisco-vpnclient from the AUR this morning.  When I run
    makepkg -s
    , makepkg attempts to install kernel26-headers-2.6.39.3-1.  This fails, with the message
    error: failed retrieving file 'kernel26-headers-2.6.39.3-1-i686.pkg.tar.xz' from ftp.archlinux.org : File unavailable (e.g., file not found, no access)
    Based on searches of the package database, the AUR, and google, it appears that there is no mirror that contains a file called 'kernel26-headers-2.6.39.3-1-i686.pkg.tar.xz'.  There is, of course, kernel26-lts-headers and there is also linux-headers.  I've tried installing those, and then
    makepkg -s
    on cisco-vpnclient again, but still get the same failure.
    I've got three questions:
    1) how do I fix this and get cisco-vpnclient installed?
    2) why is this happening?
    3) in general, when a package insists on a dependency that is not available, how can I modify the code in the PKGBUILD to skip the requirement? (or would do that be a bad idea?)
    Thanks,
    Stu

    ok, so here's the deal:
    Because of the name changes that went along with the upgrade to kernel v3.0 (see News: Changes to kernel package and filenames) two things had to change in the PKGBUILD.
    1) first there's the dependency on the kernel.  Since the arch package containing the kernel v3 is called 'linux' instead of 'kernel26', those references had to be changed.  So the OLD version of the pkgbuild had the code:
    if [ "`uname -m`" = "i686" ]; then
    depends=('kernel26>=2.4.0')
    else
    depends=('kernel26>=2.4.0' 'lib32-gcc-libs')
    fi
    So I changed 'kernel26>=2.4.0' to 'linux>=3.0.1' in that block.
    2) there's the dependency on the headers.   The PKGBUILD contains the code
    makedepends=('kernel26-headers>=2.4.0')
    I replaced 'kernel26-headers>=3.0.1' with 'linux-headers>=3.0'
    that seems to work to get it installed.
    hope it works!

  • Building kernel module, works only fine with default kernel26-headers

    I am trying to build the phc-k8 package from the AUR.
    I had to adapt the PKGBUILD a bit. The problem is it seems to want to have certain headers (a lot of headers, actually) in asm/ that are present in asm-generic/ in the kernel26-headers package and are in the same location in my own kernel package (which doesn't have the headers split out).
    This is how the asm* directories look:
    [stijn@hermes phc-k8]$ ls /usr/src/linux-2.6.32-ARCH/include/asm*
    /usr/src/linux-2.6.32-ARCH/include/asm:
    asm-offsets.h bitsperlong.h
    /usr/src/linux-2.6.32-ARCH/include/asm-generic:
    4level-fixup.h bugs.h dma-mapping-common.h ioctl.h local.h param.h sections.h stat.h uaccess.h
    atomic64.h cacheflush.h emergency-restart.h ioctls.h memory_model.h parport.h segment.h string.h uaccess-unaligned.h
    atomic.h cache.h errno-base.h io.h mman-common.h pci-dma-compat.h sembuf.h swab.h ucontext.h
    atomic-long.h checksum.h errno.h iomap.h mman.h pci.h serial.h syscall.h unaligned.h
    audit_change_attr.h cmpxchg.h fb.h ipcbuf.h mm_hooks.h percpu.h setup.h syscalls.h unistd.h
    audit_dir_write.h cmpxchg-local.h fcntl.h irqflags.h mmu_context.h pgalloc.h shmbuf.h system.h user.h
    audit_read.h cputime.h futex.h irq.h mmu.h pgtable.h shmparam.h termbits.h vga.h
    audit_signal.h current.h getorder.h irq_regs.h module.h pgtable-nopmd.h siginfo.h termios-base.h vmlinux.lds.h
    audit_write.h delay.h gpio.h Kbuild msgbuf.h pgtable-nopud.h signal-defs.h termios.h xor.h
    auxvec.h device.h hardirq.h Kbuild.asm mutex-dec.h poll.h signal.h timex.h
    bitops div64.h hw_irq.h kdebug.h mutex.h posix_types.h socket.h tlbflush.h
    bitops.h dma-coherent.h ide_iops.h kmap_types.h mutex-null.h resource.h sockios.h tlb.h
    bitsperlong.h dma.h int-l64.h libata-portmap.h mutex-xchg.h rtc.h spinlock.h topology.h
    bug.h dma-mapping-broken.h int-ll64.h linkage.h page.h scatterlist.h statfs.h types.h
    /usr/src/linux-2.6.32-ARCH/include/asm-x86:
    asm-offsets.h bitsperlong.h
    [stijn@hermes phc-k8]$ ls /usr/src/linux-2.6.31.12-server/include/asm*
    /usr/src/linux-2.6.31.12-server/include/asm:
    asm-offsets.h
    /usr/src/linux-2.6.31.12-server/include/asm-generic:
    4level-fixup.h bugs.h dma-mapping-common.h ioctl.h local.h param.h sections.h stat.h uaccess.h
    atomic64.h cacheflush.h emergency-restart.h ioctls.h memory_model.h parport.h segment.h string.h uaccess-unaligned.h
    atomic.h cache.h errno-base.h io.h mman-common.h pci-dma-compat.h sembuf.h swab.h ucontext.h
    atomic-long.h checksum.h errno.h iomap.h mman.h pci.h serial.h syscall.h unaligned.h
    audit_change_attr.h cmpxchg.h fb.h ipcbuf.h mm_hooks.h percpu.h setup.h syscalls.h unistd.h
    audit_dir_write.h cmpxchg-local.h fcntl.h irqflags.h mmu_context.h pgalloc.h shmbuf.h system.h user.h
    audit_read.h cputime.h futex.h irq.h mmu.h pgtable.h shmparam.h termbits.h vga.h
    audit_signal.h current.h getorder.h irq_regs.h module.h pgtable-nopmd.h siginfo.h termios-base.h vmlinux.lds.h
    audit_write.h delay.h gpio.h Kbuild msgbuf.h pgtable-nopud.h signal-defs.h termios.h xor.h
    auxvec.h device.h hardirq.h Kbuild.asm mutex-dec.h poll.h signal.h timex.h
    bitops div64.h hw_irq.h kdebug.h mutex.h posix_types.h socket.h tlbflush.h
    bitops.h dma-coherent.h ide_iops.h kmap_types.h mutex-null.h resource.h sockios.h tlb.h
    bitsperlong.h dma.h int-l64.h libata-portmap.h mutex-xchg.h rtc.h spinlock.h topology.h
    bug.h dma-mapping-broken.h int-ll64.h linkage.h page.h scatterlist.h statfs.h types.h
    /usr/src/linux-2.6.31.12-server/include/asm-x86:
    asm-offsets.h
    Apart from the asm-x86 dir the contents are identical (I checked the file listing of both asm-generic dirs and diff shows no difference between them). If I build the package with the default 2.6.32-ARCH kernel specified, it works. It finds all the headers and it compiles beautifully. However, when I build it with my own kernel (2.6.31.12-server), it spits out a sh*tload of errors (amongst which, in the beginning, all those asm files it can't find):
    [stijn@hermes phc-k8]$ grep bestaat log
    include/linux/linkage.h:5:25: fout: asm/linkage.h: Bestand of map bestaat niet
    include/linux/types.h:4:23: fout: asm/types.h: Bestand of map bestaat niet
    include/linux/posix_types.h:47:29: fout: asm/posix_types.h: Bestand of map bestaat niet
    include/linux/bitops.h:17:24: fout: asm/bitops.h: Bestand of map bestaat niet
    include/linux/param.h:4:23: fout: asm/param.h: Bestand of map bestaat niet
    include/linux/kernel.h:20:27: fout: asm/byteorder.h: Bestand of map bestaat niet
    include/linux/kernel.h:21:21: fout: asm/bug.h: Bestand of map bestaat niet
    include/linux/kernel.h:62:24: fout: asm/div64.h: Bestand of map bestaat niet
    include/linux/errno.h:4:23: fout: asm/errno.h: Bestand of map bestaat niet
    include/linux/prefetch.h:14:27: fout: asm/processor.h: Bestand of map bestaat niet
    include/linux/prefetch.h:15:23: fout: asm/cache.h: Bestand of map bestaat niet
    include/linux/list.h:7:24: fout: asm/system.h: Bestand of map bestaat niet
    include/linux/string.h:21:24: fout: asm/string.h: Bestand of map bestaat niet
    include/linux/thread_info.h:56:29: fout: asm/thread_info.h: Bestand of map bestaat niet
    include/linux/smp.h:36:21: fout: asm/smp.h: Bestand of map bestaat niet
    include/linux/stat.h:6:22: fout: asm/stat.h: Bestand of map bestaat niet
    include/linux/spinlock_types.h:13:33: fout: asm/spinlock_types.h: Bestand of map bestaat niet
    include/linux/spinlock.h:88:27: fout: asm/spinlock.h: Bestand of map bestaat niet
    include/linux/spinlock.h:364:24: fout: asm/atomic.h: Bestand of map bestaat niet
    include/linux/wait.h:26:25: fout: asm/current.h: Bestand of map bestaat niet
    include/linux/mmzone.h:20:22: fout: asm/page.h: Bestand of map bestaat niet
    include/linux/rwsem.h:22:65: fout: asm/rwsem.h: Bestand of map bestaat niet
    include/linux/topology.h:34:26: fout: asm/topology.h: Bestand of map bestaat niet
    include/linux/elf.h:7:21: fout: asm/elf.h: Bestand of map bestaat niet
    include/linux/module.h:20:23: fout: asm/local.h: Bestand of map bestaat niet
    include/linux/module.h:22:24: fout: asm/module.h: Bestand of map bestaat niet
    include/linux/device.h:26:24: fout: asm/device.h: Bestand of map bestaat niet
    include/linux/timex.h:170:23: fout: asm/timex.h: Bestand of map bestaat niet
    include/linux/kmemtrace.h:12:31: fout: trace/events/kmem.h: Bestand of map bestaat niet
    include/linux/auxvec.h:4:24: fout: asm/auxvec.h: Bestand of map bestaat niet
    include/linux/mm_types.h:16:21: fout: asm/mmu.h: Bestand of map bestaat niet
    include/linux/sched.h:65:24: fout: asm/ptrace.h: Bestand of map bestaat niet
    include/linux/sched.h:66:25: fout: asm/cputime.h: Bestand of map bestaat niet
    include/linux/ipc.h:21:24: fout: asm/ipcbuf.h: Bestand of map bestaat niet
    include/linux/sem.h:35:24: fout: asm/sembuf.h: Bestand of map bestaat niet
    include/linux/signal.h:4:24: fout: asm/signal.h: Bestand of map bestaat niet
    include/linux/signal.h:5:25: fout: asm/siginfo.h: Bestand of map bestaat niet
    include/linux/percpu.h:10:24: fout: asm/percpu.h: Bestand of map bestaat niet
    include/linux/seccomp.h:8:25: fout: asm/seccomp.h: Bestand of map bestaat niet
    include/linux/resource.h:71:26: fout: asm/resource.h: Bestand of map bestaat niet
    include/linux/io.h:22:20: fout: asm/io.h: Bestand of map bestaat niet
    include/linux/delay.h:14:23: fout: asm/delay.h: Bestand of map bestaat niet
    /home/stijn/pkgbuilds/phc-k8/src/phc-k8_v0.4.2/phc-k8.c:39:21: fout: asm/msr.h: Bestand of map bestaat niet
    include/acpi/platform/aclinux.h:64:22: fout: asm/acpi.h: Bestand of map bestaat niet
    include/linux/ioctl.h:4:23: fout: asm/ioctl.h: Bestand of map bestaat niet
    include/linux/fcntl.h:4:23: fout: asm/fcntl.h: Bestand of map bestaat niet
    'Fout' meaning 'error' and 'Bestand of map bestaat niet' 'File or directory does not exist'.
    This is how the PKGBUILD looks:
    # Contributor: fs4000 <matthias_dienstbier[at]yahoo[dot]de>
    pkgname=phc-k8-server
    pkgver=0.4.2
    _kernver="2.6.31.12-server"
    pkgrel=1
    pkgdesc="frequency driver for AMD K8 with undervolting feature"
    url="http://www.linux-phc.org"
    arch=('i686' 'x86_64')
    license=('GPL')
    [ `uname -r` = 2.6.32-ARCH ] && makedepends=('kernel26-headers=2.6.32')
    provides=('linux-phc')
    [ "$pkgname" = "phc-k8" ] && backup=('etc/modprobe.d/phc-k8.conf')
    install=phc-k8.install
    source=(phc-k8-$pkgver.tar.gz::$url/forum/download/file.php?id=83)
    depends=(kernel26server)
    build() {
    sed "s/depmod.*/depmod $_kernver/" -i ../$install
    cd phc-k8_v$pkgver
    sed -i 's# /etc/modprobe.d/phc-k8.conf# ${DESTDIR}/etc/modprobe.d/phc-k8.conf#' Makefile
    sed -i 's#\([^=]\) /lib/modules/#\1 ${DESTDIR}/lib/modules/#' Makefile
    sed -i 's/^\tdepmod $(KERNELVERSION) -a/#\tdepmod $(KERNELVERSION) -a/' Makefile
    make KERNELSRC=/usr/src/linux-$_kernver/ || return 1
    install -d "$pkgdir/etc/modprobe.d"
    make DESTDIR="$pkgdir" install || return 1
    if [ "$pkgname" = "phc-k8" ]; then
    install -d "$pkgdir/usr/share/doc/phc-k8/"
    install -m644 {Changelog,README} "$pkgdir/usr/share/doc/phc-k8/"
    else
    # delete the config if we build for another kernel
    rm -r "$pkgdir/etc"
    fi
    sha1sums=('3f526f90d0f0a2defa24802787546117fdc3e1e8')
    Any clues?

    It's a bash check ([), it tells the script to add a conditional makedepends (if the kernel has that name, add that package as a dependency to build). It's optional, so it doesn't do any harm.
    Thanks for looking though .

  • NVidia packages - let's not use nvidia-installer [RFC]

    Hi. After messing around with Xgl I (for some reason) decided that I hated the way the nvidia driver package doesn't account for all the files the nvidia-installer spits out/modifies. I wanted all the files involved to be properly managed by pacman. So I made some PKGBUILDs, looking at Fedora and Gentoo stuff for inspiration, and getting annoyed trying to work out what needs to be where based on NV's unmaintained install makefile..:shock:
    The PKGBUILDs that follow separate the kernel module from the rest of the nvidia package, but this is by no means necessary - I just wanted to be able to reinstall one without the other (to do with installing gl parts without restarting X - see below for more).
    (If there is to be a separation, it may be more logical to put the x.org driver module with the kernel module, with just the GL parts separate.)
    pkgname=nvidia-kernel
    pkgver=1.0.8178
    _pkgbinary=NVIDIA-Linux-x86-1.0-8178
    pkgrel=1
    pkgdesc="NVidia driver kernel module"
    url="http://www.nvidia.com"
    depends=('bash' 'gcc' 'binutils' 'glibc' 'make' 'nvidia-glx')
    source=(ftp://download.nvidia.com/XFree86/Linux-x86/1.0-8178/$_pkgbinary-pkg0.run nvidia.rc
    nvidia.patch nv2.diff)
    install="nvidia.install"
    #provides=()
    conflicts=('nvidia')
    build() {
    cd $startdir/src/
    chmod +x $_pkgbinary-pkg0.run
    ./$_pkgbinary-pkg0.run --extract-only
    cd $_pkgbinary-pkg0
    #strip stuff that's in nvidia-glx to make download lighter
    rm -rf usr/bin
    rm -rf usr/include
    rm -rf usr/lib
    rm -rf usr/share
    rm -rf usr/X11R6
    mkdir -p $startdir/pkg/usr/share/nvidia
    cp -p LICENSE $startdir/pkg/usr/share/nvidia
    # adding patches from nvidia forum and now provided by zander
    patch -Np0 -i $startdir/src/nvidia.patch || return 1
    patch -Np0 -i $startdir/src/nv2.diff || return 1
    #clean src
    install -D -m 755 $startdir/src/nvidia.rc $startdir/pkg/etc/rc.d/nvidia
    cd $startdir/src
    rm *
    mkdir -p $startdir/pkg/opt/nvidia
    mv * $startdir/pkg/opt/nvidia
    md5sums=('6c8081bfde4a806a487efc2a9a1ff016' '08f4f614066c08bd0774c7e557953fbe'
    '3b5a2525633e88b9d78c4721190542e6')
    (the file nv2.diff patches the kernel code for 2.6.16 kernels..)
    Here's the .install
    _driver=NVIDIA-Linux-x86-1.0-8178-pkg0/./nvidia-installer
    post_install() {
    cat << EOF
    IMPORTANT
    ==> In order to use the software, you have to agree to NVIDIA's license located in
    ==> /usr/share/nvidia/LICENSE
    ==> If you don't, please remove this package (pacman -R nvidia-kernel)
    Installation starts now ...
    EOF
    cd /opt/nvidia/NVIDIA-Linux-x86-1.0-8178-pkg0/usr/src/nv
    make install > /dev/null 2>&1 || (echo "INSTALLATION FAILED!" ; echo "==> You have to shutdown Xserver to finish installation! You have to rerun 'pacman -S nvidia-kernel'" ; echo "==> If you're running a custom kernel, make sure the source tree is available." ; echo "==> Other common solutions can be found on the wiki: http://wiki.archlinux.org/index.php/How_to_install_NVIDIA_driver" )
    modprobe nvidia
    rm -r /opt/nvidia
    cat << EOF
    To use this driver you need the nvidia-glx package too.
    If you need more information about setting up nvidia drivers have a look at:
    "http://wiki.archlinux.org/index.php/How_to_install_NVIDIA_driver"
    EOF
    post_upgrade() {
    rmmod nvidia > /dev/null 2>&1
    post_install $1
    pre_remove() {
    cat << EOF
    ==> Deinstallation starts now!
    EOF
    rmmod nvidia
    _KERNELNAME=$(uname -r)
    rm /lib/modules/$_KERNELNAME/kernel/drivers/video/nvidia.ko > /dev/null 2>&1
    cat << EOF
    ==> Don't forget to update your /etc/X11/XF86Config or /etc/X11/xorg.conf!
    You may want to remove nvidia-glx as well.
    EOF
    op=$1
    shift
    $op $*
    Now for the other bit..
    pkgname=nvidia-glx
    pkgver=1.0.8178
    _pkgbinary=NVIDIA-Linux-x86-1.0-8178
    pkgrel=1
    pkgdesc="The NVidia X.org driver and utilities (without the kernel module)"
    url="http://www.nvidia.com"
    depends=('bash' 'gcc' 'binutils' 'glibc' 'make' 'nvidia-kernel')
    source=(ftp://download.nvidia.com/XFree86/Linux-x86/1.0-8178/$_pkgbinary-pkg0.run)
    install="nvidia-glx.install"
    provides=('libgl')
    conflicts=('libgl' 'nvidia')
    md5sums=('6c8081bfde4a806a487efc2a9a1ff016')
    build() {
    cd $startdir/src/
    chmod +x $_pkgbinary-pkg0.run
    ./$_pkgbinary-pkg0.run --extract-only
    cd $_pkgbinary-pkg0
    mkdir -p $startdir/pkg/usr/share/applications
    mkdir -p $startdir/pkg/usr/bin
    mkdir -p $startdir/pkg/usr/man/man1
    mkdir -p $startdir/pkg/usr/lib/xorg/modules/{extensions,drivers}
    mkdir -p $startdir/pkg/usr/share/nvidia
    #Point .desktop to correct location
    chmod +w ./usr/share/applications/nvidia-settings.desktop
    sed 's:__UTILS_PATH__:/usr/bin:' ./usr/share/applications/nvidia-settings.desktop > ./nv.desktop
    sed 's:__DOCS_PATH__:/usr/share/nvidia:' ./nv.desktop > ./usr/share/applications/nvidia-settings.desktop
    chmod -w ./usr/share/applications/nvidia-settings.desktop
    #Grab what we need and put it where we want
    install -m 755 usr/bin/nvidia-bug-report.sh ${startdir}/pkg/usr/bin
    install -m 755 usr/bin/nvidia-settings ${startdir}/pkg/usr/bin
    install -m 755 usr/bin/nvidia-xconfig ${startdir}/pkg/usr/bin
    install usr/lib/libGL.so.${pkgver} ${startdir}/pkg/usr/lib
    install usr/lib/libGLcore.so.${pkgver} ${startdir}/pkg/usr/lib
    install usr/lib/libnvidia-tls.so.${pkgver} ${startdir}/pkg/usr/lib
    install usr/lib/libnvidia-cfg.so.${pkgver} ${startdir}/pkg/usr/lib
    install usr/X11R6/lib/libXvMCNVIDIA.a ${startdir}/pkg/usr/lib
    install usr/X11R6/lib/libXvMCNVIDIA.so.${pkgver} ${startdir}/pkg/usr/lib
    install usr/X11R6/lib/modules/drivers/nvidia_drv.o ${startdir}/pkg/usr/lib/xorg/modules/drivers
    install usr/X11R6/lib/modules/drivers/nvidia_drv.so ${startdir}/pkg/usr/lib/xorg/modules/drivers
    install usr/X11R6/lib/modules/extensions/libglx.so.${pkgver} ${startdir}/pkg/usr/lib/xorg/modules/extensions
    cp -pr usr/include ${startdir}/pkg/usr/share/nvidia
    cp -pr usr/share/doc/* ${startdir}/pkg/usr/share/nvidia
    cp -pr usr/share/applications/* ${startdir}/pkg/usr/share/applications
    cp -pr usr/share/man/man1 ${startdir}/pkg/usr/man
    cd ${startdir}/pkg/usr/lib/
    ln -fs libGL.so.${pkgver} libGL.so
    ln -fs libGL.so.${pkgver} libGL.so.1
    ln -fs libGLcore.so.${pkgver} libGLcore.so.1
    ln -fs libnvidia-cfg.so.${pkgver} libnvidia-cfg.so.1
    ln -fs libnvidia-cfg.so.${pkgver} libnvidia-cfg.so
    ln -fs libnvidia-tls.so.${pkgver} libnvidia-tls.so.1
    ln -fs libXvMCNVIDIA.so.${pkgver} libXvMCNVIDIA-dynamic.so.1
    cd ${startdir}/pkg/usr/lib/xorg/modules/extensions
    ln -fs libglx.so.${pkgver} libglx.so
    ..and here's the .install
    _driver=NVIDIA-Linux-x86-1.0-8178-pkg0/./nvidia-installer
    post_install() {
    #switch in nvidia GL headers
    ln -sf /usr/share/nvidia/include/GL/gl.h /usr/include/GL/gl.h
    ln -sf /usr/share/nvidia/include/GL/glext.h /usr/include/GL/glext.h
    ln -sf /usr/share/nvidia/include/GL/glx.h /usr/include/GL/glx.h
    ln -sf /usr/share/nvidia/include/GL/glxext.h /usr/include/GL/glxext.h
    cat << EOF
    IMPORTANT
    ==> In order to use the software, you have to agree to NVIDIA's license located in
    ==> /usr/share/nvidia/LICENSE (installed with nvidia-kernel - required)
    ==> If you don't, please remove this package (pacman -R nvidia-glx)
    To use this driver you need the nvidia-kernel package too.
    If you need more information about setting up nvidia drivers have a look at:
    "http://wiki.archlinux.org/index.php/How_to_install_NVIDIA_driver"
    Note: OpenGL headers have been replaced (if applicable) by symlinks to the NVidia headers.
    To switch to the mesa headers, reinstall mesa.
    (You may want to do this if compiling a GL app for another system.)
    EOF
    post_upgrade() {
    post_install $1
    pre_remove() {
    cat << EOF
    ==> Don't forget to update your /etc/X11/XF86Config or /etc/X11/xorg.conf!
    You may want to remove nvidia-kernel as well.
    EOF
    op=$1
    shift
    $op $*
    ..As you can see, the nvidia-glx .install instates the NVidia gl headers to aid compiling against them. If mesa is installed it's versions of these files will be overwritten. Making sure to install the package for the desired headers last seemed like the simplest way to select them. Gentoo has some script to select the gl libs.
    PS: This is designed alongside the current mesa-6.4.2-1 package in testing.
    So. Any comments? Any good? Or shall I just keep them to myself?

    tpowa wrote:well, problem is not that it's not possible, problem is if it is allowed.
    i'm not a license expert but as far as i can remember no big distro provides the packages other then nvidia-installer.
    gentoo is a special case.
    Yeah, I thought that might be a problem. The LICENSE seems to have a clause to do with splitting up the package...
    No Separation of Components.  The SOFTWARE is licensed as a
    single product.  Its component parts may not be separated for use
    on more than one computer, nor otherwise used separately from the
    other parts.
    But this refers to *use* of the seperate parts, which I suppose is a bit vague. Anyhoo, as I say, this modified install method can still work with a combined package. It could even not bother with the kernel module compile if it's already present.
    The only other part that seems relevant is...
    2.1.2  Linux/FreeBSD Exception.  Notwithstanding the foregoing terms
    of Section 2.1.1, SOFTWARE designed exclusively for use on the Linux or
    FreeBSD operating systems, or other operating systems derived from the
    source code to these operating systems, may be copied and redistributed,
    provided that the binary files thereof are not modified in any way
    (except for unzipping of compressed files).
    But since no binary files are modified this doesn't seem to apply. Of course, IANAL..

  • NVIDIA package confusion

    I'm trying to understand the Arch Nvidia packages but the wiki isn't overly clear.
    Currently, I use the nvidia-173xx package with a Geforce 7800 GTX card, since, at installation, I believed that the older cards weren't supported by the Nvidia package in Extra. 
    However, I recently discovered that version 285.05.09 supports my card, according to the supported products tab on:
    http://www.nvidia.co.uk/object/linux-di … er-uk.html
    So, firstly, should I ditch nvidia-173xx and revert to the main Nvidia package?
    And secondly, since nvidia-173xx requires linux<3.1 due to incompatibility with xorg 1.11, presumably linux should be added to the IgnorePkg list in pacman.conf, along with the currently ignored packages below?:
    xf86-input-evdev
    xf86-input-keyboard
    xf86-input-mouse
    xf86-video-nv
    xf86-video-vesa
    xorg-server
    xorg-server-common
    Once Nvidia produce a driver suitable for xorg 1.11, I'll be able to un-ignore these, and install Nvidia instead of 173xx (or even 173xx-all).  Correct?

    Cotton wrote:What is nvidia-173xx for then?
    For older cards, like my fx 5500.

  • How to make a custom Nvidia package for my custom kernel?

    I needed to create a custom kernel for my motherboard in order to have support for my integrated LAN and AGP bus...  My chipset is ULi's M1689.  Apparently, it will be native to maybe the 2.6.11 kernel, but definitely to the 2.6.12 kernel.
    In the meantime, I created a custom 2.6.10 kernel with the required patches as described in the wiki.  It works! Thanks!
    Now, I want to also create a custom Nvidia package that compiled for this kernel, so if I every re-install etc.  I just need to have these 2 packages handy to be up and running quickly. 
    Has this been done?  Is there a how-to?
    Thanks!
    KF

    Doesn't the genuine arch package work? Just run pacman -S nvidia in runlevel 3 and it should work. You just have to have sources of your kernel. Well, at least this works with my non-stock nitro kernel. Here's some more reference. I guess it gets a bit more tricky with multiple kernels, but it's not your case, is it [didn't get it clearly enough]?
    Cheers,
    lucke

  • Packages: binaries, sources, headers, ...

    Hi, I'm confused.
    I read somewhere that every package gives you not only the binaries and manpages, but also the full sources.
    Didn't whoever said this actually meant 'header files' instead of full sources?  I see header files in /usr/include, but no sources in /usr/src (just kernel headers here) or /usr/local/src (totally empty).  Where are the sources? What's the kernel-headers package for exactly if the kernel26 package contains all the headers?  Where do I get the sources of the kernel(package)?
    How is all the 'upstream content' for a project split up?
    Bonus question:  How does all this relate to -dev packages on Debian?  Someone told me -dev packages on Debian are not 'just sources/headers'.  Then what are they?
    Thanks!
    Dieter

    The full sources are not distributed through *.pkg.tar.gz files. However, running makepkg on a PKGBUILD file will. An easy way to do it if you want the kernel sources is through ABS. Copy the kernel26 folder somewhere that you have write permissions and run 'makepkg -o'. This will download the kernel sources as well as any supporting files, unpack them, but will not build the software.

  • Kernel headers makepkg

    I have two kernels installed :  one is the stock kernel from the repositories (3.2.5) the other is a custom kernel (3.2.4). I have linux-headers (3.2.5) installed but I am booting into the 3.2.4 kernel to build the nvidia proprietary module. The issue is that I have no idea on how to point the build system to the kernel source tree (afaik that's the issue here). These are sources lifted from kernel.org:-
    Thanks.
    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........................................................................................................................................
    If you are using a Linux 2.4 kernel, please make sure
    you either have configured kernel sources matching your
    kernel or the correct set of kernel headers installed
    on your system.
    If you are using a Linux 2.6 kernel, please make sure
    you have configured kernel sources matching your kernel
    installed on your system. If you specified a separate
    output directory using either the "KBUILD_OUTPUT" or
    the "O" KBUILD parameter, make sure to specify this
    directory with the SYSOUT environment variable or with
    the equivalent nvidia-installer command line option.
    Depending on where and how the kernel sources (or the
    kernel headers) were installed, you may need to specify
    their location with the SYSSRC environment variable or
    the equivalent nvidia-installer command line option.
    *** Unable to determine the target kernel version. ***
    make: *** [select_makefile] Error 1
    ==> ERROR: A failure occurred in build().
        Aborting...
    $ ls /usr/src/
    -rw-r--r-- 1 root root 81288 Feb 5 19:21 3.2-hardened.config
    lrwxrwxrwx 1 root root 17 Feb 14 00:28 linux -> linux-3.2.4-ARCH/
    drwxr-xr-x 2 root root 4096 Jan 26 07:47 linux-3.2.2-1-ARCH
    drwxrwxr-x 24 root root 4096 Feb 7 00:06 linux-3.2.4-ARCH
    -rw-r--r-- 1 root root 78125482 Feb 3 20:48 linux-3.2.4.tar.bz2
    drwxr-xr-x 21 root root 4096 Feb 7 07:42 linux-3.2.5-1-ARCH
    I thought it might be a symlink (shot in the dark) - I'm sure I read that somewhere, I also read that it is no longer used. Is this correct?
    $ cat nvidia.install
    post_install() {
    EXTRAMODULES='extramodules-3.2.4-ARCH'
    depmod $(cat /lib/modules/$EXTRAMODULES/version)
    echo 'In order to use nvidia module, reboot the system.'
    post_upgrade() {
    EXTRAMODULES='extramodules-3.2.4-ARCH'
    depmod $(cat /lib/modules/$EXTRAMODULES/version)
    post_remove() {
    EXTRAMODULES='extramodules-3.2.4-ARCH'
    depmod $(cat /lib/modules/$EXTRAMODULES/version)
    cat PKGBUILD
    # $Id: PKGBUILD 146818 2012-01-18 17:17:23Z tpowa $
    # Maintainer : Thomas Baechler <[email protected]>
    pkgname=nvidia-custom
    pkgver=290.10
    _extramodules=extramodules-3.2.4-ARCH
    _kernver="$(cat /lib/modules/${_extramodules}/version)"
    pkgrel=2
    pkgdesc="NVIDIA drivers for linux."
    arch=('i686' 'x86_64')
    url="http://www.nvidia.com/"
    depends=('linux>=3.2' 'linux<3.3' "nvidia-utils=${pkgver}")
    makedepends=('linux-headers>=3.2' 'linux-headers<3.3')
    conflicts=('nvidia-96xx' 'nvidia-173xx')
    license=('custom')
    install=nvidia.install
    options=(!strip)
    if [ "$CARCH" = "i686" ]; then
    _arch='x86'
    _pkg="NVIDIA-Linux-${_arch}-${pkgver}"
    source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
    md5sums=('50319a4b3818c12c9c7243525e0e6316')
    elif [ "$CARCH" = "x86_64" ]; then
    _arch='x86_64'
    _pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32"
    source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
    md5sums=('cebfba9a7e91716a06c66bb5b38d9661')
    fi
    build() {
    cd "${srcdir}"
    sh "${_pkg}.run" --extract-only
    cd "${_pkg}/kernel"
    make SYSSRC=/lib/modules/"${_kernver}/build" module
    package() {
    install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia.ko" \
    "${pkgdir}/lib/modules/${_extramodules}/nvidia.ko"
    install -d -m755 "${pkgdir}/etc/modprobe.d"
    #echo "blacklist nouveau" >> "${pkgdir}/etc/modprobe.d/nouveau_blacklist.conf"
    sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "${startdir}/nvidia.install"
    gzip "${pkgdir}/lib/modules/${_extramodules}/nvidia.ko"
    Last edited by YellowSnowIsBad (2012-02-14 01:45:14)

    Bump. I am new to this - need help.

  • In search of older nvidia package.

    In bit of a clutch atm.   Cant do the glibc update as I still have all the kernel modules in /lib.  I assume upgrading to > 3.4 moves these out of there.   I haven't upgraded from kernel 3.3 as the nvidia 302 package breaks suspend, and the 295-1 package requires 3.3 or less.  Seems to me the 295.53-2 package can be used with 3.4, however, seeing how the mirror with old cached package is gone (and I don't have this on my own pacman cache).  Is there anywhere else to get this package, or can someone who may have help me out.
    Thanks,

    DSpider wrote:
    https://wiki.archlinux.org/index.php/Downgrade#ARM
    # pacman -U http://arm.konnichi.com/extra/os/i686/nvidia-295.53-2-i686.pkg.tar.xz
    # pacman -U http://arm.konnichi.com/extra/os/x86_64/nvidia-295.53-2-x86_64.pkg.tar.xz
    But sticking to an older kernel is bad practice, IMO. Exploits and security wholes would pile up over time, leaving you more vulnerable.
    Um, that's the whole point of this, upgrading the kernel.  Thanks for the link.

  • Howto? build a module from clean source against kernel26-headers

    I'm trying to create a package for a patched psmouse kernel module. (https://aur.archlinux.org/packages.php?ID=49284). However, I can't quite get the module built correctly.
    I'm trying various make options like -C $KDIR, M=,.... and various make targets like prepare, modules_pepare, and explicitly giving a module.
    Forgetting about the patch for a moment? How am I supposed to do this? I thought something like:
    make -C /usr/src/linux-$(uname -r) M=drivers/input/mouse psmouse.ko
    would work, but I think it's trying to write to the headers directory.
    Thanks for any help.

    What’s the error in particular? Are you trying to build the module source code from inside the kernel tree or separately? Look for similar module packages for examples?
    If you’re trying to do an external build, perhaps try giving the absolute path in your M=drivers/input/mouse parameter; otherwise the -C option tells Make to change directory and it forgets what the original directory was.
    I have an external module with me that has its own Make file and calls the kernel’s Make files with this if it’s any help:
    make -C $(KDIR) SUBDIRS=$(PWD) modules

  • Could uninstalling 'nvidia' package break X?

    For some reason or another, I skipped the install of the "nvidia" specific driver. I basically forgot to copy my xorg.conf to /etc/X11, but in the process, I uninstalled the nvidia software and I couldn't boot into X. I believe some of the messages were "can't load vesa" and "can't load fbdev" modules. basically I installed by "pacman -S xorg". It worked untill I uninstalled Nvidia driver (because I installed this first before copying over xorg.conf from /root. At this point I figured maybe it was something where I had to reboot for it to work. At that point, I got a ram fs shell! My question is, is there certain things that can / cannot break X? Thanks for any suggestions.

    ok, here is my xorg.conf:
    # nvidia-xconfig: X configuration file generated by nvidia-xconfig
    # nvidia-xconfig: version 1.0 (buildmeister@builder26) Thu Dec 13 18:55:42 PST 2007
    Section "ServerLayout"
    Identifier "X.org Configured"
    Screen 0 "Screen0" 0 0
    Screen 1 "Screen1" RightOf "Screen0"
    InputDevice "Mouse0" "CorePointer"
    InputDevice "Keyboard0" "CoreKeyboard"
    EndSection
    Section "Files"
    RgbPath "/usr/share/X11/rgb"
    ModulePath "/usr/lib/xorg/modules"
    FontPath "/usr/share/fonts/misc"
    FontPath "/usr/share/fonts/100dpi:unscaled"
    FontPath "/usr/share/fonts/75dpi:unscaled"
    FontPath "/usr/share/fonts/TTF"
    FontPath "/usr/share/fonts/Type1"
    EndSection
    Section "Module"
    Load "extmod"
    Load "glx"
    Load "dbe"
    Load "xtrap"
    Load "record"
    Load "freetype"
    EndSection
    Section "InputDevice"
    Identifier "Keyboard0"
    Driver "kbd"
    EndSection
    Section "InputDevice"
    Identifier "Mouse0"
    Driver "mouse"
    Option "Protocol" "auto"
    Option "Device" "/dev/input/mice"
    Option "ZAxisMapping" "4 5 6 7"
    EndSection
    Section "Monitor"
    #DisplaySize 520 320 # mm
    ### Comment all HorizSync and VertRefresh values to use DDC:
    Identifier "Monitor0"
    VendorName "WDE"
    ModelName "L2410NM"
    HorizSync 30.0 - 80.0
    VertRefresh 56.0 - 75.0
    Option "DPMS"
    EndSection
    Section "Monitor"
    Identifier "Monitor1"
    VendorName "Monitor Vendor"
    ModelName "Monitor Model"
    EndSection
    Section "Device"
    ### Available Driver options are:-
    ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
    ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
    ### [arg]: arg optional
    #Option "SWcursor" # [<bool>]
    #Option "HWcursor" # [<bool>]
    #Option "NoAccel" # [<bool>]
    #Option "ShadowFB" # [<bool>]
    #Option "UseFBDev" # [<bool>]
    #Option "Rotate" # [<str>]
    #Option "VideoKey" # <i>
    #Option "FlatPanel" # [<bool>]
    #Option "FPDither" # [<bool>]
    #Option "CrtcNumber" # <i>
    #Option "FPScale" # [<bool>]
    #Option "FPTweak" # <i>
    #Option "DualHead" # [<bool>]
    Identifier "Card0"
    Driver "nvidia"
    VendorName "nVidia Corporation"
    BoardName "G71 [GeForce 7300 GS]"
    BusID "PCI:3:0:0"
    EndSection
    Section "Device"
    ### Available Driver options are:-
    ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
    ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
    ### [arg]: arg optional
    #Option "SWcursor" # [<bool>]
    #Option "HWcursor" # [<bool>]
    #Option "NoAccel" # [<bool>]
    #Option "ShadowFB" # [<bool>]
    #Option "UseFBDev" # [<bool>]
    #Option "Rotate" # [<str>]
    #Option "VideoKey" # <i>
    #Option "FlatPanel" # [<bool>]
    #Option "FPDither" # [<bool>]
    #Option "CrtcNumber" # <i>
    #Option "FPScale" # [<bool>]
    #Option "FPTweak" # <i>
    #Option "DualHead" # [<bool>]
    Option "RenderAccel" "true"
    Option "NoLogo" "true"
    Option "AGPFastWrite" "true"
    Option "EnablePageFlip" "true"
    Identifier "Card1"
    Driver "nvidia"
    VendorName "nVidia Corporation"
    BoardName "C51 [Quadro NVS 210S/GeForce 6150LE]"
    BusID "PCI:0:5:0"
    EndSection
    Section "Screen"
    Identifier "Screen0"
    Device "Card0"
    Monitor "Monitor0"
    DefaultDepth 24
    Option "AddARGBGLXVisuals" "True"
    SubSection "Display"
    Viewport 0 0
    Depth 1
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 4
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 8
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 15
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 16
    Modes "1920x1200" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 24
    Modes "1920x1200" "1024x768" "800x600" "640x480"
    EndSubSection
    EndSection
    Section "Screen"
    Identifier "Screen1"
    Device "Card1"
    Monitor "Monitor1"
    Option "AddARGBGLXVisuals" "True"
    SubSection "Display"
    Viewport 0 0
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 4
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 8
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 15
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 16
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 24
    EndSubSection
    EndSection
    Section "Extensions"
    Option "Composite" "Enable"
    EndSection

  • Arch nvidia package; something missing?

    I suffered very bad performance using my TI4200 playing UT4200. After a few hours of trying things; I found out the problem was solved by adding a symlink from /usr/X11R6/lib/libGL.so to /usr/lib/libGL.so This change instantly updated my glxinfo > 'direct rendering' from No to Yes. Might there be some packaging problem; or is this local?

    Did you have the mesa package installed? Mesa comes with a libGL.so that can only do software rendering.

  • Makepkg split package question.

    I was making today a custom kernel using the kernel26 PKGBUILD file. This files creates three (3) packages. kernel26, kernel26-headers, kernel26-firmware. While packaging kernel26-headers the power went down. I started again with makepkg but it complained for the presence of the packet kernel26-xxxxx.pkg.tar.gz and suggested -f option to build the package again. Is this behavior "correct"? kernel26-xxxxx.pkg.tar.gz was successfully builded before the power loss. Is there an option for makepkg to build the remaining packages?

    Allan wrote:Given the build was completed, "makepkg -Rf" will just repackage all packages.
    I read man makepkg at least 3 times. I can swear the -R wasn't there before... :P:P
    -R, --repackage
    Repackage contents of the package without rebuilding the package. This is useful if you forgot a depend or install file in your PKGBUILD
    and the build itself will not change.
    I think that I should go to sleep right now...
    Thanks you Alan.

  • Kernel26-2.6.20 + nvidia-1.0.8776

    Anybody have nvidia-1.0.8776 running with kernel26-2.6.20? Just wanna know if it's possible to run this kind of set-up because I haven't had any success installing them together.

    This is my PKGBUILD (I got the run file from nvidia's site):
    pkgname=nvidia-custom
    pkgver=1.0.8776
    _nver=1.0-8776
    _kernver='2.6.20-ARCH'
    pkgrel=1
    pkgdesc="NVIDIA drivers for kernel26."
    arch=(i686 x86_64)
    [ "$CARCH" = "i686" ] && ARCH=x86
    [ "$CARCH" = "x86_64" ] && ARCH=x86_64
    url="http://www.nvidia.com/"
    depends=('kernel26' 'nvidia-utils')
    conflicts=('nvidia-96xx' 'nvidia-71xx' 'nvidia-legacy')
    install=nvidia.install
    source=(http://127.0.0.1:8080/files/NVIDIA-Linux-$ARCH-${_nver}-pkg1.run)
    #md5sums=('575f988468f2c34a302da3d21e282689')
    [ "$CARCH" = "x86_64" ] && md5sums=('6fd14366f7ff4575dcce3a9d350d1355')
    build()
    # Extract
    cd $startdir/src/
    sh NVIDIA-Linux-$ARCH-${_nver}-pkg1.run --extract-only
    cd NVIDIA-Linux-$ARCH-${_nver}-pkg1
    # Any extra patches are applied in here...
    patch -Np1 < /home/httpd/html/files/NVIDIA_kernel-1.0.8776-20061203.diff || return 1
    cd usr/src/nv/
    #patch -Np1 -i /home/httpd/html/files/NVIDIA_kernel-1.0.8776-20061203.diff || return 1
    ln -s Makefile.kbuild Makefile
    make SYSSRC=/lib/modules/$_kernver/build module
    # install kernel module
    mkdir -p $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/video/
    install -m644 nvidia.ko $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/video/
    sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/*.install
    md5sums=('56676850e400a10a123c7f65f63e3aea')
    When I run makepkg, I get this:
    ==> Making package: nvidia-custom 1.0.8776-1 (Sat Mar 24 00:25:07 CDT 2007)
    ==> Checking Runtime Dependencies...
    ==> Checking Buildtime Dependencies...
    ==> Retrieving Sources...
    ==> Using local copy of NVIDIA-Linux-x86-1.0-8776-pkg1.run
    ==> Validating source files with MD5sums
    NVIDIA-Linux-x86-1.0-8776-pkg1.run ... Passed
    ==> Extracting Sources...
    ==> Removing existing pkg/ directory...
    ==> Starting build()...
    Creating directory NVIDIA-Linux-x86-1.0-8776-pkg1
    The directory 'NVIDIA-Linux-x86-1.0-8776-pkg1' already exists. Please either
    move the existing directory out of the way, or specify a
    different directory with the '--target' option.
    can't find file to patch at input line 4
    Perhaps you used the wrong -p or --strip option?
    The text leading up to this was:
    |diff -u usr/src/nv/Makefile.kbuild usr/src/nv.20061203/Makefile.kbuild
    |--- usr/src/nv/Makefile.kbuild 2006-10-16 22:31:37.000000000 -0700
    |+++ usr/src/nv.20061203/Makefile.kbuild 2006-12-03 18:07:10.133657000 -0800
    File to patch:
    [12]+ Stopped makepkg
    [root@shin nvidia]#
    'File to patch:' was asking for input so I ctrl+x'ed. I don't really know what's going on. Isn't it already assumed that the file that needs to be patched is the first file that got compared to? Does this mean that the 'diff' failed? I don't really see where the usr/src/nv.20061203/Makefile.kbuild is coming from.

Maybe you are looking for