diff --git a/packages/x11/driver/xf86-video-nvidia/package.mk b/packages/x11/driver/xf86-video-nvidia/package.mk index a5871ce2a1..0c069e5747 100644 --- a/packages/x11/driver/xf86-video-nvidia/package.mk +++ b/packages/x11/driver/xf86-video-nvidia/package.mk @@ -6,8 +6,8 @@ PKG_NAME="xf86-video-nvidia" # Remember to run "python packages/x11/driver/xf86-video-nvidia/scripts/make_nvidia_udev.py" and commit changes to # "packages/x11/driver/xf86-video-nvidia/udev.d/96-nvidia.rules" whenever bumping version. # Host may require installation of python-lxml and python-requests packages. -PKG_VERSION="410.104" -PKG_SHA256="0f4f61a742831d82a94457ff12c4583a6e17ace71e0e6ca794ee3ce0a0b9db32" +PKG_VERSION="418.74" +PKG_SHA256="f58ce7bce5117759c6272b17ec585659c3c4f9daf139b5bbda98fd4a447e78ee" PKG_ARCH="x86_64" PKG_LICENSE="nonfree" PKG_SITE="http://www.nvidia.com/" @@ -48,7 +48,7 @@ makeinstall_target() { 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 tls/libnvidia-tls.so.$PKG_VERSION $INSTALL/usr/lib + 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 diff --git a/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-fix-kernel-5.1-rc1.patch b/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-fix-kernel-5.1-rc1.patch deleted file mode 100644 index 3dce0cada4..0000000000 --- a/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-fix-kernel-5.1-rc1.patch +++ /dev/null @@ -1,180 +0,0 @@ -From ebf7001e438867ac1870c549cdb55eae3a86f82e Mon Sep 17 00:00:00 2001 -From: MilhouseVH -Date: Thu, 21 Mar 2019 10:23:47 +0000 -Subject: [PATCH] Fix build with linux 5.1-rc1 - -Credit: http://rglinuxtech.com/?p=2530 ---- - kernel/common/inc/nv-list-helpers.h | 2 +- - kernel/nvidia-drm/nvidia-drm-connector.c | 9 +++++++++ - kernel/nvidia-drm/nvidia-drm-drv.c | 10 ++++++++++ - kernel/nvidia-drm/nvidia-drm-encoder.c | 14 ++++++++++++++ - kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c | 6 ++++++ - kernel/nvidia-uvm/uvm8.c | 8 ++++++++ - kernel/nvidia-uvm/uvm8_range_tree.c | 2 +- - 7 files changed, 49 insertions(+), 2 deletions(-) - -diff --git a/kernel/common/inc/nv-list-helpers.h b/kernel/common/inc/nv-list-helpers.h -index 0aed851..e6bb240 100644 ---- a/kernel/common/inc/nv-list-helpers.h -+++ b/kernel/common/inc/nv-list-helpers.h -@@ -91,7 +91,7 @@ - list_entry((pos)->member.next, typeof(*(pos)), member) - #endif - --static inline int list_is_first(const struct list_head *list, -+static inline int nv_list_is_first(const struct list_head *list, - const struct list_head *head) - { - return list->prev == head; -diff --git a/kernel/nvidia-drm/nvidia-drm-connector.c b/kernel/nvidia-drm/nvidia-drm-connector.c -index 4dd12d1..96df497 100644 ---- a/kernel/nvidia-drm/nvidia-drm-connector.c -+++ b/kernel/nvidia-drm/nvidia-drm-connector.c -@@ -35,6 +35,8 @@ - #include - #include - -+#include -+ - static void nv_drm_connector_destroy(struct drm_connector *connector) - { - struct nv_drm_connector *nv_connector = to_nv_connector(connector); -@@ -201,6 +203,13 @@ nv_drm_connector_detect(struct drm_connector *connector, bool force) - return __nv_drm_connector_detect_internal(connector); - } - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0) -+/* Add header constants missing after 5.1-rc1 */ -+int drm_helper_probe_single_connector_modes(struct drm_connector -+*connector, uint32_t maxX, -+uint32_t maxY); -+#endif -+ - static struct drm_connector_funcs nv_connector_funcs = { - #if defined NV_DRM_ATOMIC_HELPER_CONNECTOR_DPMS_PRESENT - .dpms = drm_atomic_helper_connector_dpms, -diff --git a/kernel/nvidia-drm/nvidia-drm-drv.c b/kernel/nvidia-drm/nvidia-drm-drv.c -index 49f099f..96562bf 100644 ---- a/kernel/nvidia-drm/nvidia-drm-drv.c -+++ b/kernel/nvidia-drm/nvidia-drm-drv.c -@@ -35,8 +35,18 @@ - #include "nvidia-drm-gem-nvkms-memory.h" - #include "nvidia-drm-gem-user-memory.h" - -+#include -+ - #if defined(NV_DRM_AVAILABLE) - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0) -+/* Add header constants missing after 5.1-rc1 */ -+void drm_kms_helper_poll_init(struct drm_device *dev); -+void drm_kms_helper_poll_fini(struct drm_device *dev); -+bool drm_helper_hpd_irq_event(struct drm_device *dev); -+void drm_kms_helper_poll_disable(struct drm_device *dev); -+#endif -+ - #include "nvidia-drm-ioctl.h" - - #include -diff --git a/kernel/nvidia-drm/nvidia-drm-encoder.c b/kernel/nvidia-drm/nvidia-drm-encoder.c -index f66bbd7..7a5e0de 100644 ---- a/kernel/nvidia-drm/nvidia-drm-encoder.c -+++ b/kernel/nvidia-drm/nvidia-drm-encoder.c -@@ -36,6 +36,13 @@ - #include - #include - -+#include -+ -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0) -+/* Add header constants missing after 5.1-rc1 */ -+void drm_kms_helper_hotplug_event(struct drm_device *dev); -+#endif -+ - static void nv_drm_encoder_destroy(struct drm_encoder *encoder) - { - struct nv_drm_encoder *nv_encoder = to_nv_encoder(encoder); -@@ -152,6 +159,13 @@ nv_drm_encoder_new(struct drm_device *dev, - return &nv_encoder->base; - } - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0) -+/* Add header constants missing after 5.1-rc1 */ -+int drm_helper_probe_single_connector_modes(struct drm_connector -+*connector, uint32_t maxX, -+uint32_t maxY); -+#endif -+ - /* - * Add encoder for given NvKmsKapiDisplay - */ -diff --git a/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c b/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c -index 998fcc2..a5a154a 100644 ---- a/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c -+++ b/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c -@@ -29,6 +29,8 @@ - - #include "nv-mm.h" - -+#include -+ - static void __nv_drm_gem_nvkms_memory_free(struct nv_drm_gem_object *nv_gem) - { - struct nv_drm_device *nv_dev = nv_gem->nv_dev; -@@ -377,7 +379,11 @@ static int __nv_drm_vma_fault(struct vm_area_struct *vma, - */ - - #if defined(NV_VM_OPS_FAULT_REMOVED_VMA_ARG) -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0) - static int nv_drm_vma_fault(struct vm_fault *vmf) -+#else -+static vm_fault_t nv_drm_vma_fault(struct vm_fault *vmf) -+#endif - { - return __nv_drm_vma_fault(vmf->vma, vmf); - } -diff --git a/kernel/nvidia-uvm/uvm8.c b/kernel/nvidia-uvm/uvm8.c -index 70ed244..e5b7054 100644 ---- a/kernel/nvidia-uvm/uvm8.c -+++ b/kernel/nvidia-uvm/uvm8.c -@@ -172,7 +172,11 @@ static int uvm_vm_fault_sigbus(struct vm_area_struct *vma, struct vm_fault *vmf) - return VM_FAULT_SIGBUS; - } - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0) - static int uvm_vm_fault_sigbus_wrapper(struct vm_fault *vmf) -+#else -+static vm_fault_t uvm_vm_fault_sigbus_wrapper(struct vm_fault *vmf) -+#endif - { - #if defined(NV_VM_OPS_FAULT_REMOVED_VMA_ARG) - return uvm_vm_fault_sigbus(vmf->vma, vmf); -@@ -507,7 +511,11 @@ convert_error: - } - } - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0) - static int uvm_vm_fault_wrapper(struct vm_fault *vmf) -+#else -+static vm_fault_t uvm_vm_fault_wrapper(struct vm_fault *vmf) -+#endif - { - #if defined(NV_VM_OPS_FAULT_REMOVED_VMA_ARG) - return uvm_vm_fault(vmf->vma, vmf); -diff --git a/kernel/nvidia-uvm/uvm8_range_tree.c b/kernel/nvidia-uvm/uvm8_range_tree.c -index b7170d0..ba15777 100644 ---- a/kernel/nvidia-uvm/uvm8_range_tree.c -+++ b/kernel/nvidia-uvm/uvm8_range_tree.c -@@ -31,7 +31,7 @@ static uvm_range_tree_node_t *get_range_node(struct rb_node *rb_node) - - uvm_range_tree_node_t *uvm_range_tree_prev(uvm_range_tree_t *tree, uvm_range_tree_node_t *node) - { -- if (list_is_first(&node->list, &tree->head)) -+ if (nv_list_is_first(&node->list, &tree->head)) - return NULL; - return list_prev_entry(node, list); - } --- -2.14.1 - diff --git a/packages/x11/driver/xf86-video-nvidia/udev.d/96-nvidia.rules b/packages/x11/driver/xf86-video-nvidia/udev.d/96-nvidia.rules index 9d93888062..de284241b0 100644 --- a/packages/x11/driver/xf86-video-nvidia/udev.d/96-nvidia.rules +++ b/packages/x11/driver/xf86-video-nvidia/udev.d/96-nvidia.rules @@ -237,6 +237,7 @@ ATTRS{device}=="0x1c21", GOTO="configure_nvidia" ATTRS{device}=="0x1c22", GOTO="configure_nvidia" ATTRS{device}=="0x1c23", GOTO="configure_nvidia" ATTRS{device}=="0x1c30", GOTO="configure_nvidia" +ATTRS{device}=="0x1c31", GOTO="configure_nvidia" ATTRS{device}=="0x1c60", GOTO="configure_nvidia" ATTRS{device}=="0x1c61", GOTO="configure_nvidia" ATTRS{device}=="0x1c62", GOTO="configure_nvidia" @@ -246,6 +247,8 @@ ATTRS{device}=="0x1c83", GOTO="configure_nvidia" ATTRS{device}=="0x1c8c", GOTO="configure_nvidia" ATTRS{device}=="0x1c8d", GOTO="configure_nvidia" ATTRS{device}=="0x1c8f", GOTO="configure_nvidia" +ATTRS{device}=="0x1c90", GOTO="configure_nvidia" +ATTRS{device}=="0x1c91", GOTO="configure_nvidia" ATTRS{device}=="0x1c92", GOTO="configure_nvidia" ATTRS{device}=="0x1cb1", GOTO="configure_nvidia" ATTRS{device}=="0x1cb2", GOTO="configure_nvidia" @@ -254,10 +257,14 @@ ATTRS{device}=="0x1cb6", GOTO="configure_nvidia" ATTRS{device}=="0x1cba", GOTO="configure_nvidia" ATTRS{device}=="0x1cbb", GOTO="configure_nvidia" ATTRS{device}=="0x1cbc", GOTO="configure_nvidia" +ATTRS{device}=="0x1cbd", GOTO="configure_nvidia" ATTRS{device}=="0x1d01", GOTO="configure_nvidia" ATTRS{device}=="0x1d10", GOTO="configure_nvidia" +ATTRS{device}=="0x1d11", GOTO="configure_nvidia" ATTRS{device}=="0x1d12", GOTO="configure_nvidia" +ATTRS{device}=="0x1d13", GOTO="configure_nvidia" ATTRS{device}=="0x1d33", GOTO="configure_nvidia" +ATTRS{device}=="0x1d52", GOTO="configure_nvidia" ATTRS{device}=="0x1d81", GOTO="configure_nvidia" ATTRS{device}=="0x1db1", GOTO="configure_nvidia" ATTRS{device}=="0x1db3", GOTO="configure_nvidia" @@ -268,16 +275,30 @@ ATTRS{device}=="0x1db7", GOTO="configure_nvidia" ATTRS{device}=="0x1db8", GOTO="configure_nvidia" ATTRS{device}=="0x1dba", GOTO="configure_nvidia" ATTRS{device}=="0x1df5", GOTO="configure_nvidia" +ATTRS{device}=="0x1e02", GOTO="configure_nvidia" ATTRS{device}=="0x1e04", GOTO="configure_nvidia" ATTRS{device}=="0x1e07", GOTO="configure_nvidia" ATTRS{device}=="0x1e30", GOTO="configure_nvidia" ATTRS{device}=="0x1e82", GOTO="configure_nvidia" ATTRS{device}=="0x1e87", GOTO="configure_nvidia" +ATTRS{device}=="0x1e90", GOTO="configure_nvidia" ATTRS{device}=="0x1eb0", GOTO="configure_nvidia" ATTRS{device}=="0x1eb1", GOTO="configure_nvidia" ATTRS{device}=="0x1eb8", GOTO="configure_nvidia" +ATTRS{device}=="0x1ed0", GOTO="configure_nvidia" ATTRS{device}=="0x1f02", GOTO="configure_nvidia" ATTRS{device}=="0x1f07", GOTO="configure_nvidia" +ATTRS{device}=="0x1f08", GOTO="configure_nvidia" +ATTRS{device}=="0x1f10", GOTO="configure_nvidia" +ATTRS{device}=="0x1f11", GOTO="configure_nvidia" +ATTRS{device}=="0x1f50", GOTO="configure_nvidia" +ATTRS{device}=="0x1f51", GOTO="configure_nvidia" +ATTRS{device}=="0x1f82", GOTO="configure_nvidia" +ATTRS{device}=="0x1f91", GOTO="configure_nvidia" +ATTRS{device}=="0x2182", GOTO="configure_nvidia" +ATTRS{device}=="0x2184", GOTO="configure_nvidia" +ATTRS{device}=="0x2191", GOTO="configure_nvidia" +ATTRS{device}=="0x21d1", GOTO="configure_nvidia" GOTO="configure_nvidia-legacy" LABEL="configure_nvidia"