xorg-server: updated to support libglvnd / clean up

This commit is contained in:
5schatten 2019-09-02 23:41:23 +02:00
parent abb79bf640
commit 8eef015081

View File

@ -2,6 +2,7 @@
# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv) # Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
################################################################################ ################################################################################
# creating needed directories and symlinks # creating needed directories and symlinks
@ -17,7 +18,7 @@ if [ -e /var/run/xorg-configure.done ] ; then
fi fi
touch /var/run/xorg-configure.done 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 # 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 ###" logger -t Xorg "### setup xorg.conf paths ###"
XORG_CONF_USER="/storage/.config/xorg.conf" 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="/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 # creating start options
@ -39,14 +40,14 @@ logger -t Xorg "### creating start options ###"
XORG_ARGS="-s 0 -noreset -allowMouseOpenFail" XORG_ARGS="-s 0 -noreset -allowMouseOpenFail"
# load user defined xorg.conf, if exist # load user defined xorg.conf, if exist
if [ -f "$XORG_CONF_USER" ]; then if [ -f "${XORG_CONF_USER}" ]; then
XORG_ARGS="$XORG_ARGS -config $XORG_CONF_USER" XORG_ARGS="${XORG_ARGS} -config ${XORG_CONF_USER}"
elif [ -f "$XORG_CONF_USER_DRV" ]; then elif [ -f "${XORG_CONF_USER_DRV}" ]; then
XORG_ARGS="$XORG_ARGS -config $XORG_CONF_USER_DRV" XORG_ARGS="${XORG_ARGS} -config ${XORG_CONF_USER_DRV}"
elif [ -f "$XORG_CONF_DEFAULT" ]; then elif [ -f "${XORG_CONF_DEFAULT}" ]; then
XORG_ARGS="$XORG_ARGS -config $XORG_CONF_DEFAULT" XORG_ARGS="${XORG_ARGS} -config ${XORG_CONF_DEFAULT}"
elif [ -f "$XORG_CONF_DEFAULT_DRV" ]; then 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 fi
############################################################################## ##############################################################################
@ -55,32 +56,35 @@ logger -t Xorg "### creating start options ###"
logger -t Xorg "### creating needed directories and symlinks ###" logger -t Xorg "### creating needed directories and symlinks ###"
if [ "$1" = "nvidia" ]; then # Used to support GeForce 600 Series & newer
ln -sf /usr/lib/libGL_nvidia.so.1 /var/lib/libGL.so 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/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/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/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/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.1
ln -sf /usr/lib/vdpau/libvdpau_nvidia-main.so.1 /var/lib/libvdpau_nvidia.so 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-smi /var/lib/nvidia-smi
ln -sf /usr/bin/nvidia-main-xconfig /var/lib/nvidia-xconfig ln -sf /usr/bin/nvidia-main-xconfig /var/lib/nvidia-xconfig
insmod /var/lib/nvidia.ko insmod /var/lib/nvidia.ko
XORG_ARGS="$XORG_ARGS -ignoreABI" XORG_ARGS="${XORG_ARGS} -ignoreABI"
elif [ "$1" = "nvidia-legacy" ]; then # Used to support GeForce 500 Series & older
ln -sf /usr/lib/libGL_nvidia-legacy.so.1 /var/lib/libGL.so 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/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/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/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/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.1
ln -sf /usr/lib/vdpau/libvdpau_nvidia-legacy.so.1 /var/lib/libvdpau_nvidia.so 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-smi /var/lib/nvidia-smi
ln -sf /usr/bin/nvidia-legacy-xconfig /var/lib/nvidia-xconfig ln -sf /usr/bin/nvidia-legacy-xconfig /var/lib/nvidia-xconfig
insmod /var/lib/nvidia.ko 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 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 ln -sf /usr/lib/xorg/modules/extensions/libglx_mesa.so /var/lib/libglx.so
fi fi
@ -88,6 +92,7 @@ logger -t Xorg "### creating needed directories and symlinks ###"
# setup xorg-settings.conf # 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 mkdir -p /run/libreelec
echo "XORG_ARGS=\"$XORG_ARGS\"" > /run/libreelec/xorg-settings.conf echo "XORG_ARGS=\"${XORG_ARGS}\"" > /run/libreelec/xorg-settings.conf