Created attachment 140380 [details]
xrandr fails to set the mode correctly, but claims it is in 48 Hz mode
Telling xrandr to switch to 48 Hz mode with `xrandr --rate 48` makes the screen go black for a moment, and xrandr says it is now running at 48 Hz, but applications which wait for vsync still swap roughly 60 times per second.
The display is connected to eDP.
$ uname -r
$ uname -m
See the attachment for a log of me running xrandr to show the current state, then switching the output refresh rate, then running xrandr to show it again, and then running glxgears to show that it's still swapping at roughly 60 Hz.
Created attachment 140381 [details]
dmesg output from boot with the usual debug options
Should hopefully get rid of the 48hz mode from the list. One day we may add back the support for alternate refresh rates, but in the meantime not saying anything seems better than lying.
Reporter can you check branch Ville sent?
I can confirm that with Ville Syrjala's branch, the 48 Hz mode is no longer shown in xrandr, and can no longer be selected with xrandr --rate 48.
ok, Ville, what are next steps?
Just going through some bugs, I wonder if this is relevant:
Author: Jani Nikula <firstname.lastname@example.org>
Date: Wed May 16 11:01:10 2018 +0300
Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available."
Nicolas, can you reproduce on v4.18 or later? (I see that you tested on v4.18-rc-something, but I mean the final release.)
I can still reproduce this on 4.18.14.
(In reply to Jani Nikula from comment #6)
> Just going through some bugs, I wonder if this is relevant:
> commit d93fa1b47b8fcd149b5091f18385304f402a8e15
> Author: Jani Nikula <email@example.com>
> Date: Wed May 16 11:01:10 2018 +0300
> Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available."
> Nicolas, can you reproduce on v4.18 or later? (I see that you tested on
> v4.18-rc-something, but I mean the final release.)
(In reply to Nicolas Frattaroli from comment #7)
> I can still reproduce this on 4.18.14.
@Jani, how to proceed further?
I was able to reproduce the bug.
5.3.0-rc5+ #9 SMP Fri Aug 30 10:45:22 IST 2019 x86_64 x86_64 x86_64 GNU/Linux
I am using edp panel which supports two modes 48hz and 60hz.
The command xrandr --rate 48 successfully ran but still the refresh rate was 60hz,but after running this command i915_display_info shows the mode as "".
Then i tried with igt test *testdisplay,*This test traverses through all support modes and sets the mode,i gave a delay of 10 seconds so i could ssh on to the system and check i915_display_info.
I found that both mode were successfully set and we can see it in the attached files 48hz and 60hz and also the dmesg log.
sudo ./tests/testdisplay -s 10
So i think the problem is with xrandr implementation
Created attachment 145340 [details]
i915_display_info showing mode successfully set to 48hz
Created attachment 145341 [details]
i915_display_info showing mode successfully set to 60hz
Created attachment 145342 [details]
dmesg after running testdisplay.
Yeah, eDP refresh rate switching is still a lie. We just keep using the fixed mode regardless. My patches to reject other refresh rates got stuck in a dark bikeshed.