Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
OpenGL fails to detect NVIDIA GTX 980 with Nouveau driver
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
virtual-image
n00b
n00b


Joined: 21 Feb 2025
Posts: 12

PostPosted: Fri Feb 21, 2025 7:58 pm    Post subject: OpenGL fails to detect NVIDIA GTX 980 with Nouveau driver Reply with quote

I noticed an issue when attempting to run the game 'Chaos;Head' through wine. Wine attempted to use wined3d to identify my graphics card, but reported it could not find one based on the OpenGL renderer string present. Chasing the issue, I found the way to identify this information is through glxinfo -B.

Excerpt of the output of glxinfo -B:
Code:

direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Mesa (0xffffffff)
    Device: llvmpipe (LLVM 19.1.7, 256 bits) (0xffffffff)


As you can see, it defaults to the software renderer instead of using hardware. I would like to stay on nouveau. The nouveau driver seems to be loaded properly.

Excerpt from lscpi -k:
Code:

01:00.0 VGA compatible controller: NVIDIA Corporation GM204 [GeForce GTX 980] (rev a1)
        Subsystem: PNY Device 1116
        Kernel driver in use: nouveau


I expected it to be an issue with my xorg configuration, so I created an xorg.conf by using Xorg -configure. That command identified two drivers, nouveau and modesetting, and made a device configuration with nouveau.
Unfortunately, this did not solve the issue.

I do not have the NVIDIA proprietary drivers installed. My VIDEO_CARDS is set to "nouveau". I am in the 'video' group. My kernel is 6.6.47. I emerged mesa, and today apparently virtual/opengl as well, and linux-firwmare, and nvidia-firmware.

My startx command is so:
Code:
startx -- vt$(tty | sed -e 's|/dev/tty||')


and my xinitrc is so:
Code:

ibus-daemon -drx
cwm
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9906
Location: almost Mile High in the USA

PostPosted: Sat Feb 22, 2025 1:36 am    Post subject: Reply with quote

Not clear from your post: did you have it working with this card before or not?

I think for nvidia-drivers you don't need the in-kernel module, but for nouveau, you need the kernel driver -- do you have this enabled in your kernel?

Do you have your Xorg.0.log posted somewhere?

I was trying to use my failing GTX660 under bother nvidia-drivers and nouveau. There was a day and night difference in speed between the two under wine though using xscreensaver/rss-glx screensavers it wasn't as bad as software rendering. Now that nvidia dropped support for the GTX660 I don't have a choice, but since the card artifacts and crashes the machine, I guess it doesn't really matter ...
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
virtual-image
n00b
n00b


Joined: 21 Feb 2025
Posts: 12

PostPosted: Sat Feb 22, 2025 2:00 am    Post subject: Reply with quote

I don't think the card has "worked" on this machine before. It worked on Windows, so it functions, and it gets detected by this machine, and the kernel properly loads nouveau drivers for it; BUT OpenGL fails to detect it, or select it, as the rendering device.

I do have the "Nouveau/NVIDIA" kernel options enabled and built-in. I don't think the issue lies with the kernel, because the nouveau drivers DO load.

Here is my Xorg.1.log (my X11 session stated it pasted its output there):
https://paste.gentoo.zip/9N9K1it8

Unfortunately the X log does not complain about anything particularly wrong.
The worst it spouts is:
Code:
[ 25286.617] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support


It also seems to constantly output "NOUVEAU(0): Modeline "800x..." every so often. The Nouveau wiki page states that this is due to existing proprietary Nvidia drivers, which I attempted to install at one point, but it also suggests that unmerging nvidia-drivers is sufficient to remove this driver, which I've also already done.

Right now I noticed I have the "Nvidia Framebuffer Support" enabled in my kernel. It is not listed as a requirement in the nouveau article, so I have disabled it and am rebuilding and I will see if that changes anything.
Back to top
View user's profile Send private message
virtual-image
n00b
n00b


Joined: 21 Feb 2025
Posts: 12

PostPosted: Sat Feb 22, 2025 2:03 am    Post subject: Reply with quote

virtual-image wrote:
Right now I noticed I have the "Nvidia Framebuffer Support" enabled in my kernel. It is not listed as a requirement in the nouveau article, so I have disabled it and am rebuilding and I will see if that changes anything.


To my misfortune, this has changed nothing.
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9906
Location: almost Mile High in the USA

PostPosted: Sat Feb 22, 2025 3:12 am    Post subject: Reply with quote

It wasn't clear whether you had it working, changed something, and stopped working...

Is the Xorg.0.log up to date, was the last session actually on :1 ?

Did you have mesa compiled prior to changing VIDEO_CARDS and thus need to rebuild it?
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
virtual-image
n00b
n00b


Joined: 21 Feb 2025
Posts: 12

PostPosted: Sat Feb 22, 2025 3:28 am    Post subject: Reply with quote

I don't think it ever worked.

Xorg.1.log is the most recent log.

I read your post and recompiled mesa: unfortunately, nothing has changed.
Back to top
View user's profile Send private message
virtual-image
n00b
n00b


Joined: 21 Feb 2025
Posts: 12

PostPosted: Sat Feb 22, 2025 4:17 am    Post subject: Reply with quote

Here is also my auto-generated (Xorg -config) xorg.conf file:
https://paste.gentoo.zip/QrYr4W9U

Edit: It also occurred to me, that maybe, OpenGL just needs to be told the right settings. I'm not sure how to do that.

Edit again: I am also not on a laptop.
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9906
Location: almost Mile High in the USA

PostPosted: Sat Feb 22, 2025 9:15 am    Post subject: Reply with quote

remove your xorg.conf and regenerate Xorg.0.log and report what it says.
It looks like it should be accelerated 3D but something is very wrong here. did you ever install nvidia-drivers (and then unmerged it?)
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
virtual-image
n00b
n00b


Joined: 21 Feb 2025
Posts: 12

PostPosted: Sat Feb 22, 2025 4:42 pm    Post subject: Reply with quote

Ok, I removed the xorg.conf. I'm not sure if this is a concern, but Xorg always dumps its log into Xorg.1.log.
https://paste.gentoo.zip/Su7tK5ku

Also, yes, I did install nvidia-drivers at a point, and then I did unmerge it.

I believe there shouldn't be anything conflicting in the kernel. Here is my kernel anyways.
https://paste.gentoo.zip/E6ZhODjn
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9906
Location: almost Mile High in the USA

PostPosted: Sat Feb 22, 2025 5:22 pm    Post subject: Reply with quote

Okay. The fact that you merged nvidia-drivers at one point is probably why you're seeing problems. I recall an eselect module that has something to do with glx or opengl but can't recall what it was to do a switcharoo with the libraries, perhaps someone else can recall the command, and this should fix things.

Another thing to try is re-emerging xorg-server though I'm not sure what order you merged things and ideally portage should have rebuilt things in order... but the library problem is suspect.
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6230
Location: Dallas area

PostPosted: Sat Feb 22, 2025 6:13 pm    Post subject: Reply with quote

You can have nvidia driver and nouveau installed at the same (as long as both are modules), you just can't use them at the same time

From an earlier post it appears you have nouveau built in, change it to module.
_________________
UM780, 6.12 zen kernel, gcc 13, openrc, wayland
Back to top
View user's profile Send private message
virtual-image
n00b
n00b


Joined: 21 Feb 2025
Posts: 12

PostPosted: Sat Feb 22, 2025 7:20 pm    Post subject: Reply with quote

Anon-E-moose wrote:
From an earlier post it appears you have nouveau built in, change it to module.

Today, I tried rebuilding it as a module, to see if it would make a difference,
because I realized it was unusual. Unfortunately, it did not change anything. The kernel config I posted today also shows that I built it as a module (CONFIG_DRM_NOUVEAU).

eccerr0r wrote:
I recall an eselect module that has something to do with glx or opengl

This was "eselect opengl ..." and is now deprecated in favor of "libglvnd," which automatically manages that at a performance cost. Admittedly, I don't understand how it decides which to use, but it's the replacement, from what I gathered across the Gentoo forums.

eccerr0r wrote:
Another thing to try is re-emerging xorg-server

I updated xorg-server and unfortunately, glxinfo still states I'm using llvmpipe.

While reading about 'eselect opengl' I also read about checking the loaded modules. Indeed, nouveau is loaded, and there is no nvidia module.
Excerpt from lsmod:
Code:

Module                  Size  Used by
iwlmvm                569344  0
nouveau              2834432  1
...


Additionally, I read about checking the providers through xrandr, which I installed earlier, and the only available provider is nouveau.
xrandr --listproviders:
Code:

Providers: number : 1
Provider 0: id: 0x67 cap: 0x7, Source Output, Sink Output, Source Offload crtcs: 4 outputs: 5 associated providers: 0 name:nouveau
Back to top
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6230
Location: Dallas area

PostPosted: Sat Feb 22, 2025 10:50 pm    Post subject: Reply with quote

according to your xorg log file, nouveau loaded just fine.

Are you telling X to do anything when it starts? Do you have an .xinitrc file?
Because it went from loaded to unloading, as if you weren't telling X to do anything.
_________________
UM780, 6.12 zen kernel, gcc 13, openrc, wayland
Back to top
View user's profile Send private message
virtual-image
n00b
n00b


Joined: 21 Feb 2025
Posts: 12

PostPosted: Sun Feb 23, 2025 1:27 am    Post subject: Reply with quote

Anon-E-moose wrote:
Are you telling X to do anything when it starts? Do you have an .xinitrc file?
Because it went from loaded to unloading, as if you weren't telling X to do anything.


Here is my .xinitrc, which is also in the first post:
Code:
ibus-daemon -drx
cwm


The most recent X log was obtained after closing an Xorg session, because it outputs to the virtual terminal where it stores the log, but that's only visible after closing X.
So, just in case, I checked a running session, and it does not output the "NVLeaveVT" event while it runs. Therefore, the Nouveau driver does not unload during the Xorg session.
Back to top
View user's profile Send private message
virtual-image
n00b
n00b


Joined: 21 Feb 2025
Posts: 12

PostPosted: Sun Feb 23, 2025 2:24 am    Post subject: Reply with quote

Ok, so when running glxinfo and glxinfo -B, there is no mention of nouveau.
However, when running eglinfo | grep -i nouveau, I get results.
Excerpt from eglinfo:
Code:

Device platform:
Device #0:

EGL device extensions string:
    EGL_EXT_device_drm, EGL_EXT_device_drm_render_node
Platform Device platform:
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES
EGL driver name: nouveau
EGL extensions string:
    EGL_ANDROID_blob_cache, EGL_EXT_config_select_group,
    EGL_EXT_create_context_robustness, EGL_EXT_image_dma_buf_import,
    EGL_EXT_image_dma_buf_import_modifiers, EGL_EXT_pixel_format_float,
    EGL_EXT_query_reset_notification_strategy, EGL_EXT_surface_compression,
    EGL_KHR_cl_event2, EGL_KHR_config_attribs, EGL_KHR_context_flush_control,
    EGL_KHR_create_context, EGL_KHR_create_context_no_error,
    EGL_KHR_fence_sync, EGL_KHR_get_all_proc_addresses, EGL_KHR_gl_colorspace,
    EGL_KHR_gl_renderbuffer_image, EGL_KHR_gl_texture_2D_image,
    EGL_KHR_gl_texture_3D_image, EGL_KHR_gl_texture_cubemap_image,
    EGL_KHR_image_base, EGL_KHR_no_config_context, EGL_KHR_reusable_sync,
    EGL_KHR_surfaceless_context, EGL_KHR_wait_sync,
    EGL_MESA_configless_context, EGL_MESA_drm_image, EGL_MESA_gl_interop,
    EGL_MESA_image_dma_buf_export, EGL_MESA_query_driver,
    EGL_MESA_x11_native_visual_id
OpenGL core profile vendor: Mesa
OpenGL core profile renderer: NV124
OpenGL core profile version: 4.3 (Core Profile) Mesa 24.3.3
OpenGL core profile shading language version: 4.30
OpenGL core profile extensions:
...


Full output here: https://paste.gentoo.zip/7FyjcyPC

If I run eglinfo -B, there is no nouveau mentions.
Back to top
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6230
Location: Dallas area

PostPosted: Sun Feb 23, 2025 2:26 am    Post subject: Reply with quote

Not all games will work with nvidia cards, especially with the nouveau driver and certain window games.
Your card is seen by X, the kernel, etc, just not that particular game.

You can emerge the nvidia drivers along with nouveau and swap between using nouveau and the the binary drivers.
Not much more can be done for you, IMO.
_________________
UM780, 6.12 zen kernel, gcc 13, openrc, wayland
Back to top
View user's profile Send private message
virtual-image
n00b
n00b


Joined: 21 Feb 2025
Posts: 12

PostPosted: Sun Feb 23, 2025 2:43 am    Post subject: Reply with quote

Anon-E-moose wrote:
Not all games will work with nvidia cards, especially with the nouveau driver and certain window games.
Your card is seen by X, the kernel, etc, just not that particular game.

You can emerge the nvidia drivers along with nouveau and swap between using nouveau and the the binary drivers.
Not much more can be done for you, IMO.


Listen: it is okay to not be knowledgeable, but to purport lies like this is not acceptable. You did not read the thread properly in the first place, so I do not put faith in you when you say, "Give up."

The driver is seen by Xorg and the kernel; but it is not seen by the applications running on top of Xorg.

glxinfo fails to find the nouveau driver. What this means is the OpenGL running in the back does not see nouveau or fails to load it and bails to llvmpipe.
What this results in is 300% CPU usage while running glxgears. 3000% CPU usage while booting Factorio. These factors are not normal.

Listen: my CPU is the Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz (from lscpu).
If you show me your glxgear results, with working hardware acceleration or whatever, and post your CPU, and they clock in 200-300% CPU usage, I will concede and use the proprietary NVIDIA drivers. But going above 100% CPU usage just seems abnormal.

P.S. I would have just checked the GPU usage, but apparently nouveau drivers have no monitoring programs. Go figure.
Back to top
View user's profile Send private message
virtual-image
n00b
n00b


Joined: 21 Feb 2025
Posts: 12

PostPosted: Sun Feb 23, 2025 4:59 am    Post subject: Reply with quote

It seems from the information gathered through eglinfo and glxinfo, that the X server is drawing via the nouveau driver, but the libglvnd is not recognizing the nouveau driver to select it for rendering.
So if there's a way to direct libglvnd, I think that would be the solution going forward. I am going to look into it, but I thought that this might help guide anyone searching simultaneously.
Back to top
View user's profile Send private message
virtual-image
n00b
n00b


Joined: 21 Feb 2025
Posts: 12

PostPosted: Sun Feb 23, 2025 6:07 am    Post subject: Reply with quote

virtual-image wrote:
It seems from the information gathered through eglinfo and glxinfo, that the X server is drawing via the nouveau driver, but the libglvnd is not recognizing the nouveau driver to select it for rendering.
So if there's a way to direct libglvnd, I think that would be the solution going forward. I am going to look into it, but I thought that this might help guide anyone searching simultaneously.


This is apparently not the case. I installed this overlay https://github.com/achurch/noglvnd/tree/master which modifies mesa and libglvnd ebuilds to remove libglvnd and enforce a one-gl-implementation system, and it did not solve the issue. Still stuck on llvmpipe.
Back to top
View user's profile Send private message
Zucca
Moderator
Moderator


Joined: 14 Jun 2007
Posts: 3956
Location: Rasi, Finland

PostPosted: Sun Feb 23, 2025 8:15 am    Post subject: Reply with quote

Please post the output of
Code:
emerge --info x11-drivers/xf86-video-nouveau sys-firmware/nvidia-firmware media-libs/mesa

_________________
..: Zucca :..

My gentoo installs:
init=/sbin/openrc-init
-systemd -logind -elogind seatd

Quote:
I am NaN! I am a man!
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9906
Location: almost Mile High in the USA

PostPosted: Sun Feb 23, 2025 8:44 am    Post subject: Reply with quote

If it matters I tried running Wine+World of Warcraft with nvidia-drivers vs nouveau (before it crashes due to bad GPU and before nvidia stopped supporting my gpu)... it wasn't even close, nvidia-drivers was about 2-3x faster in fps.

I'm all ATI pretty much now because of this.
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments 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