Debian Buster, HDMI not detected with new lg ultra gear monitor

Hi,
Currently I’ve got new monitor which is lg ultra gear, has nvidia g-sync. With my debian computer I could not share my screen to monitor via hdmi output. There was another monitor which was little bit older but I could be connected to it vi hdmi, there was no problem. but with this monitor I could not success even I spent hours.

Here is my system informations:

$ lspci | grep -E “VGA|3D”

00:02.0 VGA compatible controller: Intel Corporation UHD Graphics (rev 05)
01:00.0 VGA compatible controller: NVIDIA Corporation TU117M [GeForce GTX 1650 Ti Mobile] (rev ff)

$ nvidia-detect

Detected NVIDIA GPUs:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU117M [GeForce GTX 1650 Ti Mobile] [10de:1f95] (rev ff)

Checking card: NVIDIA Corporation TU117M [GeForce GTX 1650 Ti Mobile] (rev ff)
Your card is only supported by the updated drivers from buster-backports.
See https://backports.debian.org for instructions how to use backports.
It is recommended to install the
nvidia-driver/buster-backports
package.

$ nvidia-smi
NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

$ nvidia-settings

ERROR: NVIDIA driver is not loaded

ERROR: Unable to load info from any available system

$ ls /etc/modprobe.d

amd64-microcode-blacklist.conf blacklist-nvidia-nouveau.conf bumblebee.conf dkms.conf intel-microcode-blacklist.conf mdadm.conf nvidia-blacklists-nouveau.conf nvidia.conf nvidia-kernel-common.conf

I have an nvidia discrete graphic card on my laptop. Searched about selecting one of them but that didnt take me somewhere.

I have attached to bug report log on issue. Can anyone tell me what I am missing ?nvidia-bug-report.log.gz (88.0 KB)

[ 11.933063] bbswitch: disabling discrete graphics

uninstall bbswitch.

Do exactly that.

https://wiki.debian.org/NVIDIA%20Optimus

Tells you how to configure your desired setup.

1 Like

Hello Mart, first of all thank you for your reply. Now I am able to open nvidia-settings and also nvidia-smi after I have uninstalled bbswitch.

Now as I understood, I have to configure graphic cards usage of kernel side. I can see there are options like ,

  • use only intel
  • use only nvidia discrete
  • make them switchable on runtime

Which configuration do you think will be better? In my opinion “Using NVIDIA GPU as the primary GPU” title is the best case and brings less problems. Am I right?

It depends on your usage scenario.

To help with the decision:
you’re running debian stable which only provides Xorg 1.20.4 so you can’t use anything else than PRIME output, meaning nvidia gpu always on. All the new toys like render offload, runtime pm and output sink for maximum power saving require a newer Xserver.

Hi, sorry for my stupid questions but I am really not familiar with the terminology of this problem.
I would like to understand something. I was able to connect with hdmi to another monitor with the same laptop. But why I am having a problem about connecting with the new monitor? I have shared the screenshot of my nvidia-settings. In the nvidia-settings, I can see that monitor is detecting by the nvidia, but still black screen on my monitor.

Also can you please more specific about “PRIME output” ? Is that means I have to choose one of my graphic cards?

PRIME output is what is described as “using nvidia as primary gpu” in the link Mart gave.
I don’t know why your monitor previously worked, since you have bumblebee installed, maybe you used that.
Did you meanwhile uninstall the runfile driver and installed the driver fro the buster backports repo?

To clarify:
this is a hybrid graphics notebook, i.e. the internal display is connected to the intel gpu and the hdmi port in this notebook connected to the nvidia gpu.
So with the xorg package of debian stable, to have the internal and the external monitor display your desktop, it has to be set up with the nvidia gpu as primary, meaning it renders the whole desktop and then copies over the picture for the internal display to the intel gpu.

1 Like

That was really good explanation, thanks for the clarification. Actually, I have tried many things since yesterday. I remember I have removed and installed back couple times nvidia drivers from backports.

About bumblebee, I still have it, installed in my laptop. Should I remove some packages that can create problem for me? Like I deleted bbswitch previously.

Also my provider list output:

$ xrandr --listproviders

Providers: number : 2
Provider 0: id: 0x205 cap: 0x2, Sink Output crtcs: 3 outputs: 3 associated providers: 0 name:modesetting
Provider 1: id: 0x1b8 cap: 0x0 crtcs: 4 outputs: 1 associated providers: 0 name:NVIDIA-G0

My provider name is different than what it says in the link (NVIDIA Optimus - Debian Wiki) . I believe that it must be modified also right?

The names change when the nvidia gpu is set as primary gpu. This can easily be achieved by creating /etc/X11/xorg.conf.d/10-nvidia-prime.conf

Section "OutputClass"
    Identifier     "nvidia-prime"
    MatchDriver    "nvidia-drm"
    Driver         "nvidia"
    Option "AllowEmptyInitialConfiguration" "true"
    Option "PrimaryGPU" "true"
EndSection

Be warned, though, that without issueing the xrandr commands from the wiki you won’t see anything on the internal screen.

I think, right now I am having the issue that you are talking about. For xrandr commands I have used what is written on my system which is NVIDIA-G0 for me. After I completed my sddm configuration, nothing happened and I restarted my laptop with connected hdmi. Finally I got the screen on my monitor (thanks a lot btw). But now I can not see anything from my internal screen evet when I took of hdmi cable. Is it because that I have used NVIDIA-GO name? Btw I didn’t implement “PRIME synchronization” topic. Should I implement it also ? I did not understand what was that for acutally?

Yes, like said, NVIDIA-G0 is the name when nvidia is secondary, when primary, it changes to NVIDIA-0

1 Like

NB: it’s a zero, not an O.
Prime sync is for tear free display, you should turn it on.

1 Like

Now it is working perfectly, like I want. Thank you so much for the support. Best regards

Regarding your question of keeping or uninstalling Bumblebee:

I’m not 100% sure if Bumblebee/bbswitch play together with Prime output. Maybe generix can clarify that.

But Bumblebee/bbswitch is not a really maintained project. The last reasonable commit is like 8 years ago.
Also you’ll have to maintain an extra layer of configuration and use optirun/primusrun prefixing any program you want to run.

https://wiki.archlinux.org/index.php/bumblebee#Bumblebee:_Optimus_for_Linux

As it’s most likely about saving energy on a laptop, you might better want to look into this:
https://download.nvidia.com/XFree86/Linux-x86_64/460.39/README/dynamicpowermanagement.html

1 Like

Bumblebee isn’t really useful on that kind of hardware, should be uninstalled. It was once a blocker for PRIME on non-glvnd distros (like Ubuntu 16.04) but now it’s just an unused package, only bbswitch interfering. The use-cases for it (that come to my mind) nowadays are:

  • maximum powersaving on pre-Turing gen hardware
  • render offload on Fermi gen gpu
  • using wayland and still wanting to play games on the nvidia gpu

On this specific notebook hardware, it’s rather advised to forget about bumblebee in favour of upgrading to debian testing/unstable to get a more recent Xserver to be able to use render offload and runtime power management.

2 Likes