Bug 413171 - 5.17 lost ability to have (detect?) automatic refresh rate on monitors
Summary: 5.17 lost ability to have (detect?) automatic refresh rate on monitors
Status: RESOLVED WORKSFORME
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_kscreen (show other bugs)
Version: 5.14.3
Platform: Manjaro Linux
: NOR normal
Target Milestone: ---
Assignee: kscreen-bugs-null@kde.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-10-19 07:00 UTC by Michał Dybczak
Modified: 2021-01-21 16:07 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Screen settings - lack of refresh rates on the list (447.44 KB, image/png)
2019-10-19 07:00 UTC, Michał Dybczak
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michał Dybczak 2019-10-19 07:00:00 UTC
Created attachment 123333 [details]
Screen settings - lack of refresh rates on the list

SUMMARY

Before Plasma 5.17 the secondary monitor was automatically given AUTOMATIC refresh rate and if my memory is not mistaken, it had more refresh rates on the list, including fractional ones. Somehow Plasma was able to detect refresh rates for a given resolution and provide it so I could set it to 1920x1080.

The secondary monitor is DELL P2017H (HDMI-1-3).

Unfortunately, after the update, AUTOMATIC refresh rate option is simply gone from the menu and the system sets it to hardcoded 60Hz. The issue is, the secondary monitor can have 60Hz only with 1600x900, when set to 1920x1080 before it defaulted to 59,6 or something like that and all was working well. Now, when Plasma tries to force 60Hz the secondary monitor shows the error that "1920x1080, 60Hz is not supported".

In the effect, before Plasma 5.17 I could set both monitors for 1920x1080, now I can't and the secondary one must be 1600x900 which looks weird and is unpleasant to work with. It's all because there is no flexible AUTOMATIC setting that would just choose refresh rate that monitor is capable of. Having it forced to 60Hz simply blocks most of the resolutions available on the monitor because those are usually not full 60Hz but have some fractional value.

The real issue here is probably lack of detection for fractional refresh rates so the system sees the only a rounded option that is 60Hz and that supports only very few screen resolutions.

I remember that before the update I had Automatic on the top of the list and then 60Hz and then 59, something (many choices for various fractional refresh rates). When I set the fractional one instead of Automatic, the secondary monitor worked well with 1920x1080 too. Now I don't have any choice but the 60Hz.


Operating System: Manjaro Linux 
KDE Plasma Version: 5.17.0
KDE Frameworks Version: 5.63.0
Qt Version: 5.13.1
Kernel Version: 5.3.6-1-MANJARO
OS Type: 64-bit
Processors: 8 × Intel® Core™ i7-6700HQ CPU @ 2.60GHz
Memory: 7,6 GiB

Multiple monitor setup is plagued by a MULTITUDE of BUGS that is not a topic of this report, however, this issue hits the nail into the coffin so to speak. At the moment Plasma 5.17 is hardly usable with multi-monitors. It crashes plasmashell, doesn't remember settings, changes settings, is inconsistent in behavior, is unpredictable and weird and now it doesn't even let me choose the desired screen resolution because of this refresh rate bug. This is bad.

Note, I tested it on Intel GPU with Modesetting drivers and on Nvidia GPU with proprietary drivers. The same issue with refresh rate and thus with screen resolution.

I'm sending a screenshot.
Comment 1 Roman Gilg 2019-10-20 17:03:15 UTC
Check xrandr -q to see what refresh rates are actually supported by your monitor.

The DELL P2017H is the one you have the problem, right?
Comment 2 Michał Dybczak 2019-10-20 19:38:22 UTC
On the frequency list in Plasma settings, I see only 60Hz now for this monitor. Before I had more options, plus Automatic.

Here are supported frequencies with resolutions:


1600x900      60.00*+  59.95    59.82  
   1920x1080     59.96    60.00    50.00    59.94    59.93  
   1920x1080i    60.00    50.00    59.94  
   1680x1050     59.95    59.88  
   1400x1050     74.76    59.98  
   1280x1024     75.02    60.02  
   1400x900      59.96    59.88  
   1280x960      60.00  
   1440x810      59.97  
   1368x768      59.88    59.85  
   1280x800      59.99    59.97    59.81    59.91  
   1152x864      75.00  
   1280x720      60.00    59.99    59.86    60.00    50.00    59.94    59.74  
   1024x768      75.05    60.04    75.03    70.07    60.00  
   960x720       75.00    60.00  
   928x696       75.00    60.05  
   896x672       75.05    60.01  
   1024x576      59.95    59.96    59.90    59.82  
   960x600       59.93    60.00  
   832x624       74.55  
   960x540       59.96    59.99    59.63    59.82  
   800x600       75.00    70.00    65.00    60.00    72.19    75.00    60.32    56.25  
   840x525       60.01    59.88  
   864x486       59.92    59.57  
   720x576       50.00  
   700x525       74.76    59.98  
   800x450       59.95    59.82  
   720x480       60.00    59.94  
   640x512       75.02    60.02  
   700x450       59.96    59.88  
   640x480       60.00    75.00    72.81    75.00    60.00    59.94  
   720x405       59.51    58.99  
   720x400       70.08  
   684x384       59.88    59.85  
   640x400       59.88    59.98  
   576x432       75.00  
   640x360       59.86    59.83    59.84    59.32  
   512x384       75.03    70.07    60.00  
   512x288       60.00    59.92  
   416x312       74.66  
   480x270       59.63    59.82  
   400x300       72.19    75.12    60.32    56.34  
   432x243       59.92    59.57  
   320x240       72.81    75.00    60.05  
   360x202       59.51    59.13  
   320x180       59.84    59.32
Comment 3 Roman Gilg 2019-10-20 22:06:40 UTC
According to this list the 1920x1080 resolution does support 60Hz. So I'm not sure why it's a problem.

The recommended mode (indicated by the +) is for some reason 1600x900 60Hz.

Please try the following command:
xrandr --output <name of your output, it's above the list you posted> --mode "1920x1080" -r 60.00
and post your xrandr output again.

In general what I want is:
* Hide all the fractional Hz in the UI and show only an integer one
* But use in the backend a fractional one in case no integer one is available
Comment 4 Christoph Feck 2019-10-21 06:44:53 UTC
> Hide all the fractional Hz in the UI and show only an integer one

I frequently switch between 30 Hz and 29.97 Hz, depending on the video's content.
Comment 5 Roman Gilg 2019-10-21 07:24:31 UTC
(In reply to Christoph Feck from comment #4)
> > Hide all the fractional Hz in the UI and show only an integer one
> 
> I frequently switch between 30 Hz and 29.97 Hz, depending on the video's
> content.

Please link to some resource explaining how this makes a difference.
Comment 6 Kai Uwe Broulik 2019-10-21 07:33:34 UTC
If you watch a video playing at 29.97 Hz which is the NTSC refresh rate, it would occasionally have to double frames if you play it at 30 Hz. Simple as that.
Comment 7 Roman Gilg 2019-10-21 09:31:38 UTC
Ok, I see. The official NTSC refresh rate is for some reason 29.97 instead of 30.

I feel like this is something that should be not exposed to the user in KScreen KCM. On the other side most users won't change it at all anyway. So some dumbed down automatic selection plus the full selection drop down would make sense.

Anyways that's unrelated to the issue here and should become a separate wishlist item.
Comment 8 Michał Dybczak 2019-11-03 08:52:00 UTC
I established with Roman Gilg that this issue is a mix of few things:

- my secondary monitor doesn't communicate the frequencies and refreshes rates correctly (or it is some xrandr bug that doesn't read that info correctly?), because there are options showed on the xrandr list but when chosen, the monitor doesn't accept them - not a Plasma problem
- since Plasma hides fractional frequencies and shows only the most popular popular and rounded numbers on purpose, causes some options not to work correctly when the above problem appears as well, so in the end I get with almost no options or not working options or options that are working but I don't want them, the only workaround for it is to set the monitors directly via xrandr in the terminal, GUI is too simplistic currently - this is somewhat a Plasma issue, maybe adding ADVANCED mode where fractional frequencies were shown, we could experiment and choose correct settings?
- some options should be shown but aren't - Plasma issue

Since this was tested a few weeks ago when I and Roman Gilg looked at it, I might have confused some things, so Roman, can you look over it, correct my conclusions or add something?

I feel like there has to be some decision about it but first we need to make things clear. Otherwise this bug will be hanging here indefenitelly.

So although GUI is working as it supposes to, it can't handle correctly some cases and that is the Plasma issue at hand. The goal as I understand it is to have a capable GUI that allows us to avoid terminal fiddling for some relatively basic things like setting correct multi-monitor setup.
Comment 9 Michał Dybczak 2019-11-03 08:56:47 UTC
Ah, I recalled one more thing that was also an issue:

- Plasma was showing that the chosen frequency was 60Hz although in xrandr it was 59.96 Hz - which my monitor didn't accept (although it should as xrandr list showed). The 60Hz was set on the GUI end and 59.96 Hz was used so there is some communication problem between GUI and xrandr? - this is a Plasma problem.
Comment 10 Michał Dybczak 2021-01-21 16:07:45 UTC
I was able to fix my issue with xandr with a help of Roman Gilg a year ago (thanks Roman!). The lack of fractional scaling is by design. I would prefer to have all detected refresh rates but oh, well, I can live with what I have.
Anyway, I'm closing this case.