From 83605e70356aee22bff71d699d33c1abe5cd9e15 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Tue, 1 Dec 2009 08:24:48 +0100 Subject: [PATCH] new package: - add nvidia binary driver (not tested) --- packages/graphics/Mesa-master/install | 8 +++- packages/sysutils/busybox/config/sysconfig | 26 ++++++++---- packages/x11/driver/xf86-video-nvidia/arch | 2 + packages/x11/driver/xf86-video-nvidia/build | 11 +++++ packages/x11/driver/xf86-video-nvidia/install | 41 +++++++++++++++++++ .../x11/driver/xf86-video-nvidia/need_unpack | 9 ++++ packages/x11/driver/xf86-video-nvidia/unpack | 15 +++++++ packages/x11/driver/xf86-video-nvidia/url | 2 + packages/x11/xserver/xorg-server/install | 15 ++----- projects/intel/options | 15 +++---- 10 files changed, 117 insertions(+), 27 deletions(-) create mode 100644 packages/x11/driver/xf86-video-nvidia/arch create mode 100755 packages/x11/driver/xf86-video-nvidia/build create mode 100755 packages/x11/driver/xf86-video-nvidia/install create mode 100755 packages/x11/driver/xf86-video-nvidia/need_unpack create mode 100755 packages/x11/driver/xf86-video-nvidia/unpack create mode 100644 packages/x11/driver/xf86-video-nvidia/url diff --git a/packages/graphics/Mesa-master/install b/packages/graphics/Mesa-master/install index 35308a86d9..26fe5789df 100755 --- a/packages/graphics/Mesa-master/install +++ b/packages/graphics/Mesa-master/install @@ -11,7 +11,11 @@ $SCRIPTS/install libXxf86vm $SCRIPTS/install libX11 mkdir -p $INSTALL/usr/lib - cp -PR $PKG_BUILD/lib/libGL*.so* $INSTALL/usr/lib + cp -PR $PKG_BUILD/lib/libGL.so.1.2 $INSTALL/usr/lib/libGL_mesa.so.1 # rename for cooperate with nvidia drivers + ln -sf libGL.so.1 $INSTALL/usr/lib/libGL.so + ln -sf /var/lib/libGL.so $INSTALL/usr/lib/libGL.so.1 + + cp -PR $PKG_BUILD/lib/libGLU.so* $INSTALL/usr/lib mkdir -p $INSTALL/usr/lib/dri - cp -PR $PKG_BUILD/lib/*_dri.so $INSTALL/usr/lib/dri + cp -PR $PKG_BUILD/lib/*_dri.so $INSTALL/usr/lib/dri || true diff --git a/packages/sysutils/busybox/config/sysconfig b/packages/sysutils/busybox/config/sysconfig index ad41e08b50..48169c2b04 100644 --- a/packages/sysutils/busybox/config/sysconfig +++ b/packages/sysutils/busybox/config/sysconfig @@ -11,12 +11,30 @@ done # functions + progress() { + if test "$DEBUG" = yes; then + echo "### $1 ###" + fi + } + start_xorg() { args="-s 0 -br -noreset -allowMouseOpenFail " + if lspci -n | grep 0300 | grep -q 10de; then + progress "### Found nVidia card, enabling binary driver as requested ###" + mkdir -p /var/lib + ln -sf /usr/lib/libGL_nvidia.so.1 /var/lib/libGL.so + ln -sf /usr/lib/xorg/modules/extensions/libglx_nvidia.so /var/lib/libglx.so + else + progress "### Not found nVidia card, enabling OSS driver as requested ###" + mkdir -p /var/lib + ln -sf /usr/lib/libGL_mesa.so.1 /var/lib/libGL.so + ln -sf /usr/lib/xorg/modules/extensions/libglx_mesa.so /var/lib/libglx.so + fi + mkdir -p /var/cache/xkb exec /usr/bin/Xorg :0.0 vt01 ${args} > /dev/null 2>&1 & - } + } start_splash() { while true; do @@ -28,12 +46,6 @@ done } - progress() { - if test "$DEBUG" = yes; then - echo "### $1 ###" - fi - } - # read config files for config in `ls /etc/conf.d/`; do . /etc/conf.d/$config diff --git a/packages/x11/driver/xf86-video-nvidia/arch b/packages/x11/driver/xf86-video-nvidia/arch new file mode 100644 index 0000000000..7414689203 --- /dev/null +++ b/packages/x11/driver/xf86-video-nvidia/arch @@ -0,0 +1,2 @@ +i386 +x86_64 diff --git a/packages/x11/driver/xf86-video-nvidia/build b/packages/x11/driver/xf86-video-nvidia/build new file mode 100755 index 0000000000..0b37e97e00 --- /dev/null +++ b/packages/x11/driver/xf86-video-nvidia/build @@ -0,0 +1,11 @@ +#!/bin/sh + +. config/options + +require_eglibc $1 + +$SCRIPTS/build toolchain +$SCRIPTS/build linux + +cd $BUILD/$1/usr/src/nv + make module CC=$CC SYSSRC=$(kernel_path) SYSOUT=$(kernel_path) diff --git a/packages/x11/driver/xf86-video-nvidia/install b/packages/x11/driver/xf86-video-nvidia/install new file mode 100755 index 0000000000..194bcb2ea4 --- /dev/null +++ b/packages/x11/driver/xf86-video-nvidia/install @@ -0,0 +1,41 @@ +#!/bin/sh + +. config/options + +$SCRIPTS/install linux + +require_eglibc $1 + +PKG_DIR=`find $PACKAGES -type d -name $1` +VER=`ls $BUILD/linux*/modules/lib/modules` + +mkdir -p $INSTALL/$XORG_PATH_MODULES/drivers + cp $BUILD/$1/usr/X11R6/lib/modules/drivers/*_drv.so $INSTALL/$XORG_PATH_MODULES/drivers + +mkdir -p $INSTALL/$XORG_PATH_MODULES/extensions + cp $BUILD/$1/usr/X11R6/lib/modules/extensions/libglx.so* $INSTALL/$XORG_PATH_MODULES/extensions/libglx_nvidia.so + +mkdir -p $INSTALL/usr/lib + cp $BUILD/$1/usr/lib/libGLcore.so* $INSTALL/usr/lib/libGLcore.so.1 + cp $BUILD/$1/usr/lib/libGL.so* $INSTALL/usr/lib/libGL_nvidia.so.1 + cp $BUILD/$1/usr/lib/tls/*tls*.so* $INSTALL/usr/lib/libnvidia-tls.so.1 + +mkdir -p $INSTALL/lib/modules/$VER/nvidia + cp $BUILD/$1/usr/src/nv/nvidia.ko $INSTALL/lib/modules/$VER/nvidia + + for MOD in `find $INSTALL/lib/modules/$VER/nvidia -name *.ko`; do + $STRIP --strip-debug $MOD + done + + $BUILD/module-init-tool*/build/depmod -b $INSTALL -v $VER > /dev/null + for i in `ls $INSTALL/lib/modules/*/modules.* | grep -v modules.dep | grep -v modules.alias | grep -v modules.symbols`; do + rm -f $i + done + +if [ "$VDPAU" = yes ]; then + $SCRIPTS/install libvdpau + [ "$DEVTOOLS" = yes ] && $SCRIPTS/install vdpauinfo + + cp $BUILD/$1/usr/lib/libvdpau_nvidia.so* $INSTALL/usr/lib/libvdpau_nvidia.so.1 + ln -s libvdpau_nvidia.so.1 $INSTALL/usr/lib/libvdpau_nvidia.so +fi diff --git a/packages/x11/driver/xf86-video-nvidia/need_unpack b/packages/x11/driver/xf86-video-nvidia/need_unpack new file mode 100755 index 0000000000..12bf21233b --- /dev/null +++ b/packages/x11/driver/xf86-video-nvidia/need_unpack @@ -0,0 +1,9 @@ +#!/bin/sh + +. config/options + +STAMP=$STAMPS/$1/unpack + +test $PACKAGES/linux/config/linux.$TARGET_ARCH.conf -nt $STAMP -o $PACKAGES/linux/config/linux.$TARGET_PLATFORM.conf -nt $STAMP -o $PACKAGES/linux/url -nt $STAMP && rm -f $STAMP + +exit 0 diff --git a/packages/x11/driver/xf86-video-nvidia/unpack b/packages/x11/driver/xf86-video-nvidia/unpack new file mode 100755 index 0000000000..c7c7e9a7d9 --- /dev/null +++ b/packages/x11/driver/xf86-video-nvidia/unpack @@ -0,0 +1,15 @@ +#!/bin/sh + +. config/options + +require_eglibc $1 + +PKG_DIR=`find $PACKAGES -type d -name $1` + +NV_ARCH=x86 +[ "$TARGET_ARCH" = x86_64 ] && NV_ARCH=x86_64 + +NV_PKG="`grep $NV_ARCH- $PKG_DIR/url | sed 's%.*/\(.*\)$%\1%'`" +[ -d $PKG_BUILD ] && rm -rf $PKG_BUILD + +sh $SOURCES/$1/$NV_PKG --extract-only --target $BUILD/$1 diff --git a/packages/x11/driver/xf86-video-nvidia/url b/packages/x11/driver/xf86-video-nvidia/url new file mode 100644 index 0000000000..e553ee6b94 --- /dev/null +++ b/packages/x11/driver/xf86-video-nvidia/url @@ -0,0 +1,2 @@ +ftp://download.nvidia.com/XFree86/Linux-x86/190.42/NVIDIA-Linux-x86-190.42-pkg1.run +ftp://download.nvidia.com/XFree86/Linux-x86_64/190.42/NVIDIA-Linux-x86_64-190.42-pkg2.run diff --git a/packages/x11/xserver/xorg-server/install b/packages/x11/xserver/xorg-server/install index 0787910376..d955c2f591 100755 --- a/packages/x11/xserver/xorg-server/install +++ b/packages/x11/xserver/xorg-server/install @@ -11,8 +11,6 @@ $SCRIPTS/install $LIBDRM $SCRIPTS/install $MESA $SCRIPTS/install pixman $SCRIPTS/install udev -#$SCRIPTS/install dbus -#$SCRIPTS/install hal PKG_DIR=`find $PACKAGES -type d -name $1` @@ -43,7 +41,8 @@ mkdir -p $XORG_DST/extensions cp $XORG_SRC/dri/.libs/libdri.so $XORG_DST/extensions cp $XORG_SRC/dri2/.libs/libdri2.so $XORG_DST/extensions cp $XORG_SRC/dixmods/extmod/.libs/libextmod.so $XORG_DST/extensions - cp $XORG_SRC/dixmods/.libs/libglx.so $XORG_DST/extensions + cp $XORG_SRC/dixmods/.libs/libglx.so $XORG_DST/extensions/libglx_mesa.so # rename for cooperate with nvidia drivers + ln -sf /var/lib/libglx.so $XORG_DST/extensions/libglx.so mkdir -p $XORG_DST/linux cp $XORG_SRC/fbdevhw/.libs/libfbdevhw.so $XORG_DST/linux @@ -54,12 +53,6 @@ mkdir -p $XORG_DST/multimedia mkdir -p $INSTALL/etc/X11 cp $PKG_BUILD/dix/protocol.txt $INSTALL/etc/X11 -#mkdir -p $INSTALL/etc/dbus-1/system.d -# cp $PKG_BUILD/config/xorg-server.conf $INSTALL/etc/dbus-1/system.d - -#mkdir -p $INSTALL/usr/share/hal/fdi/policy/10osvendor/ -# cp $PKG_BUILD/config/x11-input.fdi $INSTALL/usr/share/hal/fdi/policy/10osvendor/10-x11-input.fdi - mkdir -p $INSTALL/lib/udev/rules.d cp $PKG_DIR/config/*.rules $INSTALL/lib/udev/rules.d @@ -84,5 +77,5 @@ get_graphicdrivers $SCRIPTS/install xf86-video-$drv done -#Tools -# $SCRIPTS/install xrandr +# Tools + $SCRIPTS/install pciutils diff --git a/projects/intel/options b/projects/intel/options index 5ed759c8a1..28b05c4d59 100644 --- a/projects/intel/options +++ b/projects/intel/options @@ -32,9 +32,12 @@ # Graphic drivers to use (all / i915,i965,r200,r300,r600,radeon,nouveau) # Space separated list is supported, -# e.g. GRAPHIC_DRIVERS="i915 i965 radeon nouveau" +# e.g. GRAPHIC_DRIVERS="i915 i965 radeon nvidia" GRAPHIC_DRIVERS="i965" +# Use VDPAU video acceleration (needs nVidia driver and a supported card) + VDPAU=no + # Remote to Use (pctv/logitech/hauppauge/realmagic/creative/leadtek/ # leadtek-pvr2000/RM-S6/RX-V850/animax/askey/avermedia/packard_bell/atiusb/ # atiusb2/LG/D-10/digimatrix/mceusb/streamzap/cinergy1400/nova-s-plus/twinhan/ @@ -88,7 +91,7 @@ fi get_graphicdrivers() { if [ "$GRAPHIC_DRIVERS" = all ]; then - GRAPHIC_DRIVERS="i915 i965 r200 r300 r600 radeon nouveau" + GRAPHIC_DRIVERS="i915 i965 r200 r300 r600 radeon nvidia" fi for drv in $GRAPHIC_DRIVERS; do @@ -110,11 +113,9 @@ get_graphicdrivers() { XORG_DRIVERS="$XORG_DRIVERS ati" DRM_DRIVERS="$DRM_DRIVERS radeon" fi - - if [ $drv = nouveau ]; then - MESA_CONFIG="$MESA_CONFIG --enable-gallium-nouveau" - XORG_DRIVERS="$XORG_DRIVERS nouveau" - DRM_DRIVERS="$DRM_DRIVERS nouveau" + + if [ $drv = nvidia ]; then + XORG_DRIVERS="$XORG_DRIVERS nvidia" fi done