Nvidia Legacy 340.104 und Kernel 4.14

Rain_Maker

Administrator
Teammitglied
Was ist eine selbsterfüllende Prophezeiung?

Das da z.B.:

Rain_Maker schrieb:
.... auf ein Neues im nächsten Thread zu diesem Thema, wenn der 340.104 nicht mehr gegen eine neuere Kernelversion baut.
Langer Rede, gar kein Sinn, hier der Patch um den Treiber 340.104 gegen 4.14 zu bauen.

Code:
--- nv-drm.c.orig    2017-09-15 01:16:51.000000000 +0200
+++ nv-drm.c    2017-11-13 19:30:00.257905773 +0100
@@ -173,7 +173,11 @@
 {
     int ret = 0;
 #if defined(NV_DRM_AVAILABLE)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
     ret = drm_pci_init(&nv_drm_driver, pci_driver);
+#else
+    ret = drm_legacy_pci_init(&nv_drm_driver, pci_driver);
+#endif
 #endif
     return ret;
 }
@@ -183,7 +187,11 @@
 )
 {
 #if defined(NV_DRM_AVAILABLE)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
     drm_pci_exit(&nv_drm_driver, pci_driver);
+#else
+    drm_legacy_pci_exit(&nv_drm_driver, pci_driver);
+#endif
 #endif
 }
Das Ganze als base64 "uuencoded":

Code:
begin-base64 644 nvidia340-4.14.diff
LS0tIG52LWRybS5jLm9yaWcJMjAxNy0wOS0xNSAwMToxNjo1MS4wMDAwMDAw
MDAgKzAyMDAKKysrIG52LWRybS5jCTIwMTctMTEtMTMgMTk6MzA6MDAuMjU3
OTA1NzczICswMTAwCkBAIC0xNzMsNyArMTczLDExIEBACiB7CiAgICAgaW50
IHJldCA9IDA7CiAjaWYgZGVmaW5lZChOVl9EUk1fQVZBSUxBQkxFKQorI2lm
IExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDQsIDE0LCAw
KQogICAgIHJldCA9IGRybV9wY2lfaW5pdCgmbnZfZHJtX2RyaXZlciwgcGNp
X2RyaXZlcik7CisjZWxzZQorICAgIHJldCA9IGRybV9sZWdhY3lfcGNpX2lu
aXQoJm52X2RybV9kcml2ZXIsIHBjaV9kcml2ZXIpOworI2VuZGlmCiAjZW5k
aWYKICAgICByZXR1cm4gcmV0OwogfQpAQCAtMTgzLDcgKzE4NywxMSBAQAog
KQogewogI2lmIGRlZmluZWQoTlZfRFJNX0FWQUlMQUJMRSkKKyNpZiBMSU5V
WF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTig0LCAxNCwgMCkKICAg
ICBkcm1fcGNpX2V4aXQoJm52X2RybV9kcml2ZXIsIHBjaV9kcml2ZXIpOwor
I2Vsc2UKKyAgICBkcm1fbGVnYWN5X3BjaV9leGl0KCZudl9kcm1fZHJpdmVy
LCBwY2lfZHJpdmVyKTsKKyNlbmRpZgogI2VuZGlmCiB9CiAK
====
Umwandeln ginge z.B. so:

Code:
echo "begin-base64 644 nvidia340-4.14.diff
LS0tIG52LWRybS5jLm9yaWcJMjAxNy0wOS0xNSAwMToxNjo1MS4wMDAwMDAw
MDAgKzAyMDAKKysrIG52LWRybS5jCTIwMTctMTEtMTMgMTk6MzA6MDAuMjU3
OTA1NzczICswMTAwCkBAIC0xNzMsNyArMTczLDExIEBACiB7CiAgICAgaW50
IHJldCA9IDA7CiAjaWYgZGVmaW5lZChOVl9EUk1fQVZBSUxBQkxFKQorI2lm
IExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDQsIDE0LCAw
KQogICAgIHJldCA9IGRybV9wY2lfaW5pdCgmbnZfZHJtX2RyaXZlciwgcGNp
X2RyaXZlcik7CisjZWxzZQorICAgIHJldCA9IGRybV9sZWdhY3lfcGNpX2lu
aXQoJm52X2RybV9kcml2ZXIsIHBjaV9kcml2ZXIpOworI2VuZGlmCiAjZW5k
aWYKICAgICByZXR1cm4gcmV0OwogfQpAQCAtMTgzLDcgKzE4NywxMSBAQAog
KQogewogI2lmIGRlZmluZWQoTlZfRFJNX0FWQUlMQUJMRSkKKyNpZiBMSU5V
WF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTig0LCAxNCwgMCkKICAg
ICBkcm1fcGNpX2V4aXQoJm52X2RybV9kcml2ZXIsIHBjaV9kcml2ZXIpOwor
I2Vsc2UKKyAgICBkcm1fbGVnYWN5X3BjaV9leGl0KCZudl9kcm1fZHJpdmVy
LCBwY2lfZHJpdmVyKTsKKyNlbmRpZgogI2VuZGlmCiB9CiAK
====
" | uudecode
Der Patch findet sich dann im aktuellen Verzeichnis als "nvidia340-4.14.diff".

Greetz,

RM
 
Oben