From 8eef015081ff6e3231a4af2496dadab1773cfd6b Mon Sep 17 00:00:00 2001 From: 5schatten Date: Mon, 2 Sep 2019 23:41:23 +0200 Subject: [PATCH] xorg-server: updated to support libglvnd / clean up --- .../xorg-server/scripts/xorg-configure | 71 ++++++++++--------- 1 file changed, 38 insertions(+), 33 deletions(-) diff --git a/packages/x11/xserver/xorg-server/scripts/xorg-configure b/packages/x11/xserver/xorg-server/scripts/xorg-configure index a38d84bb79..045e842876 100755 --- a/packages/x11/xserver/xorg-server/scripts/xorg-configure +++ b/packages/x11/xserver/xorg-server/scripts/xorg-configure @@ -2,6 +2,7 @@ # SPDX-License-Identifier: GPL-2.0-or-later # Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv) +# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv) ################################################################################ # creating needed directories and symlinks @@ -17,7 +18,7 @@ if [ -e /var/run/xorg-configure.done ] ; then fi touch /var/run/xorg-configure.done -logger -t Xorg "creating needed directories and symlinks for driver: "$1"" +logger -t Xorg "creating needed directories and symlinks for driver: "${1}"" ############################################################################## # setup xorg.conf paths @@ -26,9 +27,9 @@ logger -t Xorg "creating needed directories and symlinks for driver: "$1"" logger -t Xorg "### setup xorg.conf paths ###" XORG_CONF_USER="/storage/.config/xorg.conf" - XORG_CONF_USER_DRV="/storage/.config/xorg-$1.conf" + XORG_CONF_USER_DRV="/storage/.config/xorg-${1}.conf" XORG_CONF_DEFAULT="/etc/X11/xorg.conf" - XORG_CONF_DEFAULT_DRV="/etc/X11/xorg-$1.conf" + XORG_CONF_DEFAULT_DRV="/etc/X11/xorg-${1}.conf" ############################################################################## # creating start options @@ -39,14 +40,14 @@ logger -t Xorg "### creating start options ###" XORG_ARGS="-s 0 -noreset -allowMouseOpenFail" # load user defined xorg.conf, if exist - if [ -f "$XORG_CONF_USER" ]; then - XORG_ARGS="$XORG_ARGS -config $XORG_CONF_USER" - elif [ -f "$XORG_CONF_USER_DRV" ]; then - XORG_ARGS="$XORG_ARGS -config $XORG_CONF_USER_DRV" - elif [ -f "$XORG_CONF_DEFAULT" ]; then - XORG_ARGS="$XORG_ARGS -config $XORG_CONF_DEFAULT" + if [ -f "${XORG_CONF_USER}" ]; then + XORG_ARGS="${XORG_ARGS} -config ${XORG_CONF_USER}" + elif [ -f "${XORG_CONF_USER_DRV}" ]; then + XORG_ARGS="${XORG_ARGS} -config ${XORG_CONF_USER_DRV}" + elif [ -f "${XORG_CONF_DEFAULT}" ]; then + XORG_ARGS="${XORG_ARGS} -config ${XORG_CONF_DEFAULT}" elif [ -f "$XORG_CONF_DEFAULT_DRV" ]; then - XORG_ARGS="$XORG_ARGS -config $XORG_CONF_DEFAULT_DRV" + XORG_ARGS="${XORG_ARGS} -config ${XORG_CONF_DEFAULT_DRV}" fi ############################################################################## @@ -55,32 +56,35 @@ logger -t Xorg "### creating start options ###" logger -t Xorg "### creating needed directories and symlinks ###" - if [ "$1" = "nvidia" ]; then - ln -sf /usr/lib/libGL_nvidia.so.1 /var/lib/libGL.so + # Used to support GeForce 600 Series & newer + if [ "${1}" = "nvidia" ]; then + ln -sf /usr/lib/libGL_glvnd.so.1 /var/lib/libGL.so ln -sf /usr/lib/xorg/modules/extensions/libglx_nvidia.so /var/lib/libglx.so - ln -sf /usr/lib/libnvidia-ml.so.@NVIDIA_VERSION@ /var/lib/libnvidia-ml.so.1 - ln -sf /usr/lib/xorg/modules/drivers/nvidia-main_drv.so /var/lib/nvidia_drv.so - ln -sf /usr/lib/nvidia/nvidia.ko /var/lib/nvidia.ko - ln -sf /usr/lib/vdpau/libvdpau_nvidia-main.so.1 /var/lib/libvdpau_nvidia.so.1 - ln -sf /usr/lib/vdpau/libvdpau_nvidia-main.so.1 /var/lib/libvdpau_nvidia.so - ln -sf /usr/bin/nvidia-main-smi /var/lib/nvidia-smi - ln -sf /usr/bin/nvidia-main-xconfig /var/lib/nvidia-xconfig + ln -sf /usr/lib/libnvidia-ml.so.@NVIDIA_VERSION@ /var/lib/libnvidia-ml.so.1 + ln -sf /usr/lib/xorg/modules/drivers/nvidia-main_drv.so /var/lib/nvidia_drv.so + ln -sf /usr/lib/nvidia/nvidia.ko /var/lib/nvidia.ko + ln -sf /usr/lib/vdpau/libvdpau_nvidia-main.so.1 /var/lib/libvdpau_nvidia.so.1 + ln -sf /usr/lib/vdpau/libvdpau_nvidia-main.so.1 /var/lib/libvdpau_nvidia.so + ln -sf /usr/bin/nvidia-main-smi /var/lib/nvidia-smi + ln -sf /usr/bin/nvidia-main-xconfig /var/lib/nvidia-xconfig insmod /var/lib/nvidia.ko - XORG_ARGS="$XORG_ARGS -ignoreABI" - elif [ "$1" = "nvidia-legacy" ]; then - ln -sf /usr/lib/libGL_nvidia-legacy.so.1 /var/lib/libGL.so + XORG_ARGS="${XORG_ARGS} -ignoreABI" + # Used to support GeForce 500 Series & older + elif [ "${1}" = "nvidia-legacy" ]; then + ln -sf /usr/lib/libGL_nvidia-legacy.so.1 /var/lib/libGL.so ln -sf /usr/lib/xorg/modules/extensions/libglx_nvidia-legacy.so /var/lib/libglx.so - ln -sf /usr/lib/libnvidia-ml.so.@NVIDIA_LEGACY_VERSION@ /var/lib/libnvidia-ml.so.1 - ln -sf /usr/lib/xorg/modules/drivers/nvidia-legacy_drv.so /var/lib/nvidia_drv.so - ln -sf /usr/lib/nvidia-legacy/nvidia.ko /var/lib/nvidia.ko - ln -sf /usr/lib/vdpau/libvdpau_nvidia-legacy.so.1 /var/lib/libvdpau_nvidia.so.1 - ln -sf /usr/lib/vdpau/libvdpau_nvidia-legacy.so.1 /var/lib/libvdpau_nvidia.so - ln -sf /usr/bin/nvidia-legacy-smi /var/lib/nvidia-smi - ln -sf /usr/bin/nvidia-legacy-xconfig /var/lib/nvidia-xconfig + ln -sf /usr/lib/libnvidia-ml.so.@NVIDIA_LEGACY_VERSION@ /var/lib/libnvidia-ml.so.1 + ln -sf /usr/lib/xorg/modules/drivers/nvidia-legacy_drv.so /var/lib/nvidia_drv.so + ln -sf /usr/lib/nvidia-legacy/nvidia.ko /var/lib/nvidia.ko + ln -sf /usr/lib/vdpau/libvdpau_nvidia-legacy.so.1 /var/lib/libvdpau_nvidia.so.1 + ln -sf /usr/lib/vdpau/libvdpau_nvidia-legacy.so.1 /var/lib/libvdpau_nvidia.so + ln -sf /usr/bin/nvidia-legacy-smi /var/lib/nvidia-smi + ln -sf /usr/bin/nvidia-legacy-xconfig /var/lib/nvidia-xconfig insmod /var/lib/nvidia.ko - XORG_ARGS="$XORG_ARGS -ignoreABI" + XORG_ARGS="${XORG_ARGS} -ignoreABI" + # Used for AMD & Intel GPUs supported by MESA 3D else - ln -sf /usr/lib/libGL_mesa.so.1 /var/lib/libGL.so + ln -sf /usr/lib/libGL_glvnd.so.1 /var/lib/libGL.so ln -sf /usr/lib/xorg/modules/extensions/libglx_mesa.so /var/lib/libglx.so fi @@ -88,6 +92,7 @@ logger -t Xorg "### creating needed directories and symlinks ###" # setup xorg-settings.conf ################################################################################ -logger -t Xorg "### starting Xorg with '$DISPLAY vt01 $XORG_ARGS' ###" +logger -t Xorg "### starting Xorg with '${DISPLAY} vt01 ${XORG_ARGS}' ###" mkdir -p /run/libreelec - echo "XORG_ARGS=\"$XORG_ARGS\"" > /run/libreelec/xorg-settings.conf + echo "XORG_ARGS=\"${XORG_ARGS}\"" > /run/libreelec/xorg-settings.conf +