optimus laptop and leap 15.1 do not connect to external hdmi monitor

Dear experts

I recently bought a Asus Rog Stix G laptop with NVIDIA GeForce GTX 1650 GDDR5 graphics card.
After a fresh install of leap 15.1, the laptop does not recognize an external HDMI monitor.
Under windows it works fine!

To solve the issue I installed only SUSE-prime.
If I do


prime-select nvidia

I get:

modprobe: FATAL: Module nvidia_drm not found in directory /lib/modules/4.12.14-lp151.28.36-default
/usr/sbin/prime-select: line 78: nvidia-xconfig: command not found
PCI BusID of NVIDIA card could not be detected!

When I do:

xrandr -q
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
   1920x1080    120.04*+  48.01 

File /var/log/Xorg.0.log has only two instances related to HDMI:

     9.199] (II) config/udev: Adding input device HDA Intel PCH HDMI/DP,pcm=3 (/dev/input/event14)
     9.199] (II) No input driver specified, ignoring this device.
     9.199] (II) This device may have been added with another device file.
     9.200] (II) config/udev: Adding input device HDA Intel PCH HDMI/DP,pcm=7 (/dev/input/event15)
     9.200] (II) No input driver specified, ignoring this device.
     9.200] (II) This device may have been added with another device file.
     9.200] (II) config/udev: Adding input device HDA Intel PCH HDMI/DP,pcm=8 (/dev/input/event16)
     9.200] (II) No input driver specified, ignoring this device.
     9.200] (II) This device may have been added with another device file.
     9.201] (II) config/udev: Adding input device HDA Intel PCH HDMI/DP,pcm=9 (/dev/input/event17)
     9.201] (II) No input driver specified, ignoring this device.
     9.201] (II) This device may have been added with another device file.
     9.202] (II) config/udev: Adding input device HDA Intel PCH HDMI/DP,pcm=10 (/dev/input/event18)
     9.202] (II) No input driver specified, ignoring this device.
     9.202] (II) This device may have been added with another device fil

and:

     9.022] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=3 (/dev/input/event19)
     9.022] (II) No input driver specified, ignoring this device.
     9.022] (II) This device may have been added with another device file.


What can I do to solve this ???

SUSE-prime is for Optimus users. Optimus means having both Intel and NVidia GPUs in a laptop. Do you have Optimus? If not, uninstall it.

What to do next depends on your answer.

Yes I have Optimus.
What shall I do next?

Please upload the entire Xorg.0.log to http://susepaste.org/.

Apparently you have two possibly unrelated problems:

  1. HDMI monitor not recognized;
  2. SUSE-Prime not installed properly (at least the Nvidia driver was not installed or not installed as expected).

IMHO trying to solve problem 1) by installing SUSE-Prime only made the problem worse.
I don’t know how your specific model is wired, but similar ASUS Optimus laptops have the HDMI wired to the integrated Intel chip, so no need for SUSE-Prime.
A laptop of mine needs the HDMI monitor connected at boot to properly recognize it; if the monitor is connected or switched on after boot it is not recognized (on a plain Leap 15.2 install with Gnome).
When recognized the HDMI monitor works via Intel or via Nvidia (by “DRI_PRIME=1 <program name>”) and the secondary display can be arranged the usual ways via the Gnome Display panel.
For a reference, here is what I see (HDMI is XWAYLAND1):

bruno@LT_B:~> xrandr -q
Screen 0: minimum 320 x 200, current 3840 x 1080, maximum 8192 x 8192
XWAYLAND0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 350mm x 190mm
   1920x1080     59.96*+
XWAYLAND1 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 160mm x 90mm
   1920x1080     29.95*+
bruno@LT_B:~> 

In that case your HDMI-port is probably connected to only one of your graphics-cards (either Intel or NVIDIA, e.g. on my CLEVO-laptop the HDMI-port is connected to the NVIDIA-card).

You have to find out which of your cards supports the HDMI-port and must ensure that the correct card is active when you want to use the HDMI-port.

SUSE-prime is only needed to switch between the Intel- and the NVIDIA-card. If you can stay with one of the cards then there is no need for SUSE-prime.

As far as i know SUSE-prime does not use the nouveau-driver for the NVIDIA-card but expects the proprietary NVIDIA-driver to be installed. The easiest way to get that driver (and to keep it up-to-date) is to add this repository http://download.nvidia.com/opensuse/leap/15.1/ in YaST and to install the driver from there.

The Intel-card is supported by the kernel so you actually do not need the xf86-video-intel-driver. Although if you install xf86-video-intel SUSE-prime will offer you the choice to use either the kernel-driver or the xf86-video-intel-driver.

Regards

susejunky

via the i915 kernel driver.

so you actually do not need the xf86-video-intel-driver. Although if you install xf86-video-intel SUSE-prime will offer you the choice to use either the kernel-driver or the xf86-video-intel-driver.
And if you install neither xf86-video-intel nor any NVidia-specific software, you should be getting the upstream default, provided as a component of the server package, the modesetting DDX, which supports AMD, Intel and NVidia GPUs.

Thank you all very much the replies mrmazda susejunky and OrsoBruno.

I will try to implement your suggestions and update the thread for the shake of the archives.

I have uploaded the xorg log here:
https://susepaste.org/62431137

Any further help is more than welcome!

The “(WW) EDID timing clock 335.47 exceeds claimed max 5MHz, fixing” lines are warnings. Could it be that “fixing” isn’t true? It may be worth an inquiry on the https://lists.x.org/mailman/listinfo/xorg mailing list.

Your xorg.log-file shows your internal Display (eDP-1, 1920x1080) driven by the “i915”-driver (intel driver build in kernel). Was there another monitor connected to the HDMI-port at this time?

Some laptops with optimus configuration allow to control the behavior of the two graphic cards via the UEFI (aka BIOS); e.g. my CLEVOs UEFI allows me to choose either “DISCRET” or “MSHYBRID” for the graphic cards. “DISCRET” means only the NVIDIA-card is used and “MSHYBRID” means both Intel and NVIDIA card are used. If your laptop features such an UEFI-option it would be good to know your current setting.

The results of

# xrandr  --listproviders

and

#xrandr --listmonitors

and

#  zypper se xf86

would be helpful as well.

Regards

susejunky

In the attached Xorg log the only mention of the Nvidia GPU I find is:

     8.781] (--) PCI: (1@0:0:0) **10de:1f91:1043:106f** rev 161, Mem @  0xa3000000/16777216, 0x90000000/268435456, 0xa0000000/33554432, I/O @  0x00004000/128, BIOS @ 0x????????/524288

Apparently no attempt at loading a matching video driver (nv or nouveau or nvidia…).
Also, no mention of any output other than eDP-1, e.g. in

     8.878] (II) modeset(0): **Output eDP-1** has no monitor section

namely, no mention of any HDMI output.

So I wonder if that laptop has an unusual Optimus configuration, if the (incorrect?) install of SUSE-PRIME prevented the discrete GPU from engaging properly, or simply the GPU is too new to be properly recognized by the Leap 15.1 setup.
Apart from that, the log looks to me like a regular Xorg using an Intel GPU (and only that) via the modesetting video driver and the usual host of ASUS input devices.

Looking forward to seeing the answers @susejunky asked for.

The discrete GPU is of the Turing series. I see in the “News” paragraph at this freedesktop page https://nouveau.freedesktop.org/wiki/

News

  • Jan, 2019: Support for Turing merged into Linux 5.0
    .>

So maybe Tumbleweed is a better option for such a recent laptop.

...
     8.790] (==) Matched intel as autoconfigured driver 0
     8.790] (==) **Matched modesetting** as autoconfigured driver 1
     8.791] (==) Matched fbdev as autoconfigured driver 2
...

Modesetting is a match for any of AMD, Intel or NVidia GPUs. NV is an antique that I can’t remember ever seeing used since KMS became kernel default, unless maybe in conjunction with using nomodeset or Riva or Vanta.

So maybe Tumbleweed is a better option for such a recent laptop.
Some 16xx models are newer than 15.1.
https://en.wikipedia.org/wiki/List_of_Nvidia_graphics_processing_units#GeForce_16_series_2

15.2, now using kernel 5.3.18, is scheduled to turn beta in a few days or weeks. I haven’t noticed any material problems using it.

Hi;

Maybe it is a stupid question, but Did you install the nvidia driver like indicated here —>https://en.opensuse.org/SDB:NVIDIA_drivers

like you did comment before you just did install “only suse-prime” and when you did call this script (i don’t know if it is) failed to search module nvidia. if you had installed the nvidia driver, there should be at least the

nvidia and the nvidia-drm
module. So if you list the modules you should see them with
lsmod or lsmod | grep -i nvidia
and another command than can be useful
sudo lspci -nnk | grep -i -E ‘VGA|3D|Display’ -A 5

Maybe I did miss read the thread, but if you did install the nvidia driver there should be the module nvidia and it should be seen with

lsmod
IMHO,

Regards.

The OP apparently has such a brand new GPU that we must carefully check support by the kernel and video drivers.
According to this page http://80.87.195.87/index.php?probe=686232836e a similar GPU engaged no kernel driver even with kernel 5.3.0 apparently.
According to this commit https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/gpu/drm/nouveau?h=v5.5&id=e15b682aad77f158e4af51d258ed7398036fdf8d initial support for the TU117 chipset should be available through the nouveau kernel driver, but modesetting only (meaning that it would be almost useless on a ROG laptop).
The Nvidia driver 440.44 available for Leap 15.1 since Jan. 8 here http://http.download.nvidia.com/opensuse/leap/15.1/x86_64/ should support the GPU, but I don’t know for sure if that is true when built against a 4.12 kernel.
So I think the easiest way is to proceed in steps:

  1. try the latest Tumbleweed LiveDVD (no need to install), check if the nouveau driver engages the GPU with
lsmod | grep nouveau

and see if the HDMI monitor is at least connected (please be sure the monitor is connected and switched on at boot):

  1. try to issue the commands listed in post #10 and post the results, so we may possibly know where the HDMI port is wired;
  2. if nothing shows in point 2) try the same commands prepending DRI_PRIME=1, e.g.
DRI_PRIME=1 xrandr  --listproviders
  1. if nothing still shows, try booting the LiveDVD with the “nouveau.modeset=1” boot option (please ask if you don’t know how to do that) and repeat the above steps.

After making sure that the external monitor is at least connected and recognized a proper install with the proprietary driver can be attempted, but please be aware that suse-prime may be tricky on such new HW and may need a new kernel and the Nvidia driver installed “the hard way”.
Please be aware that my knowledge of the above stuff is somewhat limited, so expert advice is highly welcome.

Thanks a lot for your help so far **susejunky OrsoBruno mrmazda and Yox !
**I appreciate it a lot as I am disappointed.

I am posting bellow the output of the suggested commands:


xrandr  --listproviders

Providers: number : 1
Provider 0: id: 0x43; cap: 0xf (Source Output, Sink Output, Source Offload, Sink Offload); crtcs: 3; outputs: 1; associated providers: 0; name: modesetting
    output eDP-1


xrandr --listmonitors

Monitors: 1
 0: +*eDP-1 1920/344x1080/194+0+0  eDP-1

The output of


zypper se xf86

is at this link:
https://susepaste.org/86861533


sudo lspci -nnk | grep -i -E 'VGA|3D|Display' -A 5


00:02.0 VGA compatible controller [0300]: Intel Corporation UHD Graphics 630 (Mobile) [8086:3e9b]
        Subsystem: ASUSTeK Computer Inc. Device [1043:106f]
        Kernel driver in use: i915
        Kernel modules: i915
00:04.0 Signal processing controller [1180]: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem [8086:1903] (rev 07)
        Subsystem: ASUSTeK Computer Inc. Device [1043:1871]
--
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:1f91] (rev a1)
        Subsystem: ASUSTeK Computer Inc. Device [1043:106f]
        Kernel modules: nouveau
01:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:10fa] (rev a1)
        Subsystem: ASUSTeK Computer Inc. Device [1043:106f]
        Kernel driver in use: snd_hda_intel


 sudo lspci -nnk | grep -i -E 'VGA|3D|Display' -A 5


00:02.0 VGA compatible controller [0300]: Intel Corporation UHD Graphics 630 (Mobile) [8086:3e9b]
        Subsystem: ASUSTeK Computer Inc. Device [1043:106f]
        Kernel driver in use: i915
        Kernel modules: i915
00:04.0 Signal processing controller [1180]: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem [8086:1903] (rev 07)
        Subsystem: ASUSTeK Computer Inc. Device [1043:1871]
--
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:1f91] (rev a1)
        Subsystem: ASUSTeK Computer Inc. Device [1043:106f]
        Kernel modules: nouveau
01:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:10fa] (rev a1)
        Subsystem: ASUSTeK Computer Inc. Device [1043:106f]
        Kernel driver in use: snd_hda_intel



lsmod | grep nouveau


nouveau              2150400  0
mxm_wmi                16384  1 nouveau
ttm                   126976  1 nouveau
i2c_algo_bit           16384  2 nouveau,i915
drm_kms_helper        204800  2 nouveau,i915
drm                   491520  12 nouveau,i915,ttm,drm_kms_helper
wmi                    28672  4 asus_wmi,wmi_bmof,mxm_wmi,nouveau
video                  45056  3 asus_wmi,nouveau,i915
button                 16384  1 nouveau


I didnt install the proprietary nvidia drivers.

Another issue came up.
Windowd are lost fromn the boot menu.

I ll try the tumbleweed sugestion and let you know.

When i load both drivers - nouveau and i915 - on my notebook i get

# xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x43; cap: 0xf (Source Output, Sink Output, Source Offload, Sink Offload); crtcs: 3; outputs: 1; associated providers: 1; name: modesetting
    output eDP-1
Provider 1: id: 0x27e; cap: 0x2 (Sink Output); crtcs: 4; outputs: 3; associated providers: 1; name: modesetting
    output HDMI-1-1
    output DP-1-1
    output DP-1-2
#

Have you found any option in your UEFI that handles the graphics cards?

Did you install bbswitch (as recommended by suse-prime)?

# cat /proc/acpi/bbswitch
0000:01:00.0 OFF
#

If you get the result as shown above then your NVIDIA-card is switched off by bbswitch. You can switch it on (as root) with

# tee /proc/acpi/bbswitch <<<ON
#

Regards

susejunky

bbswitch was not installed.
I installed it now to try it from YAST and the path is
/usr/share/doc/packages/bbswitch

there is no bbswitch at
/proc/acpi

There is no option on my uefi to select graphic cards:


Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
        Vendor: American Megatrends Inc.
        Version: G531GT.305
        Release Date: 09/24/2019
        Address: 0xF0000
        Runtime Size: 64 kB
        ROM Size: 16 MB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                BIOS ROM is socketed
                EDD is supported
                5.25"/1.2 MB floppy services are supported (int 13h)
                3.5"/720 kB floppy services are supported (int 13h)
                3.5"/2.88 MB floppy services are supported (int 13h)
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                Printer services are supported (int 17h)
                ACPI is supported
                USB legacy is supported
                Smart battery is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 5.13


This is not an ordinary “Optimus” laptop, looks like the two GPUs are wired as two independent graphics cards.
It is likely that the HDMI output is wired to the Nvidia and until the Nvidia GPU is engaged by the kernel it seems unlikely for Linux to reach to that HDMI.
Please note there is no “Kernel driver in use” for the Nvidia.
Also there should be means to switch to the Nvidia, in UEFI or wherever (any physical switch or custom Fn key?).
The above is only an educated guess, I never got my hands on a system like that.
As a reference, this is how an ordinary “Optimus” shows up:

# lspci -nnk | egrep 'VGA|3D' -A3
00:02.0 **VGA compatible controller [0300]**: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller [8086:0416] (rev 06)
    Subsystem: ASUSTeK Computer Inc. Device [1043:177d]
    Kernel driver in use: i915
    Kernel modules: i915
--
01:00.0 **3D controller [0302]**: NVIDIA Corporation GM107M [GeForce GTX 960M] [10de:139b] (rev a2)
    Subsystem: ASUSTeK Computer Inc. Device [1043:177d]
    Kernel driver in use: nouveau
    Kernel modules: nouveau
 #

Did you re-start your system after you installed bbswitch?

Are you sure? The option might be named “strange” (e.g. on my system it is called something like “MSHybrid-to-Discret -switch” and can be found under “Advanced chipset control”).

However if there are really two independent graphic cards in your system i agree with OrsoBruno that there should be a way to switch between them (hardware switch, Fn-key-combination, UEFI, …).

What does

# inxi -Gxxx

show? You probably have to install inxi first.

Regards

susejunky