I’m currently (in Ubuntu 20.04) stuck with this low resolution: "1024x768"x60.0, what I want to have is the monitor specs: 1080p and 144 Hz. This problem appeared after plugging in my old monitor after 2 years again, it’s a Philips 272G5DYEB. Things that I unsuccesfully tried to get a proper resolution:
- Use different systems: desktop and laptop with GPUs from different companies: 1050 ti (mobile) and 5700 xt
- Use different drivers: propritary and open source
- Change resolution via xrandr addmode/newmode with modelines from cvt 1920 1080 and modeline I got from Windows (where 1920x1080 works) (leads to monitor saying “no signal on screen”)
- Using “GRUB_GFXMODE” config in grub (no change)
- Searching through logs, only useleful thing I found was in the Xorg log (for AMD):
[ 12.117] (II) AMDGPU(0): EDID for output DisplayPort-0
[ 12.117] (II) AMDGPU(0): Printing probed modes for output DisplayPort-0
[ 12.117] (II) AMDGPU(0): Modeline "640x480"x59.9 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz e)
[ 18.782] (II) modeset(G0): EDID for output DP-1-1
[ 18.782] (II) modeset(G0): Printing probed modes for output DP-1-1
[ 18.782] (II) modeset(G0): Modeline "1024x768"x60.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz e)
[ 18.782] (II) modeset(G0): Modeline "800x600"x60.3 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz e)
[ 18.782] (II) modeset(G0): Modeline "800x600"x56.2 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz e)
[ 18.782] (II) modeset(G0): Modeline "848x480"x60.0 33.75 848 864 976 1088 480 486 494 517 +hsync +vsync (31.0 kHz e)
[ 18.782] (II) modeset(G0): Modeline "640x480"x59.9 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz e)
- In Windows the resolution works, but Windows is showing resolutions up to 4K which is unusual (I think). Looks to me that Windows is guessing the modelines better
- Both GPUs work fine with a different monitor
- Use latest DRM-tip kernel
- Use different DP cables
Some logs (Xorg and dmesg for instance) can be found here. I also attached the Nvidia-Bug-Report. I also opened this issue on AMD page.
nvidia-bug-report.log.gz.log (339.8 KB)
The monitor is broken, it doesn’t provide any EDID, so the i915 driver falls back to safe values only allowing 1024x768. Windows removed any safety measures after XP, so there you can set what you want.
For a fixed hw setup, you could load an EDID from file or set the correct values in xorg.conf but I’m not sure this is wanted in your case with a notebook. Any other monitor connected to that connector would then use the same values. Your decision.
If the monitor doesn’t provide any EDID, how is the model name / physical size and other stuff correctly detected by Windows (I did not install anything specific from that monitor)?
I already tried setting custom resolution via xrandr which wouldn’t work. How does it make a difference if I know put the values into Xorg config?
Detection in Windows: good question, don’t know.
Setting modelines using xrandr only works within the limits the driver sets. In xorg.conf monitor section, you can set the limits (HorizSync/VertRefresh)
So for me to properly resolve this problem I need to get a new monitor with proper EDID. What a bummer. Do you think this might just be an error of my monitor and not the model in general (maybe a replacement might fix it then)?
To make use of your suggested “fix” I need to get proper EDID in beforehand. Which I probably only can get from Philips or maybe somehow look for EDID information in Windows. With Philips I have the feeling that this is too low level and they won’t be able to provide the information.
The nvidia gpu has absolutely nothing to do with this, the external connectors are all connected to the intel gpu.
How you got the expression I was blaming the Nvidia GPU I don’t quite get. I agree with you that the monitor is the issue here. But to address your point: From Ubuntu forum I learned that the EDID is being processed by the DRM kernel module. In my latop’s case the DRM kernel module is coming from Nvidia:
[ 6.028538] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 1
So the Nvidia GPU is not involved, but the driver is certainly - at least in the EDID processing. But of course it can’t provide proper EDID if it isn’t provided with one from the monitor.
At last I wanted to thank you for the support. I will try out the EDID generetor.
It’s this one:
[drm] Initialized i915 1.6.0 20190822 for 0000:00:02.0 on minor 0