Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

noveau display driver gets loaded instead of nvidia one

If none of the specific sub-forums seem right for your thread, ask here.
Post Reply
Message
Author
Epidemia
Posts: 7
Joined: 2021-03-09 18:24

noveau display driver gets loaded instead of nvidia one

#1 Post by Epidemia »

I have a nVidia Optimus machine (ThinkPad P70):

Code: Select all

lspci -nnk | grep -i vga -A3
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 530 [8086:191b] (rev 06)
        Subsystem: Lenovo HD Graphics 530 [17aa:222d]
        Kernel driver in use: i915
        Kernel modules: i915
--
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM204GLM [Quadro M3000M] [10de:13fa] (rev a1)
        Subsystem: Lenovo GM204GLM [Quadro M3000M] [17aa:222d]
        Kernel driver in use: nouveau
        Kernel modules: nouveau, nvidia_current_drm, nvidia_current
I have specifically upgraded to Debian testing in order to get PRIME Render Offload (https://wiki.debian.org/NVIDIA%20Optimus#PRIMEOffload) working.

I installed the nVidia driver according to this guide (https://wiki.debian.org/NvidiaGraphicsD ... llseye-460):

Code: Select all

dpkg -l nvidia-driver
[sudo] password for richard: 
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  nvidia-driver  460.56-1     amd64        NVIDIA metapackage
However as you can see above ('Kernel driver in use: nouveau'), it doesn't get loaded.

First item in the Troubleshooting -> Miscellaneous section (https://wiki.debian.org/NvidiaGraphicsD ... cellaneous) says:
The NVIDIA driver conflicts with the nouveau DRM driver (580894). The nouveau kernel module is blacklisted by the glx-alternative-nvidia or nvidia-kernel-common packages.
Restart your system after configuring Xorg for the NVIDIA driver.


I've tried Automatic configuring with nvidia-xconfig, but it breaks boot.
Manual configuring section says:
Please note that this configuration will break Xorg on Optimus systems.
So I can't use that /etc/X11/xorg.conf.d/20-nvidia.conf either.

I've stuck at the questions:
What should I do next? Get nvidia driver loading first or create some xorg.conf which would automatically cause the nvidia driver to load instead of noveau?

User avatar
stevepusser
Posts: 12930
Joined: 2009-10-06 05:53
Has thanked: 41 times
Been thanked: 71 times

Re: noveau display driver gets loaded instead of nvidia one

#2 Post by stevepusser »

If the nvidia driver build succeeds, the nouveau driver will be automatically blacklisted, plus you get a message saying that and that the easiest thing to do next is reboot. So maybe it didn't succeed. Plus, what driver version did nvidia-detect say you needed to install when you first ran it?

Try rebuilding the driver with

Code: Select all

# dpkg-reconfigure nvidia-kernel-dkms
and watch the output carefully this time, or direct it to a log file. If you need a different version of the driver dkms package, substitute that.
MX Linux packager and developer

Epidemia
Posts: 7
Joined: 2021-03-09 18:24

Re: noveau display driver gets loaded instead of nvidia one

#3 Post by Epidemia »

stevepusser, thank you for the reply! I've resolved the nvidia driver not loading issue a little bit earlier than you replied and now have a correct setup from the drivers standpoint:

Code: Select all

lspci -nnk | grep -i vga -A3
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 530 [8086:191b] (rev 06)
        Subsystem: Lenovo HD Graphics 530 [17aa:222d]
        Kernel driver in use: i915
        Kernel modules: i915
--
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM204GLM [Quadro M3000M] [10de:13fa] (rev a1)
        Subsystem: Lenovo GM204GLM [Quadro M3000M] [17aa:222d]
        Kernel driver in use: nvidia
        Kernel modules: nvidia
Earlier, I tried to resolve it by re-installing just nvidia-driver package and it didn't lead to blacklisting the noveau driver while it looked like installation\build succeeded.

After that, I've come across an idea to re-install all nvidia packages with:

Code: Select all

apt purge nvidia-*
and doing:

Code: Select all

apt install nvidia-driver firmware-misc-nonfree
which lead to correct driver installation and loading at the next boot. So everything seems to be ok with drivers.

Now, a new issue is that my HDMI output is not working: an external monitor connected to it displays 'Noi signal'. At the same time I can confirm that nvidia-settings app correctly detects the external monitor: https://imgur.com/a/QqThnSX.

If I understand it correctly, the issue is in Xorg configuration. nvidia-driver installation process haven't created neither /etc/X11/xorg.conf, nor anything in /etc/X11/xorg.conf.d/ folder. If it's the exact issue - I can't find any reliable info on how to configure Debian 11 Xorg with NVIDIA PRIME Render Offload. So, I have no idea of how those config files should look like to not break the boot\Xorg.

I would appreciate if someone could clarify that, please.

frazatto
Posts: 34
Joined: 2018-06-21 11:48
Has thanked: 3 times

Re: noveau display driver gets loaded instead of nvidia one

#4 Post by frazatto »

Ok, I have the same problem of not getting output over HDMI, but I think I can take this conversation a little further.
(yes yes I already spent yesterday searching for a solution and everything is too old using Bumblebee)

I'm following this guide and everything works perfect except a working second monitor :P
https://wiki.debian.org/NVIDIA%20Optimus

The second monitor didn't work during Live installation either, BUT!!!! (and this is very interesting) It did work during the loading splash screen and shutting down splash screen. This is a big clue, but I have no idea what happens there that could create this behavior.

On Debain 10 I was using the exclusive GPU option and second monitor works fine, but laptop battery drains too fast.
Now on Debian 11 offloading works nice with the commands (didn't try any games though), as you can see:

Code: Select all

glxinfo | grep OpenGL

OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) HD Graphics 630 (KBL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.3.5
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.3.5
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 20.3.5
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
And when I use the proper commands:

Code: Select all

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo | grep OpenGL

OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 1050 Ti/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 460.91.03
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6.0 NVIDIA 460.91.03
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 460.91.03
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
I'm suspecting this have something to do with the section regarding LightDM configuration, but if I check xrandr for sources it shows me:

Code: Select all

xrandr --listproviders

Providers: number : 2
Provider 0: id: 0x44 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 2 associated providers: 0 name:modesetting
Provider 1: id: 0x24a cap: 0x2, Sink Output crtcs: 4 outputs: 1 associated providers: 0 name:NVIDIA-G0
And if I try to set the sources I get an error:

Code: Select all

sudo xrandr --setprovideroutputsource modesetting NVIDIA-G0

X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  35 (RRSetProviderOutputSource)
  Value in failed request:  0x24a
  Serial number of failed request:  16
  Current serial number in output stream:  17

Post Reply