From cbe3f5f73d128e10f57990ef5f2a19436c05156a Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 22 Oct 2010 07:37:48 +0200 Subject: [PATCH] xorg: setup xorg depending on loaded graphic driver, not on installed hardware Signed-off-by: Stephan Raue --- .../x11/xserver/xorg-server/init.d/15_xorg | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/packages/x11/xserver/xorg-server/init.d/15_xorg b/packages/x11/xserver/xorg-server/init.d/15_xorg index 79a09250f1..3b8d002af4 100755 --- a/packages/x11/xserver/xorg-server/init.d/15_xorg +++ b/packages/x11/xserver/xorg-server/init.d/15_xorg @@ -26,6 +26,7 @@ . /etc/profile +( XORG_DEFAULT_CONF="/etc/X11/xorg.conf" XORG_NVIDIA_CONF="/etc/X11/xorg-nvidia.conf" XORG_NVIDIA_CHD_CONF="/etc/X11/xorg-nvidia-chd.conf" @@ -34,7 +35,17 @@ [ "$DEBUG" = yes ] && XORG_ARGS="$XORG_ARGS -logverbose 6 -verbose 6" -( + # find used graphic driver + if [ -d /sys/module/i915 ]; then + DRIVER="intel" + elif [ -d /sys/module/nouveau ]; then + DRIVER="nouveau" + elif [ -d /sys/module/nvidia ]; then + DRIVER="nvidia" + else + DRIVER="other" + fi + progress "creating directories needed for Xorg" mkdir -p /var/cache/xkb @@ -42,26 +53,23 @@ mkdir -m 1777 -p /tmp/.ICE-unix chown root:root /tmp/.ICE-unix - if lspci -n | grep 0300 | grep -q 10de; then - + # test if nvidia kernel driver is loaded, + if [ "$DRIVER" = "nvidia" ]; then 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 XORG_ARGS="$XORG_ARGS -ignoreABI" - # check if we have an Broadcom CrystalHD card installed, so we can disable + # check if we have an Broadcom CrystalHD card installed, so we can disable # the use of shared memory if lspci -n | grep 0480 | grep -q 14e4; then XORG_CONF="$XORG_NVIDIA_CHD_CONF" else XORG_CONF="$XORG_NVIDIA_CONF" fi - else - 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 XORG_CONF="$XORG_DEFAULT_CONF" - fi [ -f $XORG_USER_CONF ] && XORG_CONF="$XORG_USER_CONF"