mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 21:56:42 +00:00
Merge pull request #3790 from 5schatten/libglvnd
graphic: use GLVND to dispatch graphic API calls
This commit is contained in:
commit
12a609af23
@ -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
|
||||
|
29
packages/graphics/libglvnd/package.mk
Normal file
29
packages/graphics/libglvnd/package.mk
Normal 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
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user