Ubuntu 20.04 LTS unable to detect second monitor

20,066

On your BIOS you should find an option called IGD Multi-Monitor in the Settings\Advanced\Integrated Graphics Configuration. Check if enabling it solves your problem.

Source - Intel 500 Bios manual (from the motherboard's manual)

Share:
20,066

Related videos on Youtube

L.Koh
Author by

L.Koh

Updated on September 18, 2022

Comments

  • L.Koh
    L.Koh over 1 year

    I have a desktop computer running on Ubuntu 20.04 LTS with the following hardware:

    • 11th Gen Intel i5-11400
    • H510I PRO WIFI MSI motherboard
    • no graphics card

    It has a DisplayPort and HDMI port for display. When I plug a monitor into either of the ports, the monitor works. However, when I plug my second monitor, only the monitor that is plugged into the HDMI port works.

    Here is the output from sudo lspci -v:

    00:02.0 VGA compatible controller: Intel Corporation Device 4c8b (rev 04) (prog-if 00 [VGA controller])
    DeviceName: Onboard - Video
    Subsystem: Micro-Star International Co., Ltd. [MSI] Device 7d16
    Flags: bus master, fast devsel, latency 0, IRQ 255
    Memory at a0000000 (64-bit, non-prefetchable) [size=16M]
    Memory at 90000000 (64-bit, prefetchable) [size=256M]
    I/O ports at 4000 [size=64]
    Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
    Capabilities: [40] Vendor Specific Information: Len=0c <?>
    Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
    Capabilities: [ac] MSI: Enable- Count=1/1 Maskable+ 64bit-
    Capabilities: [d0] Power Management version 2
    Capabilities: [100] Process Address Space ID (PASID)
    Capabilities: [200] Address Translation Service (ATS)
    Capabilities: [300] Page Request Interface (PRI)
    Kernel modules: i915
    

    and from sudo lshw -c video:

    *-display UNCLAIMED       
       description: VGA compatible controller
       product: Intel Corporation
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 04
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm vga_controller bus_master cap_list
       configuration: latency=0
       resources: memory:a0000000-a0ffffff memory:90000000-9fffffff ioport:4000(size=64) memory:c0000-dffff
    

    and from xrandr --verbose:

    xrandr: Failed to get size of gamma for output default
    Screen 0: minimum 1920 x 1080, current 1920 x 1080, maximum 1920 x 1080
    default connected 1920x1080+0+0 (0x529) normal (normal) 0mm x 0mm
    Identifier: 0x528
    Timestamp:  943886
    Subpixel:   unknown
    Clones:    
    CRTC:       0
    CRTCs:      0
    Transform:  1.000000 0.000000 0.000000
                0.000000 1.000000 0.000000
                0.000000 0.000000 1.000000
               filter: 
    non-desktop: 0 
        supported: 0, 1
    1920x1080 (0x529) 159.667MHz *current
        h: width  1920 start    0 end    0 total 1920 skew    0 clock  83.16KHz
        v: height 1080 start    0 end    0 total 1080           clock  77.00Hz
    

    and from xrandr -q:

    xrandr: Failed to get size of gamma for output default
    Screen 0: minimum 1920 x 1080, current 1920 x 1080, maximum 1920 x 1080
    default connected primary 1920x1080+0+0 0mm x 0mm
    1920x1080     77.00* 
    

    and from inxi -G:

    Graphics:
    Device-1: Intel driver: N/A 
    Display: x11 server: X.Org 1.20.9 driver: fbdev unloaded: modesetting,vesa 
    resolution: 1920x1080~77Hz 
    OpenGL: renderer: llvmpipe (LLVM 11.0.0 256 bits) 
    v: 4.5 Mesa 21.1.0-devel (git-5a61a4dbfa) 
    

    I have tried the following:

    It seems that my problem is due to a lack of the correct drivers for graphics?

    Pretty lost as I am fairly new to Linux and would greatly appreciate any help on what else I can do to troubleshoot this problem.

    EDIT: Following suggestions by @petemir, I have since tried the following:

    • Updating Mesa from source instead of the default apt package
    • Updating kernel to 5.12.0-051200rc7-generic
    • Setting i915.force_probe option in sysctl

    The outputs above are based on the latest changes. Unfortunately I am still unable to get two monitors to render.

    • petemir
      petemir about 3 years
      Did you check the configuration in the BIOS? They should have options specific to the graphics part of the motherboard, perhaps you find something there.
    • L.Koh
      L.Koh about 3 years
      I checked, the BIOS has PEG and IGD options. Tried both options to no avail.
    • petemir
      petemir about 3 years
      IGD (Internal Graphics Display) is the one you want (PEG is PCI Express Graphics). Perhaps there are other options in the BIOS regarding the displays. I think this should work, as I have done it before (with VGA+HDMI; apparently it's not possible with DVI-D+HDMI). Do you have a Windows installation? That could be an easier way to check, at least, if the hardware supports it. Are you using any adapter attached to the cables for the displays? Of course, getting a cheap GFX card, as @randomhero said, easily solves this. Depends on how much time/money you want to spend.
  • petemir
    petemir about 3 years
    Motherboard comes with a Intel® H510 Chipset, which says that the processor graphics can support 2 displays at the same time, although it finally depends on the vendor implementation. The processor supports up to 3 displays. The motherboard datasheet only says 4k@60hz, but sometimes they are able to do dual display
  • Randomhero
    Randomhero about 3 years
    Agreed, the processor and the chipset have the ability to support multiple displays. But like you I was unable to find a datasheet which would give the number of supported displays. Given the symptoms described, I think that it is likely it doesn't support multiple monitors and I wouldn't want OP to spend time debugging if they are unlikely to be able to solve this. Happy as always to be proven wrong!
  • L.Koh
    L.Koh about 3 years
    Yes, I tried installing Windows and the two displays ran without problems
  • L.Koh
    L.Koh about 3 years
    Thanks @petemir, I tried both the PEG and IGD options and neither worked.
  • petemir
    petemir about 3 years
    OK, if it works with Windows as per your other post, then there must be a way for it to work on Linux. Can you add to your original post the output of inxi -G? It's weird that xrandr doesn't show which output are you using (DP, HDMI). What about xrandr -q?
  • L.Koh
    L.Koh about 3 years
    Added the outputs in the original post as requested.
  • petemir
    petemir about 3 years
    @L.Koh It seems that your CPU is very new and perhaps not fully supported yet. That said, Phoronix could test Rocket Lake chips with kernel 5.12 and mesa (from git, not from repo, which is probably not cutting-edge enough for your hardware). Try installing mesa git, and adding the kernel parameter i915.force_probe=DEVICE_ID from Phoronix (grab device ID with dmesg | grep -i i915, check the screenshot there).
  • L.Koh
    L.Koh about 3 years
    Thanks @petemir. I have since tried the force_probe option and it appeared to enable accelerated graphics, but unfortunately it was still unable to render two monitors.
  • petemir
    petemir about 3 years
    OK. Let's keep going :) . I see that inxi -G still doesn't show the driver for the Intel card. Perhaps this question helps you? There are two possible solutions: update to 20.10, or install the Ubuntu OEM kernel.
  • L.Koh
    L.Koh about 3 years
    Thanks @petemir. Both steps do not work as i still get the same output from inxi -G.
  • petemir
    petemir about 3 years
    Out of ideas, sorry. Perhaps Ubuntu 21.04 (coming out on 9 days) solves this for you.
  • L.Koh
    L.Koh about 3 years
    Yes i hope so too. Thanks for your help in any case!!