diff --git a/nvidia-390xx/PKGBUILD b/nvidia-390xx/PKGBUILD index c067cf345..10949baa2 100644 --- a/nvidia-390xx/PKGBUILD +++ b/nvidia-390xx/PKGBUILD @@ -13,10 +13,12 @@ source=("https://code.chakralinux.org/tools/chakra-hardware-detection/raw/master _pkg="NVIDIA-Linux-x86_64-${pkgver}" _extramodules=extramodules-CHAKRA source+=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/${_pkg}.run" - kernel-4.16.patch) + kernel-4.16.patch + kernel-4.19.patch) sha256sums=('94db1b11de33b0299da021fee8c21e4442656fe76452ac582b556e3f96365d5d' '38290a0b19e86037112f22397e02be9cdd6bcd677dd926b2977bbd49119e611e' - '622ac792ec200b2239cb663c0010392118b78c9904973d82cd261165c16d6385') + '622ac792ec200b2239cb663c0010392118b78c9904973d82cd261165c16d6385' + 'e425320bd3712cc789035d5936412724b0b410f50463980c0a48715fd3f8c431') prepare() { sh "${_pkg}.run" --extract-only @@ -25,6 +27,7 @@ prepare() { # Restore phys_to_dma support (still needed for 396.18) # https://bugs.archlinux.org/task/58074 patch -Np1 -i ../kernel-4.16.patch + patch -Np1 -i ../kernel-4.19.patch cp -a kernel kernel-dkms cd kernel-dkms diff --git a/nvidia-390xx/kernel-4.19.patch b/nvidia-390xx/kernel-4.19.patch new file mode 100644 index 000000000..57a7259e9 --- /dev/null +++ b/nvidia-390xx/kernel-4.19.patch @@ -0,0 +1,63 @@ +diff -u -r a/kernel/conftest.sh b/kernel/conftest.sh +--- a/kernel/conftest.sh 2018-11-01 11:00:14.429126159 +0000 ++++ b/kernel/conftest.sh 2018-11-01 11:03:08.199579458 +0000 +@@ -2372,8 +2372,13 @@ + # + CODE=" + #include ++ #include + void conftest_drm_mode_connector_list_update_has_merge_type_bits_arg(void) { ++ #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0) + drm_mode_connector_list_update( ++ #else ++ drm_connector_list_update( ++ #endif + NULL, /* struct drm_connector *connector */ + true); /* bool merge_type_bits */ + }" +diff -u -r a/kernel/nvidia-drm/nvidia-drm-connector.c b/kernel/nvidia-drm/nvidia-drm-connector.c +--- a/kernel/nvidia-drm/nvidia-drm-connector.c 2018-08-22 00:55:29.000000000 +0000 ++++ b/kernel/nvidia-drm/nvidia-drm-connector.c 2018-11-01 11:08:14.643715031 +0000 +@@ -34,6 +34,7 @@ + + #include + #include ++#include + + static void nv_drm_connector_destroy(struct drm_connector *connector) + { +@@ -226,7 +227,11 @@ + + + if (nv_connector->edid != NULL) { ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0) + drm_mode_connector_update_edid_property( ++#else ++ drm_connector_update_edid_property( ++#endif + connector, nv_connector->edid); + } + +diff -u -r a/kernel/nvidia-drm/nvidia-drm-encoder.c b/kernel/nvidia-drm/nvidia-drm-encoder.c +--- a/kernel/nvidia-drm/nvidia-drm-encoder.c 2018-08-22 00:55:29.000000000 +0000 ++++ b/kernel/nvidia-drm/nvidia-drm-encoder.c 2018-11-01 11:08:32.210427737 +0000 +@@ -34,6 +34,7 @@ + + #include + #include ++#include + + static void nv_drm_encoder_destroy(struct drm_encoder *encoder) + { +@@ -216,7 +217,11 @@ + + /* Attach encoder and connector */ + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0) + ret = drm_mode_connector_attach_encoder(connector, encoder); ++#else ++ ret = drm_connector_attach_encoder(connector, encoder); ++#endif + + if (ret != 0) { + NV_DRM_DEV_LOG_ERR(