Nvidia GeForce GTX 1650 - no external monitor - not detected in xrandr (Opensuse Leap 15.3)

Lenovo Thinkpad T15p with GTX 1650 and latest Nvidia drivers installed (xG05 , version 470.129.06). External monitor is not recognized in: xrandr --listproviders

Provider 0: id: 0x1f3; cap: 0x1 (Source Output); crtcs: 0; outputs: 0; associated providers: 1; name: NVIDIA-0
Provider 1: id: 0x49; cap: 0xf (Source Output, Sink Output, Source Offload, Sink Offload); crtcs: 4; outputs: 6; associated providers: 1; name: modesetting

Also “lspci | grep VGA” gives:
00:02.0 VGA compatible controller: Intel Corporation TigerLake-H GT1 [UHD Graphics] (rev 01)

Nvidia bug report attached:
nvidia-bug-report.log.gz (1.8 MB)

Also no indication in nvidia-settings. Any help/hint would be greatly appreciated.

In fact no entry for HDMI appears in xrandr.

Please check for a bios update first.
Please post the output of

sudo cat /sys/module/nvidia_drm/parameters/modeset

thanks for the response. Not sure what u mean by bios update or at least i don’t see such an option in my bios menu. The output of “sudo cat /sys/module/nvidia_drm/parameters/modeset” is simply: Y

Please remove

Option “UseDisplayDevice” “none”

from your xorg.conf, it disables all outputs of the nvidia gpu.

Done (as also the bios update - i figured it out in the meantime). No changes in behavior however. I attach the new Nvidia bug report.
nvidia-bug-report.log.gz (1.8 MB)

Your config is slightly messy, having two xorg configs. Please delete both
/etc/X11/xorg.conf
/etc/X11/xorg.conf.d/90-nvidia.conf
and instead create /etc/X11/xorg.conf.d/10-nvidia-primary.conf

Section "OutputClass"
    Identifier "Nvidia Prime"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    Option "PrimaryGPU" "Yes"
EndSection

Thanks. Apart from shrinking the fonts in the main login screen it had no discernible effect (updated
nvidia-bug-report.log.gz (1.8 MB)

You had 96 dpi set, now it’s using default 75dpi.

Option “DPI” “96 x 96”

You can add that to nvidia-primary file inside the output class to get the previous font size.
Please run

grep nvidia /etc/modprobe.d/* /lib/modprobe.d/*

to find a file containing

options nvidia-drm modeset=1

and change 1 to 0
then run

sudo dracut -f

and reboot. Then check if the hdmi gets available.

thanks for the quick response. Unfortunately still nothing. Here is the confirmation of the update of nvidia-drm:


/etc/modprobe.d/09-nvidia-modprobe-pm-G05.conf:options nvidia NVreg_DynamicPowerManagement=0x01
/etc/modprobe.d/50-blacklist.conf:blacklist nvidiafb
/etc/modprobe.d/50-nvidia-default.conf:options nvidia NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=484 NVreg_DeviceFileMode=0660
/etc/modprobe.d/50-nvidia-default.conf:options nvidia-drm modeset=0
/etc/modprobe.d/50-nvidia-default.conf:install nvidia PATH=$PATH:/bin:/usr/bin; if /sbin/modprobe --ignore-install nvidia; then   if /sbin/modprobe nvidia_uvm; then     if [ ! -c /dev/nvidia-uvm ]; then       mknod -m 660 /dev/nvidia-uvm c $(cat /proc/devices | while read major device; do if [ "$device" == "nvidia-uvm" ]; then echo $major; break; fi ; done) 0;        chown :video /dev/nvidia-uvm;     fi;     if [ ! -c /dev/nvidia-uvm-tools ]; then       mknod -m 660 /dev/nvidia-uvm-tools c $(cat /proc/devices | while read major device; do if [ "$device" == "nvidia-uvm" ]; then echo $major; break; fi ; done) 1;       chown :video /dev/nvidia-uvm-tools;     fi;   fi;   if [ ! -c /dev/nvidiactl ]; then     mknod -m 660 /dev/nvidiactl c 195 255;     chown :video /dev/nvidiactl;   fi;   devid=-1;   for dev in $(ls -d /sys/bus/pci/devices/*); do      vendorid=$(cat $dev/vendor);     if [ "$vendorid" == "0x10de" ]; then       class=$(cat $dev/class);       classid=${class%%00};       if [ "$classid" == "0x0300" -o "$classid" == "0x0302" ]; then          devid=$((devid+1));         if [ ! -c /dev/nvidia${devid} ]; then            mknod -m 660 /dev/nvidia${devid} c 195 ${devid};            chown :video /dev/nvidia${devid};         fi;       fi;     fi;   done;   /sbin/modprobe nvidia_drm;   if [ ! -c /dev/nvidia-modeset ]; then     mknod -m 660 /dev/nvidia-modeset c 195 254;     chown :video /dev/nvidia-modeset;   fi; fi 
grep: /lib/modprobe.d/*: No such file or directory

nvidia-bug-report.log.gz (1.8 MB)

I’m beginning to suspect the nvidia gpu doesn’t have any outputs. Does it work with nouveau?

I have never tried it as I went directly to the nvidia drivers. Is there an easy way to test this without uninstalling/re-installing? Thanks

You could remove the blacklist for nouveau and instead create one for the nvidia module, runninf dracut -f afterwards.

could not get it to work with blacklisting and took the hard way. Long story short, no HDMI with nouveau either (assuming I installed it properly). Upon re-installation of nvidia I notice a difference in " sudo cat /sys/module/nvidia_drm/parameters/modeset" which now gives: N
nvidia-bug-report.log.gz (1.8 MB)

Then I guess the hdmi port is not connected to the nvidia gpu and/or broken. Did you check if it works with Windows?

yes, it worked fine with Windows (i cannot re-test as i’ve completely removed windows now). It is definitely a Linux+Nvidia problem.

Not necessarily, without knowing which gpu the hdmi port is connected to. Might also be a Linux+Intel or a Lenovo/Bios/Linux issue.

No it’s my fault. Despite horrible experiences with nvidia drivers in linux 3 years ago, I decided to give it a go again. Things have not changed. Poor software which even when you manage to make it work has the worst power management imaginable.

Notebooks are different, sometimes work like a charm, sometimes not at all, unrelated to the price tag sticking on it.
What concerns me the most is that even nouveau doesn’t detect the hdmi port at all.

If you’re willing to spend some more time on this, you could provide a trace from nouveau:
Switch to nouveau, then add kernel parameter

nouveau.debug=debug,VBIOS=trace

Reboot with X disabled by running
sudo systemctl set-default multi-user.target
(or setting the kernel cmdline systemd.unit=multi-user.target)
Afterwards, log in on text console, and create the log
sudo dmesg >dmesg.txt
re-enable X:
sudo systemctl set-default graphical.target
sudo systemctl start display-manager (or reboot)
and upload dmesg.txt