Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.
Admin message
Equinix is shutting down its operations with us on April 30, 2025. They have graciously supported us for almost 5 years, but all good things come to an end. We are expecting to transition to new infrastructure between late March and mid-April. We do not yet have a firm timeline for this, but it will involve (probably multiple) periods of downtime as we move our services whilst also changing them to be faster and more responsive. Any updates will be posted in freedesktop/freedesktop#2011 as it becomes clear, and any downtime will be announced with further broadcast messages.
Project 'drm/intel' was moved to 'drm/i915/kernel'. Please update any links and bookmarks that may still have the old path.
Unable to set 240Hz refresh rate on MSI GS66, only 60Hz is available
I have a laptop MSI GS66 Stealth 11UH which features 2K display and 240Hz refresh rate. However, on Linux the only choice I see is 60Hz refresh rate. Using xrandr I might be able to set to 240Hz, but even with 240Hz refresh rate, the display is obviously still operating at 60Hz refresh rate.
This issue is the outcome of this issue as it is unrelated to the original issue. There is already initial investigation in this comment...
Currently I am on latest drm-tip kernel: Linux ARCHLINUXMSI 5.19.0-rc4-1-drm-tip-git-g3d881054a2b8 #1 SMP PREEMPT_DYNAMIC Wed, 29 Jun 2022 09:39:16 +0000 x86_64 GNU/Linux (installed via linux-drm-tip-git AUR package)
The EDID claims Display is continuous frequency but doesn't actually provide the range descriptor. AFAICS that isn't even legal according to the EDID spec. Not really sure what we should do with this one...
The Windows driver seems to have some kind of a hack for this case where they just populate the min/max based on the modes advertised by the eDP panel.
I am pretty sure it would be impossible to contact MSI regarding this, especially when it works fine on Windows... Would it be possible to implement this hack on Linux driver?
I am gotta be honest - I want 240Hz on it badly. Is there any doable workaround/fix/patch to get this refresh rate at least in a short term?
This could be completelly unrelated and false, but would it be possible to add 2K resolution and 240Hz refresh rate to EDID in the first place? I mean from this discussion:
Next, I tried simply modifying the preferred mode itself. I used this tool through Wine to do that and do the calculations for me, but it won't accept a refresh rate of 300 Hz (which is obviously supported) due to pixel clock limitations. I tried setting 240 Hz instead, which is within the bounds it has, and this worked. The display is obviously running at a much higher refresh rate now - even though the rest of the Optimus experience with multiple monitors on X11 in GNOME is still a lagfest, but that's a different issue altogether.
This isn't a 100% solution yet, but 240 Hz is fine for me, and it's very good to know that there is at least a workaround for the time being, so thanks, and I hope this also helps someone else until this bug can permanently be fixed!
Does it mean that such high resolution + high frequency just cannot simply be added to EDID due to EDID limitations?
@vsyrjala@jani would it be possible to provide any kind of patch to fix this issue? It does not have to be in drm-tip branch, any other branch is fine as long as I can build a kernel myself until this gets fixed permanently.
Tried your custom kernel but it did not fix the issue. However, now I am able to switch between 48hz and 60hz (previously I've only had 60hz option).
Tried messing with custom resolutions/refresh rates using xrandr custom modes - they have no effect. Switching to custom resolution/refresh rate from 48hz to (e.g.) 240hz does literally nothing and screen still stays on 48hz. Switching from 60Hz is the same (screen stays on 60hz). So the only difference now is that I am able to switch between 48hz and 60hz. No other options available.
[ 16.772434] i915 0000:00:02.0: [drm:icl_verify_procmon_ref_values [i915]] Combo PHY A Voltage/Process Info : 0.85V dot0 (low-voltage)[ 16.772532] i915 0000:00:02.0: [drm:icl_verify_procmon_ref_values [i915]] Combo PHY B Voltage/Process Info : 0.85V dot0 (low-voltage)...[ 10.161300] i915 0000:00:02.0: [drm:intel_atomic_check [i915]] [CONNECTOR:308:eDP-1] Limiting display bpp to 24 (EDID bpp 24, max requested bpp 36, max platform bpp 36)[ 10.161370] i915 0000:00:02.0: [drm:intel_dp_compute_link_config [i915]] DP link computation with max lane count 4 max rate 540000 max bpp 24 pixel clock 1056760KHz[ 10.161432] i915 0000:00:02.0: [drm:intel_dp_compute_link_config [i915]] Try DSC (fallback=yes, joiner=no, force=no)[ 10.161494] i915 0000:00:02.0: [drm:intel_dp_compute_link_config [i915]] DP link computation with max lane count 4 max rate 540000 max bpp 24 pixel clock 1056760KHz[ 10.161546] i915 0000:00:02.0: [drm:intel_dp_compute_link_config [i915]] Try DSC (fallback=yes, joiner=no, force=no)[ 10.161593] i915 0000:00:02.0: [drm:intel_atomic_check [i915]] [ENCODER:307:DDI A/PHY A] config failure: -22...[ 10.162232] i915 0000:00:02.0: [drm:intel_crtc_state_dump [i915]] requested mode: "2560x1440": 240 1056759 2560 2608 2640 2720 1440 1443 1448 1619 0x40 0xa[ 10.162277] i915 0000:00:02.0: [drm:intel_crtc_state_dump [i915]] adjusted mode: "2560x1440": 240 1056760 2560 2608 2640 2720 1440 1443 1448 1619 0x48 0xa[ 10.162319] i915 0000:00:02.0: [drm:intel_dump_crtc_timings [i915]] crtc timings: 1056760 2560 2608 2640 2720 1440 1443 1448 1619, type: 0x48 flags: 0xa
So we're trying to use the 240Hz mode, but lack the bandwidth for it (would need 8.1Gbps instead of 5.4Gbps) due to the low voltage sku revert from bug #6205 (closed). Fortunately it looks like we're close to solving that one in a different way which should restore 8.1Gpbs support.
Or you can just revert commit d5929835080a ("drm/i915/display: Re-add check for low voltage sku for max dp source rate") if you want to give it a go right now.
wow it works! I will try to prepare AUR package for fellow Arch Linux users. Thanks a lot! Let's wait until this gets fixed permanently in upstream. Thanks!
On the Legion 7i 16ITHg6, I'm limited to 60 Hz. The display is capable of 165 Hz (which works under Windows). No other refresh rates are available in the KDE Display settings (I haven't tried xrandr yet).
They've literally found an issue and now it's silence. Any patch or workaround would be sufficient to me. I can maintain my own kernel but I am not good at programming low level kernel drivers...
@erikmnkl I believe I have the same issue, also running on Arch. Where my display is supposed to have up to 165Hz but only 40Hz is available. As a work-around, I found that the LTS kernel doesn't have the issue.
Could you check if that work-around is good for you as well?
in linux-lts kernel I see options (60, 144, 240hz and so on) but setting to any of them does not change refresh rate at all. always seeing 60hz no matter what setting I pick.
@erikmnkl I have similar issue in asus tuf f15 2022.
I can run it on 300hz on wayland if i made mux switch to dedicated in windows and use novueau drivers on linux maybe you can try that, but the rendering is done by iGPU still.
If i use nvidia-driver(mux-dedicated) display goes blank after grub menu.
On mux switch to default in windows, i boot into linux with nvidia-drivers but it is cap at 60hz.