Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
nvidia-drivers, ältere Grafikkarten und kernel-4.x
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
michael_w
Guru
Guru


Joined: 22 Feb 2006
Posts: 423
Location: 09xxx

PostPosted: Fri Jun 19, 2015 4:42 pm    Post subject: nvidia-drivers, ältere Grafikkarten und kernel-4.x Reply with quote

Hallo,

das obige passt scheinbar nicht zusammen. Ich wollte gerade einen kernel-4.0.5 booten. nvidia-drivers (340.76) lässt sich aber nicht kompilieren.
In einem anderen Thread hier patcht man so vor sich hin mit mäßigem Erfolg: https://forums.gentoo.org/viewtopic-t-1014974.html

Ist das Problem bei den Devs bekannt und arbeitet man an einer Lösung oder brauche ich eine neue Grafikkarte?
_________________
Linux ryzen 4.19.52-gentoo #2 SMP Mon Jun 24 18:31:32 CEST 2019 x86_64 AMD Ryzen 7 1800X Eight-Core Processor AuthenticAMD GNU/Linux
Back to top
View user's profile Send private message
py-ro
Veteran
Veteran


Joined: 24 Sep 2002
Posts: 1733
Location: St. Wendel

PostPosted: Fri Jun 19, 2015 5:28 pm    Post subject: Reply with quote

Beschwer dich bei Nvidia, die Gentoo Devs können da herzlich wenig tun.

Alternativ nutze einen der FLOSS Treiber wie noveau.

Bye
Py
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 3627
Location: Germany

PostPosted: Fri Jun 19, 2015 6:21 pm    Post subject: Reply with quote

Ja, es wäre prima wenn nVidia ihre älteren legacy-Treiber langsam auch mal zu linux-4.0 kompatibel anbieten würden. (Vermutlich werden sie das in absehbarer Zeit auch machen).

michael_w wrote:
Linux gauss 3.17.7-gentoo #1 SMP Mon Dec 22 13:50:02 CET 2014 x86_64 Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz GenuineIntel GNU/Linu
Du könntest ein Upgrade auf linux-3.18 machen, dies ist eine longterm Version die auch weiterhin gepflegt wird, und auch weiterhin im portage-Tree verfügbar sein wird.
Oder muss es wirklich zwingend linux-4.0 sein?
Back to top
View user's profile Send private message
michael_w
Guru
Guru


Joined: 22 Feb 2006
Posts: 423
Location: 09xxx

PostPosted: Sat Jun 20, 2015 6:35 am    Post subject: Reply with quote

Hallo Josef,

Josef.95 wrote:
Du könntest ein Upgrade auf linux-3.18 machen, dies ist eine longterm Version die auch weiterhin gepflegt wird, und auch weiterhin im portage-Tree verfügbar sein wird.

Keine schlechte Idee.
Quote:

Oder muss es wirklich zwingend linux-4.0 sein?


Nein, ich glaube nicht. Wie bekomme ich das mit, wenn nvidia seine Treiber ändert? Ich habe die Treiber (>=341.0) in meiner portage.mask stehen.
_________________
Linux ryzen 4.19.52-gentoo #2 SMP Mon Jun 24 18:31:32 CEST 2019 x86_64 AMD Ryzen 7 1800X Eight-Core Processor AuthenticAMD GNU/Linux
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3254
Location: de

PostPosted: Sat Jun 20, 2015 12:41 pm    Post subject: Re: nvidia-drivers, ältere Grafikkarten und kernel-4.x Reply with quote

michael_w wrote:
Hallo,

das obige passt scheinbar nicht zusammen. Ich wollte gerade einen kernel-4.0.5 booten. nvidia-drivers (340.76) lässt sich aber nicht kompilieren.
In einem anderen Thread hier patcht man so vor sich hin mit mäßigem Erfolg: https://forums.gentoo.org/viewtopic-t-1014974.html

Der Patch im 2. Beitrag des verlinkten Threads funktioniert bei mir. Ich hab 'ne QuadroFX 3800 mit nvidia-drivers-340.76.

Ich hab mal kurz den Rest des Threads überflogen. Die anderen Patches beziehen sich wohl auf noch ältere Karten, die nur bis nvidia-drivers 304.xx unterstützt werden.

Da schon seit längerer Zeit keine neuere Version der 340.xx-Treiber rausgekommen ist, hab ich mir das modifizierte Ebuild ins lokale Overlay gelegt.

Hier noch mal der Patch:
nvidia-drivers-340.76-nv-pat.patch:
--- kernel/nv-pat.c.orig   2015-06-19 17:26:44.399554640 +0200
+++ kernel/nv-pat.c   2015-06-19 17:28:14.504456825 +0200
@@ -35,8 +35,13 @@
     unsigned long cr0 = read_cr0();
     write_cr0(((cr0 & (0xdfffffff)) | 0x40000000));
     wbinvd();
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 20, 0)
     *cr4 = read_cr4();
     if (*cr4 & 0x80) write_cr4(*cr4 & ~0x80);
+#else
+    *cr4 = __read_cr4();
+    if (*cr4 & 0x80) __write_cr4(*cr4 & ~0x80);
+#endif
     __flush_tlb();
 }
 
@@ -46,7 +51,11 @@
     wbinvd();
     __flush_tlb();
     write_cr0((cr0 & 0x9fffffff));
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 20, 0)
     if (cr4 & 0x80) write_cr4(cr4);
+#else
+    if (cr4 & 0x80) __write_cr4(cr4);
+#endif
 }
 
 static int nv_determine_pat_mode(void)


Und der Auszug aus dem Ebuild:
nvidia-drivers-340.76.ebuild:

src_prepare() {
        # Please add a brief description for every added patch

        if use kernel_linux; then
                if kernel_is lt 2 6 9 ; then
                        eerror "You must build this against 2.6.9 or higher kern
els."
                fi

                # If greater than 2.6.5 use M= instead of SUBDIR=
#               convert_to_m "${NV_SRC}"/Makefile.kbuild
        fi

        epatch "${FILESDIR}"/${PN}-340.76-nv-pat.patch

        if use pax_kernel; then
                ewarn "Using PAX patches is not supported. You will be asked to"
                ewarn "use a standard kernel should you have issues. Should you"
                ewarn "need support with these patches, contact the PaX team."
                epatch "${FILESDIR}"/${PN}-331.13-pax-usercopy.patch
                epatch "${FILESDIR}"/${PN}-337.12-pax-constify.patch
        fi

        # Allow user patches so they can support RC kernels and whatever else
        epatch_user
}
Back to top
View user's profile Send private message
ChrisJumper
Advocate
Advocate


Joined: 12 Mar 2005
Posts: 2225
Location: Germany

PostPosted: Mon Jun 22, 2015 11:55 am    Post subject: Reply with quote

Hmm, ich habe einen anderen Patch? Dachte bis eben das sollte der selbe sein.

Ich habe eine nvidia 9400GT und der Treiber nvidia-drivers-340.76 mit dem Patch kompiliert und funktioniert auch bei dem 4.0.5 Kernel.

Habe folgenden Patch auch in /etc/portage/patches/x11-drivers/nvidia-drivers-340.76/linux-3.19-nvidia.patch abgelegt und jetzt wird er auch automatisch verwendet wenn ich die nvidia-drivers neu kompiliere.

Code:
--- a/kernel/nv-linux.h 2015-01-11 05:30:46.000000000 +0100
+++ b/kernel/nv-linux.h 2015-01-25 20:30:32.000000000 +0100
@@ -2000,7 +2000,11 @@
 #if defined(NV_FILE_HAS_INODE)
 #define NV_FILE_INODE(file) (file)->f_inode
 #else
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19 , 0)
 #define NV_FILE_INODE(file) (file)->f_dentry->d_inode
+#else
+#define NV_FILE_INODE(file) (file)->f_path.dentry->d_inode
+#endif
 #endif

 /* Stub out UVM in multi-RM builds */


Funktioniert bei mir ohne Probleme auch mit dem neuen Kernel.

Edit: Musv meinst du ich sollte deinen Patch auch unbedingt hinzufügen? Ich werde nachher mal den Links folgen. Im Grunde funktioniert es ja. Aber nicht das ich später auf irgendein Problem stoße. Na ich behalte es erst mal im Hinterkopf und schau mir später den Thread bei Nvidia genauer an.
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3254
Location: de

PostPosted: Mon Jun 22, 2015 7:19 pm    Post subject: Reply with quote

Dein Patch kommt mir bekannt vor. Den hatte ich beim Wechsel von 3.18 auf 3.19, wenn ich mich recht erinnere. Steht ja auch so in Deinem Patch drin.

Wenn Dein Patch noch funktioniert, dann lass es erst mal. Never change a running system. Eine bessere Perfomance oder mehr Stabilität bringt der andere Patch auch nicht.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum