Merge pull request #3790 from 5schatten/libglvnd

graphic: use GLVND to dispatch graphic API calls
This commit is contained in:
MilhouseVH 2019-09-18 19:37:13 +01:00 committed by GitHub
commit 12a609af23
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 24433 additions and 118 deletions

View File

@ -12,19 +12,18 @@ PKG_VERSION="1.5.3"
PKG_SHA256="002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/anholt/libepoxy"
PKG_URL="https://github.com/anholt/libepoxy/releases/download/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_URL="https://github.com/anholt/libepoxy/releases/download/${PKG_VERSION}/libepoxy-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="Epoxy is a library for handling OpenGL function pointer management for you."
PKG_TOOLCHAIN="autotools"
if [ "$OPENGL" != "no" ]; then
PKG_DEPENDS_TARGET+=" $OPENGL"
if [ "${OPENGL_SUPPORT}" = "yes" ]; then
PKG_DEPENDS_TARGET+=" ${OPENGL}"
fi
if [ "$OPENGLES" != "no" ]; then
PKG_DEPENDS_TARGET+=" $OPENGLES"
if [ "${OPENGLES_SUPPORT}" = "yes" ]; then
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
fi
if [ "$DISPLAYSERVER" != "x11" ]; then
PKG_CONFIGURE_OPTS_TARGET="--disable-glx"
if [ "${DISPLAYSERVER}" != "x11" ]; then
PKG_MESON_OPTS_TARGET="-D glx=no"
fi

View File

@ -0,0 +1,29 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libglvnd"
PKG_VERSION="1.1.1"
PKG_SHA256="baca5e1a78b96a112650cdc597be3f856d4754eb73a7bf3f6629e78a7e9f2b5a"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/NVIDIA/libglvnd"
PKG_URL="https://github.com/NVIDIA/libglvnd/archive/v${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain libX11 libXext xorgproto"
PKG_LONGDESC="libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors."
PKG_TOOLCHAIN="autotools"
if [ "$OPENGLES_SUPPORT" = "no" ]; then
PKG_CONFIGURE_OPTS_TARGET="--disable-gles"
fi
post_makeinstall_target() {
if [ "${DISPLAYSERVER}" = "x11" ]; then
# Remove old symlinks to GLVND libGL.so.1.7.0
safe_remove ${INSTALL}/usr/lib/libGL.so
safe_remove ${INSTALL}/usr/lib/libGL.so.1
# Create new symlinks to /var/lib/libGL.so
ln -sf libGL.so.1 ${INSTALL}/usr/lib/libGL.so
ln -sf /var/lib/libGL.so ${INSTALL}/usr/lib/libGL.so.1
# Create new symlink to GLVND libGL.so.1.7.0
ln -sf libGL.so.1.7.0 ${INSTALL}/usr/lib/libGL_glvnd.so.1
fi
}

View File

@ -7,11 +7,10 @@ PKG_VERSION="19.1.6"
PKG_SHA256="a3dc32262e3baa6a32cd153c32b0a5af3e52e0b88ff94787438e7414eb13264e"
PKG_LICENSE="OSS"
PKG_SITE="http://www.mesa3d.org/"
PKG_URL="https://github.com/mesa3d/mesa/archive/mesa-$PKG_VERSION.tar.gz"
PKG_URL="https://github.com/mesa3d/mesa/archive/mesa-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain expat libdrm Mako:host"
PKG_LONGDESC="Mesa is a 3-D graphics library with an API."
PKG_TOOLCHAIN="meson"
PKG_BUILD_FLAGS="+lto"
if listcontains "${GRAPHIC_DRIVERS}" "(lima|panfrost)"; then
PKG_VERSION="ef919d8dcb9272ad7b23f5dbd8b7fb2f83393b42" # master-19.3
@ -34,7 +33,6 @@ PKG_MESON_OPTS_TARGET="-Ddri-drivers=${DRI_DRIVERS// /,} \
-Dopengl=true \
-Dgbm=true \
-Degl=true \
-Dglvnd=false \
-Dasm=true \
-Dvalgrind=false \
-Dlibunwind=false \
@ -43,69 +41,48 @@ PKG_MESON_OPTS_TARGET="-Ddri-drivers=${DRI_DRIVERS// /,} \
-Dselinux=false \
-Dosmesa=none"
if [ "$DISPLAYSERVER" = "x11" ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET xorgproto libXext libXdamage libXfixes libXxf86vm libxcb libX11 libxshmfence libXrandr"
if [ "${DISPLAYSERVER}" = "x11" ]; then
PKG_DEPENDS_TARGET+=" xorgproto libXext libXdamage libXfixes libXxf86vm libxcb libX11 libxshmfence libXrandr libglvnd"
export X11_INCLUDES=
PKG_MESON_OPTS_TARGET+=" -Dplatforms=x11,drm -Ddri3=true -Dglx=dri"
elif [ "$DISPLAYSERVER" = "weston" ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET wayland wayland-protocols"
PKG_MESON_OPTS_TARGET+=" -Dplatforms=wayland,drm -Ddri3=false -Dglx=disabled"
PKG_MESON_OPTS_TARGET+=" -Dplatforms=x11,drm -Ddri3=true -Dglx=dri -Dglvnd=true"
elif [ "${DISPLAYSERVER}" = "weston" ]; then
PKG_DEPENDS_TARGET+=" wayland wayland-protocols"
PKG_MESON_OPTS_TARGET+=" -Dplatforms=wayland,drm -Ddri3=false -Dglx=disabled -Dglvnd=false"
else
PKG_MESON_OPTS_TARGET+=" -Dplatforms=drm -Ddri3=false -Dglx=disabled"
PKG_MESON_OPTS_TARGET+=" -Dplatforms=drm -Ddri3=false -Dglx=disabled -Dglvnd=false"
fi
if [ "$LLVM_SUPPORT" = "yes" ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET elfutils llvm"
export LLVM_CONFIG="$SYSROOT_PREFIX/usr/bin/llvm-config-host"
if [ "${LLVM_SUPPORT}" = "yes" ]; then
PKG_DEPENDS_TARGET+=" elfutils llvm"
export LLVM_CONFIG="${SYSROOT_PREFIX}/usr/bin/llvm-config-host"
PKG_MESON_OPTS_TARGET+=" -Dllvm=true"
else
PKG_MESON_OPTS_TARGET+=" -Dllvm=false"
fi
if [ "$VDPAU_SUPPORT" = "yes" -a "$DISPLAYSERVER" = "x11" ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libvdpau"
if [ "${VDPAU_SUPPORT}" = "yes" -a "${DISPLAYSERVER}" = "x11" ]; then
PKG_DEPENDS_TARGET+=" libvdpau"
PKG_MESON_OPTS_TARGET+=" -Dgallium-vdpau=true"
else
PKG_MESON_OPTS_TARGET+=" -Dgallium-vdpau=false"
fi
if [ "$VAAPI_SUPPORT" = "yes" ] && listcontains "$GRAPHIC_DRIVERS" "(r600|radeonsi)"; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libva"
if [ "${VAAPI_SUPPORT}" = "yes" ] && listcontains "${GRAPHIC_DRIVERS}" "(r600|radeonsi)"; then
PKG_DEPENDS_TARGET+=" libva"
PKG_MESON_OPTS_TARGET+=" -Dgallium-va=true"
else
PKG_MESON_OPTS_TARGET+=" -Dgallium-va=false"
fi
if listcontains "$GRAPHIC_DRIVERS" "vmware"; then
if listcontains "${GRAPHIC_DRIVERS}" "vmware"; then
PKG_MESON_OPTS_TARGET+=" -Dgallium-xa=true"
else
PKG_MESON_OPTS_TARGET+=" -Dgallium-xa=false"
fi
if [ "$OPENGLES_SUPPORT" = "yes" ]; then
if [ "${OPENGLES_SUPPORT}" = "yes" ]; then
PKG_MESON_OPTS_TARGET+=" -Dgles1=false -Dgles2=true"
else
PKG_MESON_OPTS_TARGET+=" -Dgles1=false -Dgles2=false"
fi
# Temporary workaround:
# Listed libraries are static, while mesa expects shared ones. This breaks the
# dependency tracking. The following has some ideas on how to address that.
# https://github.com/LibreELEC/LibreELEC.tv/pull/2163
pre_configure_target() {
if [ "$DISPLAYSERVER" = "x11" ]; then
export LIBS="-lxcb-dri3 -lxcb-dri2 -lxcb-xfixes -lxcb-present -lxcb-sync -lxshmfence -lz"
fi
}
post_makeinstall_target() {
# Similar hack is needed on EGL, GLES* front. Might as well drop it and test the GLVND?
if [ "$DISPLAYSERVER" = "x11" ]; then
# rename and relink for cooperate with nvidia drivers
rm -rf $INSTALL/usr/lib/libGL.so
rm -rf $INSTALL/usr/lib/libGL.so.1
ln -sf libGL.so.1 $INSTALL/usr/lib/libGL.so
ln -sf /var/lib/libGL.so $INSTALL/usr/lib/libGL.so.1
mv $INSTALL/usr/lib/libGL.so.1.2.0 $INSTALL/usr/lib/libGL_mesa.so.1
fi
}

View File

@ -11,63 +11,62 @@ PKG_SHA256="19ff49073e88245666825722e2c814d369ab4d01b2883a954ce0bfbe9c3b22ab"
PKG_ARCH="x86_64"
PKG_LICENSE="nonfree"
PKG_SITE="http://www.nvidia.com/"
PKG_URL="http://us.download.nvidia.com/XFree86/Linux-x86_64/$PKG_VERSION/NVIDIA-Linux-x86_64-$PKG_VERSION-no-compat32.run"
PKG_DEPENDS_TARGET="toolchain util-macros linux xorg-server libvdpau"
PKG_NEED_UNPACK="$LINUX_DEPENDS"
PKG_URL="http://us.download.nvidia.com/XFree86/Linux-x86_64/${PKG_VERSION}/NVIDIA-Linux-x86_64-${PKG_VERSION}-no-compat32.run"
PKG_DEPENDS_TARGET="toolchain util-macros linux xorg-server libvdpau libglvnd"
PKG_NEED_UNPACK="${LINUX_DEPENDS}"
PKG_LONGDESC="The Xorg driver for NVIDIA video chips."
PKG_TOOLCHAIN="manual"
unpack() {
[ -d $PKG_BUILD ] && rm -rf $PKG_BUILD
[ -d ${PKG_BUILD} ] && rm -rf ${PKG_BUILD}
sh $SOURCES/$PKG_NAME/$PKG_SOURCE_NAME --extract-only --target $PKG_BUILD
sh ${SOURCES}/${PKG_NAME}/${PKG_SOURCE_NAME} --extract-only --target ${PKG_BUILD}
}
make_target() {
unset LDFLAGS
cd kernel
make module CC=$CC SYSSRC=$(kernel_path) SYSOUT=$(kernel_path)
$STRIP --strip-debug nvidia.ko
make module CC=${CC} SYSSRC=$(kernel_path) SYSOUT=$(kernel_path)
${STRIP} --strip-debug nvidia.ko
cd ..
}
makeinstall_target() {
mkdir -p $INSTALL/$XORG_PATH_MODULES/drivers
cp -P nvidia_drv.so $INSTALL/$XORG_PATH_MODULES/drivers/nvidia-main_drv.so
ln -sf /var/lib/nvidia_drv.so $INSTALL/$XORG_PATH_MODULES/drivers/nvidia_drv.so
mkdir -p ${INSTALL}/${XORG_PATH_MODULES}/drivers
cp -P nvidia_drv.so ${INSTALL}/${XORG_PATH_MODULES}/drivers/nvidia-main_drv.so
ln -sf /var/lib/nvidia_drv.so ${INSTALL}/${XORG_PATH_MODULES}/drivers/nvidia_drv.so
mkdir -p $INSTALL/$XORG_PATH_MODULES/extensions
# rename to not conflicting with Mesa libGL.so
cp -P libglxserver_nvidia.so.$PKG_VERSION $INSTALL/$XORG_PATH_MODULES/extensions/libglx_nvidia.so
mkdir -p ${INSTALL}/${XORG_PATH_MODULES}/extensions
# rename to avoid conflicts with X.Org-Server module libglx.so
cp -P libglxserver_nvidia.so.${PKG_VERSION} ${INSTALL}/${XORG_PATH_MODULES}/extensions/libglx_nvidia.so
mkdir -p $INSTALL/etc/X11
cp $PKG_DIR/config/*.conf $INSTALL/etc/X11
mkdir -p ${INSTALL}/etc/X11
cp ${PKG_DIR}/config/*.conf ${INSTALL}/etc/X11
mkdir -p $INSTALL/usr/lib
cp -P libnvidia-glcore.so.$PKG_VERSION $INSTALL/usr/lib
cp -P libnvidia-ml.so.$PKG_VERSION $INSTALL/usr/lib
ln -sf /var/lib/libnvidia-ml.so.1 $INSTALL/usr/lib/libnvidia-ml.so.1
cp -P libnvidia-tls.so.$PKG_VERSION $INSTALL/usr/lib
# rename to not conflicting with Mesa libGL.so
cp -P libGL.so.$PKG_VERSION $INSTALL/usr/lib/libGL_nvidia.so.1
mkdir -p ${INSTALL}/usr/lib
cp -P libnvidia-glcore.so.${PKG_VERSION} ${INSTALL}/usr/lib
cp -P libnvidia-ml.so.${PKG_VERSION} ${INSTALL}/usr/lib
ln -sf /var/lib/libnvidia-ml.so.1 ${INSTALL}/usr/lib/libnvidia-ml.so.1
cp -P libnvidia-tls.so.${PKG_VERSION} ${INSTALL}/usr/lib
cp -P libGLX_nvidia.so.${PKG_VERSION} ${INSTALL}/usr/lib/libGLX_nvidia.so.0
mkdir -p $INSTALL/$(get_full_module_dir)/nvidia
ln -sf /var/lib/nvidia.ko $INSTALL/$(get_full_module_dir)/nvidia/nvidia.ko
cp -P kernel/nvidia-uvm.ko $INSTALL/$(get_full_module_dir)/nvidia
cp -P kernel/nvidia-modeset.ko $INSTALL/$(get_full_module_dir)/nvidia
mkdir -p ${INSTALL}/$(get_full_module_dir)/nvidia
ln -sf /var/lib/nvidia.ko ${INSTALL}/$(get_full_module_dir)/nvidia/nvidia.ko
cp -P kernel/nvidia-uvm.ko ${INSTALL}/$(get_full_module_dir)/nvidia
cp -P kernel/nvidia-modeset.ko ${INSTALL}/$(get_full_module_dir)/nvidia
mkdir -p $INSTALL/usr/lib/nvidia
cp -P kernel/nvidia.ko $INSTALL/usr/lib/nvidia
mkdir -p ${INSTALL}/usr/lib/nvidia
cp -P kernel/nvidia.ko ${INSTALL}/usr/lib/nvidia
mkdir -p $INSTALL/usr/bin
ln -s /var/lib/nvidia-smi $INSTALL/usr/bin/nvidia-smi
cp nvidia-smi $INSTALL/usr/bin/nvidia-main-smi
ln -s /var/lib/nvidia-xconfig $INSTALL/usr/bin/nvidia-xconfig
cp nvidia-xconfig $INSTALL/usr/bin/nvidia-main-xconfig
mkdir -p ${INSTALL}/usr/bin
ln -s /var/lib/nvidia-smi ${INSTALL}/usr/bin/nvidia-smi
cp nvidia-smi ${INSTALL}/usr/bin/nvidia-main-smi
ln -s /var/lib/nvidia-xconfig ${INSTALL}/usr/bin/nvidia-xconfig
cp nvidia-xconfig ${INSTALL}/usr/bin/nvidia-main-xconfig
mkdir -p $INSTALL/usr/lib/vdpau
cp libvdpau_nvidia.so* $INSTALL/usr/lib/vdpau/libvdpau_nvidia-main.so.1
ln -sf /var/lib/libvdpau_nvidia.so $INSTALL/usr/lib/vdpau/libvdpau_nvidia.so
ln -sf /var/lib/libvdpau_nvidia.so.1 $INSTALL/usr/lib/vdpau/libvdpau_nvidia.so.1
mkdir -p ${INSTALL}/usr/lib/vdpau
cp libvdpau_nvidia.so* ${INSTALL}/usr/lib/vdpau/libvdpau_nvidia-main.so.1
ln -sf /var/lib/libvdpau_nvidia.so ${INSTALL}/usr/lib/vdpau/libvdpau_nvidia.so
ln -sf /var/lib/libvdpau_nvidia.so.1 ${INSTALL}/usr/lib/vdpau/libvdpau_nvidia.so.1
}

View File

@ -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