From 78b1dbbc6b2ac7d8d45b40489884bae4c455bebf Mon Sep 17 00:00:00 2001 From: Stefano Ragni Date: Mon, 9 Dec 2019 20:04:46 +0100 Subject: [PATCH] nvidia340: fix issues after libglvnd introduction install EGL and GLES too and make it provider of them install glx module into separate folder replace libglvnd and provide it provide INSTALL.msg with useful info --- srcpkgs/nvidia340/INSTALL.msg | 15 +++++++++++++ srcpkgs/nvidia340/files/nvidia-glx.conf | 4 ++++ srcpkgs/nvidia340/template | 30 +++++++++++++++++-------- 3 files changed, 40 insertions(+), 9 deletions(-) create mode 100644 srcpkgs/nvidia340/INSTALL.msg create mode 100644 srcpkgs/nvidia340/files/nvidia-glx.conf diff --git a/srcpkgs/nvidia340/INSTALL.msg b/srcpkgs/nvidia340/INSTALL.msg new file mode 100644 index 00000000000..6301c36edbe --- /dev/null +++ b/srcpkgs/nvidia340/INSTALL.msg @@ -0,0 +1,15 @@ +> Remove from your /etc/X11/xorg.conf blocks like this: + +Section "Files" +... +EndSection + +This is known to happen when the configuration is generated by nvidia-xconfig. +Such a section interferes with the "Files" Section provided by the package. + +------------------------------------------------------------------------------- + +> If you wish to go back to nouveau: + +# xbps-remove nvidia340 nvidia340-dkms +# xbps-install libglvnd diff --git a/srcpkgs/nvidia340/files/nvidia-glx.conf b/srcpkgs/nvidia340/files/nvidia-glx.conf new file mode 100644 index 00000000000..7c76883abb3 --- /dev/null +++ b/srcpkgs/nvidia340/files/nvidia-glx.conf @@ -0,0 +1,4 @@ +Section "Files" + ModulePath "/usr/lib/nvidia/xorg" + ModulePath "/usr/lib/xorg/modules" +EndSection diff --git a/srcpkgs/nvidia340/template b/srcpkgs/nvidia340/template index dd686b50283..c79944026d3 100644 --- a/srcpkgs/nvidia340/template +++ b/srcpkgs/nvidia340/template @@ -4,7 +4,7 @@ _desc="NVIDIA drivers (GeForce 8, 9, 9M, 100, 100M, 200, 300 series)" pkgname=nvidia340 version=340.107 -revision=6 +revision=7 maintainer="Orphaned " license="custom:NVIDIA proprietary" homepage="http://www.nvidia.com" @@ -53,14 +53,25 @@ do_install() { vinstall nvidia_drv.so 755 usr/lib/xorg/modules/drivers # GLX extension module for X - vinstall libglx.so.${version} 755 usr/lib/xorg/modules/extensions - ln -sf libglx.so.${version} ${DESTDIR}/usr/lib/xorg/modules/extensions/libglx.so - ln -sf libglx.so.${version} ${DESTDIR}/usr/lib/xorg/modules/extensions/libglx.so.1 + vinstall libglx.so.${version} 755 usr/lib/nvidia/xorg + ln -sf libglx.so.${version} ${DESTDIR}/usr/lib/nvidia/xorg/libglx.so.1 + ln -sf libglx.so.${version} ${DESTDIR}/usr/lib/nvidia/xorg/libglx.so + # Override default ModulePath to load nvidia's glx instead of xorg's + vinstall ${FILESDIR}/nvidia-glx.conf 644 /usr/share/X11/xorg.conf.d 10-nvidia-glx.conf - # OpenGL library + # OpenGL libraries (GL, EGL and GLES) vinstall libGL.so.${version} 755 usr/lib - ln -sf libGL.so.${version} ${DESTDIR}/usr/lib/libGL.so ln -sf libGL.so.${version} ${DESTDIR}/usr/lib/libGL.so.1 + ln -sf libGL.so.${version} ${DESTDIR}/usr/lib/libGL.so + vinstall libEGL.so.${version} 755 usr/lib + ln -sf libEGL.so.${version} ${DESTDIR}/usr/lib/libEGL.so.1 + ln -sf libEGL.so.${version} ${DESTDIR}/usr/lib/libEGL.so + vinstall libGLESv1_CM.so.${version} 755 usr/lib + ln -sf libGLESv1_CM.so.${version} ${DESTDIR}/usr/lib/libGLESv1_CM.so.1 + ln -sf libGLESv1_CM.so.${version} ${DESTDIR}/usr/lib/libGLESv1_CM.so + vinstall libGLESv2.so.${version} 755 usr/lib + ln -sf libGLESv2.so.${version} ${DESTDIR}/usr/lib/libGLESv2.so.2 + ln -sf libGLESv2.so.${version} ${DESTDIR}/usr/lib/libGLESv2.so # OpenGL core library vinstall libnvidia-glcore.so.${version} 755 usr/lib @@ -95,6 +106,8 @@ do_install() { ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/usr/lib/libnvidia-fbc.so ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/usr/lib/libnvidia-fbc.so.1 + vinstall libnvidia-glsi.so.${version} 755 usr/lib + # CUDA vbin nvidia-cuda-mps-control vbin nvidia-cuda-mps-server @@ -202,9 +215,8 @@ nvidia340-opencl_package() { } nvidia340-libs_package() { short_desc="${_desc} - libraries" - conflicts="libglvnd>=0" - provides="libGL-${version}_${revision}" - replaces="libGL>=0" + provides="libGL-7.11_1 libEGL-7.11_1 libGLES-7.11_1 libglvnd-1.3.0_1" + replaces="libGL>=0 libEGL>=0 libGLES>=0 libglvnd>=0" pkg_install() { vmove usr/lib }