{"id":2134,"date":"2017-11-28T13:15:10","date_gmt":"2017-11-28T21:15:10","guid":{"rendered":"http:\/\/rglinuxtech.com\/?p=2134"},"modified":"2017-11-28T13:15:10","modified_gmt":"2017-11-28T21:15:10","slug":"nvidia-fix-for-kernel-4-15-but-gpl-problem-yet-again","status":"publish","type":"post","link":"https:\/\/rglinuxtech.com\/?p=2134","title":{"rendered":"NVIDIA &#8211; Fix for Kernel 4.15, but GPL Problem &#8211; Yet Again.."},"content":{"rendered":"<p>Thanks to <em><strong>milhouse<\/strong><\/em>, there is a set of two patches available for NVIDIA <strong>384.98<\/strong> and (legacy) <strong>340.104<\/strong> with Kernel <strong>4.15-rc1<\/strong>, and details are here:\u00a0\u00a0 <a href=\"https:\/\/devtalk.nvidia.com\/default\/topic\/1026911\/linux\/4-15-rc1-patches-for-384-98-and-340-104\/\" target=\"_blank\" rel=\"noopener\">https:\/\/devtalk.nvidia.com\/default\/topic\/1026911\/linux\/4-15-rc1-patches-for-384-98-and-340-104\/<\/a><\/p>\n<p>The first patch fixes the compile problems, but the load fails with yet another case of GPL incompatibility:<\/p>\n<pre><strong>...................\r\n\u00a0Building modules, stage 2.\r\n MODPOST 4 modules\r\nFATAL: modpost: GPL-incompatible module nvidia-drm.ko uses GPL-only symbol 'ex_handler_refcount'\r\nmake[3]: *** [\/usr\/src\/linux-4.15-rc1\/scripts\/Makefile.modpost:92: __modpost] Error 1\r\nmake[2]: *** [\/usr\/src\/linux-4.15-rc1\/Makefile:1506: modules] Error 2\r\nmake[2]: Leaving directory '\/usr\/src\/linux-4.15-rc1'\r\nmake[1]: *** [Makefile:146: sub-make] Error 2\r\nmake[1]: Leaving directory '\/usr\/src\/linux-4.15-rc1'\r\nmake: *** [Makefile:81: modules] Error 2\r\n<\/strong><\/pre>\n<p>The second patch is technically &#8216;illegal&#8217;, as it changes the licence in<strong> <span style=\"font-family: courier new,courier; font-size: 14pt;\">~\/kernel\/nvidia-drm\/nvidia-drm-linux.c<\/span><\/strong> from <strong>MIT<\/strong> to <strong>GPL<\/strong>&#8230; but does allow the driver to load successfully..<\/p>\n<p>This GPL problem with NVIDIA seems to occur with monotonous regularity for each new kernel release, now..\u00a0\u00a0 If past experience is anything to go by, this will probably be fixed &#8211; eventually &#8211; by some kindly kernel dev opting to change the licensing requirement back to non-GPL-only..<\/p>\n<p>I have done some digging around, and the change in kernel code would appear to be this mega-patch:\u00a0 <a href=\"https:\/\/github.com\/torvalds\/linux\/commit\/b24413180f5600bcb3bb70fbed5cf186b60864bd\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/torvalds\/linux\/commit\/b24413180f5600bcb3bb70fbed5cf186b60864bd<\/a><\/p>\n<p>Another option, which may <span style=\"text-decoration: underline;\">not<\/span> be suitable for many systems &#8211; is to compile <span style=\"text-decoration: underline;\">without<\/span> drm..<\/p>\n<pre><span style=\"font-family: courier new,courier;\"><strong># export NV_EXCLUDE_KERNEL_MODULES=nvidia-drm<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier;\"><strong># make ......etc..<\/strong><\/span><\/pre>\n<p><em>Robert Gadsdon.\u00a0\u00a0 November 28, 2017.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Thanks to milhouse, there is a set of two patches available for NVIDIA 384.98 and (legacy) 340.104 with Kernel 4.15-rc1, and details are here:\u00a0\u00a0 https:\/\/devtalk.nvidia.com\/default\/topic\/1026911\/linux\/4-15-rc1-patches-for-384-98-and-340-104\/ The first patch fixes the compile problems, but the load fails with yet another case of GPL incompatibility: &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;. \u00a0Building modules, stage 2. MODPOST 4 modules FATAL: modpost: GPL-incompatible module nvidia-drm.ko uses <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/rglinuxtech.com\/?p=2134\"><span class=\"more-msg\">Continue reading &rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[11,14,15,18],"tags":[975,1759,1760,298],"class_list":["post-2134","post","type-post","status-publish","format-standard","hentry","category-hacks","category-kernel","category-linux-2","category-nvidia","tag-gpl-issue","tag-kernel-4-25","tag-nvidia-384-98","tag-patches"],"_links":{"self":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/2134","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\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2134"}],"version-history":[{"count":1,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/2134\/revisions"}],"predecessor-version":[{"id":2135,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/2134\/revisions\/2135"}],"wp:attachment":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2134"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2134"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}