You are not logged in.

#1 2018-05-15 18:15:19

sin(x)
Member
Registered: 2018-05-15
Posts: 3

Nouveau driver with nvida card : can't manage to activate DRI 3

Hello everyone,

I used the official nvidia drivers in the past and now i'm using nouveau (from mesa package) for my nvidia GTX 660 card.
But I never managed to use DRI 3, or it seems so, while I think my 20-nouveau.conf file in /etc/X11/xorg.conf.d is correct :

Section "Device"
	Identifier  "nvidia card"
	Driver      "nouveau"
	Option      "AccelMethod"  "sna"
	Option      "TearFree"     "true"
	Option      "DRI" "3"
EndSection
 

-The output of "grep DRI  .local/share/xorg/Xorg.0.log" is :

[ 10152.074] (**) NOUVEAU(0): Option "DRI" "3"
[ 10152.074] (**) NOUVEAU(0): Allowed maximum DRI level 3.
[ 10152.331] (II) NOUVEAU(0): [DRI2] Setup complete
[ 10152.331] (II) NOUVEAU(0): [DRI2]   DRI driver: nouveau
[ 10152.331] (II) NOUVEAU(0): [DRI2]   VDPAU driver: nouveau
[ 10152.380] (II) GLX: Initialized DRI2 GL provider for screen 0

-And the output of cat /var/log/Xorg.0.log | grep DRI3 is an empty line (so nothing)


Just to be sure, a program using openGL 3.1 I wrote and compiled worked perfectly with nvdia official drivers and just displays a black windows (even if I recompile it) with nouveau.
So I don't understand what is wrong, and waiting for some help.

Thanks in advance.

Offline

#2 2018-05-15 19:00:10

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,665

Re: Nouveau driver with nvida card : can't manage to activate DRI 3

Use a valid accelmethod (neither sna nor tearfree make sense on nouveau) your accelmethod choices are glamor or exa . Neither of these, nor DRI 3 should've any relevance on OpenGL compliance however. But i suspect it falls back to accelmethod "none" with an invalid string, so definitely either use something actually supported or just don't set them to go with the safe defaults.

Offline

#3 2018-05-15 20:17:14

sin(x)
Member
Registered: 2018-05-15
Posts: 3

Re: Nouveau driver with nvida card : can't manage to activate DRI 3

Oh yes sorry I added those two lines some hours before (I had no any other idea so...) but the problem was the same without it, so with the default exa.
I also tried to manually set "exa" or "glamor" for the AccelMethod, but in both cases I just get exactly the same results...
Is the driver given by the "mesa" package in pacman suporting DRI 3 , or I should have compiled something by myself ? And you say the no-display in openGL 3 is not related... ? So there is probably a bigger problem that causes thoses two ones. But I have no idea about where to search hmm

Offline

#4 2018-05-15 20:58:55

seth
Member
Registered: 2012-09-03
Posts: 51,046

Re: Nouveau driver with nvida card : can't manage to activate DRI 3

Check glxgears for a general functionality test and glxinfo for the supported OpenGL versions and extensions.
The problem is likely to be found in your program, making unconditional use of a (now) missing extension/profile.

Offline

#5 2018-05-16 18:01:50

sin(x)
Member
Registered: 2018-05-15
Posts: 3

Re: Nouveau driver with nvida card : can't manage to activate DRI 3

Mhh... glxgears is displaying fine, and here is what glxinfo says about OpenGL :

$ glxinfo -l | grep OpenGL
OpenGL vendor string: nouveau
OpenGL renderer string: NVE6
OpenGL core profile version string: 4.3 (Core Profile) Mesa 18.0.3
OpenGL core profile shading language version string: 4.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL core profile limits:
OpenGL version string: 4.3 Mesa 18.0.3
OpenGL shading language version string: 4.30
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL limits:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 18.0.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:

And if I change just one thing in my code (the "minor version" of OpenGL when initializing : from 1 (3.1) to 0 (3.0) ) it runs perfectly... Could the OpenGL version and DRI version issues be linked ?
Also I have crashes and some glitches, or just poor performance, in several games (but not all) with nouveau drivers, I mean my code was just another way to check for problems, and so the problem can't be caused by it.

Just to be clear, I put here my current nouveau configuration :

$ cat /etc/X11/xorg.conf.d/20-nouveau.conf 
Section "Device"
	Identifier  "nvidia card"
	Driver      "nouveau"
	Option "DRI" "3"
EndSection

I'm a little lost.

Offline

#6 2018-05-16 18:35:21

seth
Member
Registered: 2012-09-03
Posts: 51,046

Re: Nouveau driver with nvida card : can't manage to activate DRI 3

Also I have crashes and some glitches, or just poor performance

Yes, nouveau is not nearly up to the nvidia blob. Neither performance, nor feature, nor qualitywise. The blob has its quirks but is probably still the best GL implementation on linux.

Could the OpenGL version and DRI version issues be linked ?

No.

Maybe check GL errors in your code? Because

when initializing : from 1 (3.1) to 0 (3.0) )

is unfortunately a bit vague about what you actually do and we don't know whether the context creation fails or some context access or what kind of context that actually is in particular and ... and .. and .... ...

Offline

#7 2018-05-16 22:53:16

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,911

Re: Nouveau driver with nvida card : can't manage to activate DRI 3

about DRI3
remove the option "DRI" "3" , mesa / X on archlinux are setup to use DRI3 by default if the hardware/software support it.
On a fresh start of X , look for  a line in x log that says "DRI3 enabled" .

-----------------------------------------------------------------
About the OpenGL 3.1 / 3.0 / black screen issue :

please post glxinfo | grep profile , and verify what Max compat profile version is .

I think you're bitten by the difference in core profile and compat profiles between mesa and proprietary drivers.

http://retokoradi.com/2014/03/30/opengl … e-profile/ may help to understand the issue.

Last edited by Lone_Wolf (2018-05-16 22:53:48)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

Board footer

Powered by FluxBB