{"id":3388,"date":"2025-12-18T05:41:33","date_gmt":"2025-12-18T13:41:33","guid":{"rendered":"https:\/\/rglinuxtech.com\/?p=3388"},"modified":"2025-12-18T05:41:33","modified_gmt":"2025-12-18T13:41:33","slug":"nvidia-hack-to-get-kernel-6-19-support-just","status":"publish","type":"post","link":"https:\/\/rglinuxtech.com\/?p=3388","title":{"rendered":"NVIDIA &#8211; Hack to Get Kernel 6.19 Support &#8211; Just&#8230;"},"content":{"rendered":"<p>The latest NVIDIA drivers failed with Kernel <strong>6.19-rc1<\/strong>, as detailed in an earlier post, and after some more research I was able to work out a hack to fix this, and in the process discovered a bit of a surprise..<\/p>\n<p>I managed to get the NVIDIA-proprietary code for <strong>580.119.02<\/strong> to compile successfully, but then:<br \/>\n&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230; <code><br \/>\n<strong><span style=\"font-family: Courier New, Courier, monospace;\">ERROR: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol '__vma_start_write'<\/span><\/strong><br \/>\n<strong><span style=\"font-family: Courier New, Courier, monospace;\">ERROR: modpost: GPL-incompatible module nvidia-drm.ko uses GPL-only symbol '__vma_start_write'<\/span><\/strong><br \/>\n<strong><span style=\"font-family: Courier New, Courier, monospace;\">make[4]: *** [\/usr\/src\/linux-6.19-rc1\/scripts\/Makefile.modpost:147: Module.symvers] Error 1<\/span><\/strong><br \/>\n<strong><span style=\"font-family: Courier New, Courier, monospace;\">make[3]: *** [\/usr\/src\/linux-6.19-rc1\/Makefile:2004: modpost] Error 2<\/span><\/strong><br \/>\n<strong><span style=\"font-family: Courier New, Courier, monospace;\">make[2]: *** [\/usr\/src\/linux-6.19-rc1\/Makefile:248: __sub-make] Error 2<\/span><\/strong><br \/>\n<strong><span style=\"font-family: Courier New, Courier, monospace;\">make[2]: Leaving directory '\/home\/rgadsdon\/NVIDIA-Linux-x86_64-580.119.02\/kernel'<\/span><\/strong><br \/>\n<strong><span style=\"font-family: Courier New, Courier, monospace;\">make[1]: *** [Makefile:248: __sub-make] Error 2<\/span><\/strong><br \/>\n<strong><span style=\"font-family: Courier New, Courier, monospace;\">make[1]: Leaving directory '\/usr\/src\/linux-6.19-rc1'<\/span><\/strong><br \/>\n<strong><span style=\"font-family: Courier New, Courier, monospace;\">make: *** [Makefile:138: modules] Error 2 <\/span><\/strong><\/code><\/p>\n<p>I was testing this on a\u00a0laptop with a GTX980M, which is still supported with this driver..<\/p>\n<p>So, I decided to try hacking the MIT\/GPL code in the <em>kernel-open<\/em> directory..<br \/>\nAfter getting this compile successfully, I got a &#8216;<strong>no device found<\/strong>&#8216; error after <span style=\"font-family: Courier New, Courier, monospace;\"><strong># modprobe nvidia<\/strong><\/span>, and assumed I had got something wrong.. After more testing, I found that the MIT\/GPL (&#8216;<em>kernel-open<\/em>&#8216;) code would not work at all with this GPU, although the NVIDIA (&#8216;<em>kernel<\/em>&#8216;) code for the same driver version did! It seems the &#8216;<em>kernel-open<\/em>&#8216; code has already dropped support for &#8216;older&#8217; GTX GPUs, and only worked with newer RTX models..<br \/>\n&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;. <code><br \/>\n<strong><span style=\"font-family: Courier New, Courier, monospace;\">[ 1029.103879] nvidia-nvlink: Nvlink Core is being initialized, major device number 237<\/span><\/strong><br \/>\n<strong><span style=\"font-family: Courier New, Courier, monospace;\">[ 1029.103887] NVRM: The NVIDIA GPU 0000:01:00.0 (PCI ID: 10de:13d7)<\/span><\/strong><br \/>\n<strong><span style=\"font-family: Courier New, Courier, monospace;\">NVRM: installed in this system is not supported by open<\/span><\/strong><br \/>\n<strong><span style=\"font-family: Courier New, Courier, monospace;\">NVRM: nvidia.ko because it does not include the required GPU<\/span><\/strong><br \/>\n<strong><span style=\"font-family: Courier New, Courier, monospace;\">NVRM: System Processor (GSP).<\/span><\/strong><br \/>\n<strong><span style=\"font-family: Courier New, Courier, monospace;\">NVRM: Please see the 'Open Linux Kernel Modules' and 'GSP<\/span><\/strong><br \/>\n<strong><span style=\"font-family: Courier New, Courier, monospace;\">NVRM: Firmware' sections in the driver README, available on<\/span><\/strong><br \/>\n<strong><span style=\"font-family: Courier New, Courier, monospace;\">NVRM: the Linux graphics driver download page at<\/span><\/strong><br \/>\n<strong><span style=\"font-family: Courier New, Courier, monospace;\">NVRM: www.nvidia.com.<\/span><\/strong><br \/>\n<strong><span style=\"font-family: Courier New, Courier, monospace;\">[ 1029.107031] nvidia 0000:01:00.0: probe with driver nvidia failed with error -1<\/span><\/strong><br \/>\n<strong><span style=\"font-family: Courier New, Courier, monospace;\">[ 1029.107118] NVRM: The NVIDIA probe routine failed for 1 device(s).<\/span><\/strong><br \/>\n<strong><span style=\"font-family: Courier New, Courier, monospace;\">[ 1029.107120] NVRM: None of the NVIDIA devices were initialized.<\/span><\/strong><br \/>\n<strong><span style=\"font-family: Courier New, Courier, monospace;\">[ 1029.107666] nvidia-nvlink: Unregistered Nvlink Core, major device number 237 <\/span><\/strong><\/code><\/p>\n<p>Switching to a system with an RTX 3050 GPU, I was able to get the hacked driver to load and run successfully..<br \/>\n&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. <code><br \/>\n<span style=\"font-family: Courier New, Courier, monospace;\"><strong>CC [M] nvidia.mod.o<\/strong><\/span><br \/>\n<span style=\"font-family: Courier New, Courier, monospace;\"><strong>CC [M] .module-common.o<\/strong><\/span><br \/>\n<span style=\"font-family: Courier New, Courier, monospace;\"><strong>LD [M] nvidia.ko<\/strong><\/span><br \/>\n<span style=\"font-family: Courier New, Courier, monospace;\"><strong>CC [M] nvidia-uvm.mod.o<\/strong><\/span><br \/>\n<span style=\"font-family: Courier New, Courier, monospace;\"><strong>LD [M] nvidia-uvm.ko<\/strong><\/span><br \/>\n<span style=\"font-family: Courier New, Courier, monospace;\"><strong>CC [M] nvidia-modeset.mod.o<\/strong><\/span><br \/>\n<span style=\"font-family: Courier New, Courier, monospace;\"><strong>LD [M] nvidia-modeset.ko<\/strong><\/span><br \/>\n<span style=\"font-family: Courier New, Courier, monospace;\"><strong>CC [M] nvidia-drm.mod.o<\/strong><\/span><br \/>\n<span style=\"font-family: Courier New, Courier, monospace;\"><strong>LD [M] nvidia-drm.ko<\/strong><\/span><br \/>\n<span style=\"font-family: Courier New, Courier, monospace;\"><strong>CC [M] nvidia-peermem.mod.o<\/strong><\/span><br \/>\n<span style=\"font-family: Courier New, Courier, monospace;\"><strong>LD [M] nvidia-peermem.ko<\/strong><\/span><br \/>\n<span style=\"font-family: Courier New, Courier, monospace;\"><strong>make[2]: Leaving directory '\/home\/rgadsdon\/NVIDIA-Linux-x86_64-580.119.02\/kernel-open'<\/strong><\/span><br \/>\n<span style=\"font-family: Courier New, Courier, monospace;\"><strong>make[1]: Leaving directory '\/usr\/src\/linux-6.19-rc1'  <\/strong><\/span><\/code><\/p>\n<p>So far, this seems to be working correctly (tested with KDE\/Plasma, 4K video, and VMware with Win10 Guest).\u00a0 \u00a0 \u00a0 \u00a0I will publish the &#8216;hack&#8217; details &#8211; and appropriate warnings &#8211; in a separate article..<\/p>\n<p><strong><em>Robert Gadsdon. December 18th 2025..<\/em><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The latest NVIDIA drivers failed with Kernel 6.19-rc1, as detailed in an earlier post, and after some more research I was able to work out a hack to fix this, and in the process discovered a bit of a surprise.. I managed to get the NVIDIA-proprietary code for 580.119.02 to compile successfully, but then: &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230; ERROR: modpost: <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/rglinuxtech.com\/?p=3388\"><span class=\"more-msg\">Continue reading &rarr;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[5,6,11,14,15,18,19],"tags":[1689,182,2788,2792,277,1175,2793],"class_list":["post-3388","post","type-post","status-publish","format-standard","hentry","category-compilation","category-crash-and-burn","category-hacks","category-kernel","category-linux-2","category-nvidia","category-opinion","tag-gpl-issues","tag-hack","tag-kernel-6-19","tag-kernel-open","tag-nvidia-2","tag-success","tag-support-surprise"],"_links":{"self":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/3388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3388"}],"version-history":[{"count":1,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/3388\/revisions"}],"predecessor-version":[{"id":3389,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/3388\/revisions\/3389"}],"wp:attachment":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}