--- /var/portage/repos/gentoo/x11-drivers/nvidia-drivers/nvidia-drivers-430.40.ebuild 2019-08-06 19:02:11.813117810 +0100 +++ nvidia-drivers-430.40.ebuild 2019-08-06 19:07:21.778335395 +0100 @@ -286,6 +286,9 @@ > "${T}"/nvidia-rmmod.conf || die doins "${T}"/nvidia-rmmod.conf fi + if ! use X; then + sed -i -r 's/ nvidia-(drm|modeset)//g' "${D}"/etc/modprobe.d/nvidia-rmmod.conf || die + fi # Ensures that our device nodes are created when not using X exeinto "$(get_udevdir)" @@ -304,16 +307,16 @@ # NVIDIA kernel <-> userspace driver config lib donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER} - # NVIDIA framebuffer capture library - donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER} + if use X; then + # NVIDIA framebuffer capture library + donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER} - # NVIDIA video encode/decode <-> CUDA - if use kernel_linux; then - donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER} - donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER} - fi + # NVIDIA video encode/decode <-> CUDA + if use kernel_linux; then + donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER} + donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER} + fi - if use X; then # Xorg DDX driver insinto /usr/$(get_libdir)/xorg/modules/drivers doins ${NV_X11}/nvidia_drv.so @@ -456,8 +459,18 @@ nv_libdir="${NV_OBJ}"/32 fi + # Libraries that don't depend on X11 libraries. + local NV_LIBRARIES=( + "libOpenCL.so.1.0.0 ${CL_ROOT}" + "libcuda.so.${NV_SOVER}" + "libnvidia-compiler.so.${NV_SOVER}" + "libnvidia-fatbinaryloader.so.${NV_SOVER}" + "libnvidia-opencl.so.${NV_SOVER}" + "libnvidia-ptxjitcompiler.so.${NV_SOVER}" + ) + if use X; then - NV_GLX_LIBRARIES=( + NV_LIBRARIES=( "libEGL.so.$(usex compat ${NV_SOVER} 1.1.0) ${GL_ROOT}" "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}" "libGL.so.$(usex compat ${NV_SOVER} 1.7.0) ${GL_ROOT}" @@ -468,57 +481,51 @@ "libGLX.so.0 ${GL_ROOT}" "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}" "libGLdispatch.so.0 ${GL_ROOT}" - "libOpenCL.so.1.0.0 ${CL_ROOT}" "libOpenGL.so.0 ${GL_ROOT}" - "libcuda.so.${NV_SOVER}" "libnvcuvid.so.${NV_SOVER}" - "libnvidia-compiler.so.${NV_SOVER}" "libnvidia-eglcore.so.${NV_SOVER}" "libnvidia-encode.so.${NV_SOVER}" - "libnvidia-fatbinaryloader.so.${NV_SOVER}" "libnvidia-fbc.so.${NV_SOVER}" "libnvidia-glcore.so.${NV_SOVER}" "libnvidia-glsi.so.${NV_SOVER}" "libnvidia-glvkspirv.so.${NV_SOVER}" "libnvidia-ifr.so.${NV_SOVER}" - "libnvidia-opencl.so.${NV_SOVER}" - "libnvidia-ptxjitcompiler.so.${NV_SOVER}" "libvdpau_nvidia.so.${NV_SOVER}" ) if use wayland && has_multilib_profile && [[ ${ABI} == "amd64" ]]; then - NV_GLX_LIBRARIES+=( + NV_LIBRARIES+=( "libnvidia-egl-wayland.so.1.1.2" ) fi - if use kernel_FreeBSD; then - NV_GLX_LIBRARIES+=( - "libnvidia-tls.so.${NV_SOVER}" - ) - fi - - if use kernel_linux; then - NV_GLX_LIBRARIES+=( - "libnvidia-ml.so.${NV_SOVER}" - "libnvidia-tls.so.${NV_SOVER}" - ) - fi - if use kernel_linux && has_multilib_profile && [[ ${ABI} == "amd64" ]]; then - NV_GLX_LIBRARIES+=( + NV_LIBRARIES+=( "libnvidia-cbl.so.${NV_SOVER}" "libnvidia-rtcore.so.${NV_SOVER}" "libnvoptix.so.${NV_SOVER}" ) fi + fi - for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do - donvidia "${nv_libdir}"/${NV_LIB} - done + if use kernel_FreeBSD; then + NV_LIBRARIES+=( + "libnvidia-tls.so.${NV_SOVER}" + ) + fi + + if use kernel_linux; then + NV_LIBRARIES+=( + "libnvidia-ml.so.${NV_SOVER}" + "libnvidia-tls.so.${NV_SOVER}" + ) fi + + for NV_LIB in "${NV_LIBRARIES[@]}"; do + donvidia "${nv_libdir}"/${NV_LIB} + done } pkg_preinst() {