Bug 111410 - Gemini Lake - can't change refresh rate with default EDID and loading of custom EDID fails with eDP
Summary: Gemini Lake - can't change refresh rate with default EDID and loading of cust...
Status: RESOLVED MOVED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: high major
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard: Triaged, ReadyForDev
Keywords:
Depends on:
Blocks:
 
Reported: 2019-08-16 09:32 UTC by tempel.julian
Modified: 2019-11-29 19:23 UTC (History)
2 users (show)

See Also:
i915 platform: GLK
i915 features: display/eDP


Attachments
dmesg debug log after booting with default EDID and unsuccessful refresh rate switch (838.99 KB, text/plain)
2019-11-22 19:20 UTC, tempel.julian
no flags Details
dmesg debug log after specifying custom EDID which is not recognized properly (919.72 KB, text/plain)
2019-11-22 19:21 UTC, tempel.julian
no flags Details
custom edid that works on MS Windows, but not Linux (128 bytes, application/octet-stream)
2019-11-22 19:30 UTC, tempel.julian
no flags Details

Description tempel.julian 2019-08-16 09:32:30 UTC
Device is a Trekstor Surfbook A13B notebook with Celeron N4000 (Graphics 600) SoC. It features a 1080p eDP display (without panel self refresh feature).

The display's default EDID offers 59.9xHz and 48Hz for 1080p.
But: When switching to the 48Hz resolution via xrandr, the display continues running with 59.9xHz. Though some applications expect 48Hz then (e.g. mpv), causing bad stutter.
On Windows, changing refresh rate to 48Hz works without issues.

Also, loading a custom EDID or using custom Xorg modelines doesn't help, the display always runs with 59.9xHz and the resolutions/refresh rates of the custom EDID aren't even parsed correctly (only 59.9xHz are offered). Furthermore, the display then only runs with limited brightness level range, causing a washed out look.
On Windows, installing the very same EDID as custom monitor driver works correctly: The resolutions/refresh rates are parsed correctly, it correctly uses full range brightness levels and the display actually switches to the target refresh rates.

Not being able to use different refresh rates is quite annoying, as watching movies etc. is not optimal with 59.9xHz.
Comment 1 tempel.julian 2019-08-16 09:56:02 UTC
That's with linux 5.2.8 and xorg 1.20.5. Happens with modesetting DDX, xf86-video-intel and also on Wayland.
Comment 2 Lakshmi 2019-08-22 11:29:13 UTC
Can you please attach the dmesg from boot with kernel parameters drm.debug=0x1e log_buf_len=4M?

Also, Can you please try to reproduce this issue with drm-tip (https://cgit.freedesktop.org/drm-tip).

Dmesg from drmtip testing would be helpful for investigation.
Comment 3 Lakshmi 2019-10-02 18:24:32 UTC
(In reply to Lakshmi from comment #2)
> Can you please attach the dmesg from boot with kernel parameters
> drm.debug=0x1e log_buf_len=4M?
> 
> Also, Can you please try to reproduce this issue with drm-tip
> (https://cgit.freedesktop.org/drm-tip).
> 
> Dmesg from drmtip testing would be helpful for investigation.

NO feedback from more than a month. Setting the priority to Low.
Comment 4 tempel.julian 2019-11-22 19:20:41 UTC
Created attachment 146012 [details]
dmesg debug log after booting with default EDID and unsuccessful refresh rate switch
Comment 5 tempel.julian 2019-11-22 19:21:44 UTC
Created attachment 146013 [details]
dmesg debug log after specifying custom EDID which is not recognized properly
Comment 6 tempel.julian 2019-11-22 19:30:03 UTC
I've compiled drm-tip kernel with current git head master of today and created the debug logs.

The first one logged how I unsuccessfully tried to switch from 60Hz to 48Hz (it works on Microsoft Windows).

The second log shows how I loaded a custom EDID that includes 60Hz, 50Hz and 48Hz resolutions. The Intel Linux graphics driver doesn't pick them up and and just falls back to 60Hz, which also incorrectly uses limited brightness level range ("TV range", washed out image with PC display).

I can load the very same EDID on Windows (can be installed via Windows Device Manager as monitor driver) and there 60Hz, 50Hz and 48Hz are correctly available and also correctly use full brightness level range ("PC range", looks correct with PC display).

I think it can't hurt if I attach the EDID here.
Comment 7 tempel.julian 2019-11-22 19:30:56 UTC
Created attachment 146014 [details]
custom edid that works on MS Windows, but not Linux
Comment 8 Martin Peres 2019-11-29 19:23:43 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/intel/issues/371.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.