cleanup scripts: packages/ xorg

This commit is contained in:
CvH 2025-07-20 11:34:00 +00:00 committed by Rudi Heitbaum
parent dcb62955e9
commit f925c46910
2 changed files with 70 additions and 71 deletions

View File

@ -6,22 +6,22 @@
# wait for xorg-configure@.service
# max 10 seconds
ARGS_FILE="/run/libreelec/xorg-settings.conf"
for i in $(seq 1 40) ; do
if [ -e "$ARGS_FILE" ] ; then
for i in $(seq 1 40); do
if [ -e "$ARGS_FILE" ]; then
break
fi
usleep 250000
done
if [ -e "$ARGS_FILE" ] ; then
if [ -e "$ARGS_FILE" ]; then
. /run/libreelec/xorg-settings.conf
exec xorg-launch-helper $@ $XORG_ARGS
else
echo "" > /dev/tty1
echo "failed to start xorg." > /dev/tty1
echo "is your GPU supported?" > /dev/tty1
echo "" > /dev/tty1
lspci -nn > /dev/tty1
echo "" > /dev/tty1
echo "" >/dev/tty1
echo "failed to start xorg." >/dev/tty1
echo "is your GPU supported?" >/dev/tty1
echo "" >/dev/tty1
lspci -nn >/dev/tty1
echo "" >/dev/tty1
sleep 30
fi

View File

@ -13,7 +13,7 @@ mkdir -p /var/run
# HACK. we have xorg-configure@%. so nice race
# can happen on multi-gpu setups
if [ -e /var/run/xorg-configure.done ] ; then
if [ -e /var/run/xorg-configure.done ]; then
exit 0
fi
@ -26,10 +26,10 @@ 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_DEFAULT="/etc/X11/xorg.conf"
XORG_CONF_DEFAULT_DRV="/etc/X11/xorg-${1}.conf"
XORG_CONF_USER="/storage/.config/xorg.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"
##############################################################################
# creating start options
@ -37,18 +37,18 @@ logger -t Xorg "### setup xorg.conf paths ###"
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
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}"
fi
# 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}"
elif [ -f "$XORG_CONF_DEFAULT_DRV" ]; then
XORG_ARGS="${XORG_ARGS} -config ${XORG_CONF_DEFAULT_DRV}"
fi
##############################################################################
# creating needed directories and symlinks
@ -56,55 +56,54 @@ logger -t Xorg "### creating start options ###"
logger -t Xorg "### creating needed directories and symlinks ###"
# Used to support GeForce 600 Series & newer
if [ "${1}" = "nvidia" ]; then
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
insmod /var/lib/nvidia.ko
# GL/GLX (GLVND)
ln -sf /usr/lib/libGL_glvnd.so.1 /var/lib/libGL.so
ln -sf /usr/lib/libGLX_glvnd.so.0 /var/lib/libGLX.so
# indirect rendering
ln -sf /usr/lib/libGLX_nvidia.so.0 /var/lib/libGLX_indirect.so.0
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
insmod /var/lib/nvidia.ko
# GLX (NON-GLVND)
ln -sf /usr/lib/libGL_nvidia-legacy.so.1 /var/lib/libGLX.so
# indirect rendering
ln -sf /usr/lib/libGL_nvidia-legacy.so.1 /var/lib/libGLX_indirect.so.0
XORG_ARGS="${XORG_ARGS} -ignoreABI"
# Used for AMD & Intel GPUs supported by MESA 3D
else
ln -sf /usr/lib/xorg/modules/extensions/libglx_mesa.so /var/lib/libglx.so
# GL/GLX (GLVND)
ln -sf /usr/lib/libGL_glvnd.so.1 /var/lib/libGL.so
ln -sf /usr/lib/libGLX_glvnd.so.0 /var/lib/libGLX.so
# indirect rendering
ln -sf /usr/lib/libGLX_mesa.so.0 /var/lib/libGLX_indirect.so.0
fi
# Used to support GeForce 600 Series & newer
if [ "${1}" = "nvidia" ]; then
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
insmod /var/lib/nvidia.ko
# GL/GLX (GLVND)
ln -sf /usr/lib/libGL_glvnd.so.1 /var/lib/libGL.so
ln -sf /usr/lib/libGLX_glvnd.so.0 /var/lib/libGLX.so
# indirect rendering
ln -sf /usr/lib/libGLX_nvidia.so.0 /var/lib/libGLX_indirect.so.0
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
insmod /var/lib/nvidia.ko
# GLX (NON-GLVND)
ln -sf /usr/lib/libGL_nvidia-legacy.so.1 /var/lib/libGLX.so
# indirect rendering
ln -sf /usr/lib/libGL_nvidia-legacy.so.1 /var/lib/libGLX_indirect.so.0
XORG_ARGS="${XORG_ARGS} -ignoreABI"
# Used for AMD & Intel GPUs supported by MESA 3D
else
ln -sf /usr/lib/xorg/modules/extensions/libglx_mesa.so /var/lib/libglx.so
# GL/GLX (GLVND)
ln -sf /usr/lib/libGL_glvnd.so.1 /var/lib/libGL.so
ln -sf /usr/lib/libGLX_glvnd.so.0 /var/lib/libGLX.so
# indirect rendering
ln -sf /usr/lib/libGLX_mesa.so.0 /var/lib/libGLX_indirect.so.0
fi
################################################################################
# setup xorg-settings.conf
################################################################################
logger -t Xorg "### starting Xorg with '${DISPLAY} vt01 ${XORG_ARGS}' ###"
mkdir -p /run/libreelec
echo "XORG_ARGS=\"${XORG_ARGS}\"" > /run/libreelec/xorg-settings.conf
mkdir -p /run/libreelec
echo "XORG_ARGS=\"${XORG_ARGS}\"" >/run/libreelec/xorg-settings.conf