Ubuntu 20.04 LTS unable to detect second monitor
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)
Related videos on Youtube
L.Koh
Updated on September 18, 2022Comments
-
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:
- installing
mesa-utils
- looking through various pages on the forums including https://askubuntu.com/questions/1121132/hdmi-not-detected-on-ubuntu-18-04
- Searching for the correct drivers on Intel and MSI website
- updating to the latest kernel (5.11.13)
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 about 3 yearsDid 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 about 3 yearsI checked, the BIOS has PEG and IGD options. Tried both options to no avail.
-
petemir about 3 yearsIGD (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 about 3 yearsMotherboard 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 about 3 yearsAgreed, 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 about 3 yearsYes, I tried installing Windows and the two displays ran without problems
-
L.Koh about 3 yearsThanks @petemir, I tried both the PEG and IGD options and neither worked.
-
petemir about 3 yearsOK, 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 thatxrandr
doesn't show which output are you using (DP, HDMI). What aboutxrandr -q
? -
L.Koh about 3 yearsAdded the outputs in the original post as requested.
-
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 withdmesg | grep -i i915
, check the screenshot there). -
L.Koh about 3 yearsThanks @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 about 3 yearsOK. 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 about 3 yearsThanks @petemir. Both steps do not work as i still get the same output from
inxi -G
. -
petemir about 3 yearsOut of ideas, sorry. Perhaps Ubuntu 21.04 (coming out on 9 days) solves this for you.
-
L.Koh about 3 yearsYes i hope so too. Thanks for your help in any case!!