Bug 480291 - Resolution of screen is incorrect
Summary: Resolution of screen is incorrect
Status: ASSIGNED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_wallpaper (show other bugs)
Version: 5.92.0
Platform: Other Linux
: NOR minor
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: qt6
Depends on:
Blocks:
 
Reported: 2024-01-25 00:50 UTC by Justin Zobel
Modified: 2024-01-30 21:00 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
attachment-2637097-0.html (1.34 KB, text/html)
2024-01-26 01:09 UTC, Justin Zobel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Justin Zobel 2024-01-25 00:50:10 UTC
I have three displays

Left to right
14" 1080p laptop screen
27" 1440p monitor
27" 1440p monitor

In Display Settings they are shown correctly

In Wallpaper KCM the inbuilt laptop screen is shown as 1536x864 resolution.

kscreen-doctor -o
Output: 1 eDP-1
        enabled
        connected
        priority 2
        Panel
        Modes:  0:1920x1080@60*!  1:1680x1050@60  2:1280x1024@60  3:1440x900@60  4:1280x800@60  5:1280x720@60  6:1024x768@60  7:800x600@60  8:640x480@60  9:1280x1024@60  10:1024x768@60  11:1280x800@60  12:1920x1080@60  13:1600x900@60  14:1368x768@60  15:1280x720@60 
        Geometry: 0,576 1536x864
        Scale: 1.25
        Rotation: 1
        Overscan: 0
        Vrr: incapable
        RgbRange: unknown
        HDR: incapable
        Wide Color Gamut: incapable
        ICC profile: none
Output: 2 DP-3
        enabled
        connected
        priority 1
        DisplayPort
        Modes:  0:2560x1440@60!  1:2560x1440@144*  2:2560x1440@120  3:2560x1440@100  4:1920x1080@120  5:1920x1080@120  6:1920x1080@60  7:1920x1080@60  8:1920x1080@60  9:1920x1080@50  10:1280x1440@60  11:1280x1024@75  12:1280x1024@60  13:1280x720@60  14:1280x720@60  15:1280x720@50  16:1024x768@120  17:1024x768@100  18:1024x768@75  19:1024x768@70  20:1024x768@60  21:832x624@75  22:800x600@120  23:800x600@100  24:800x600@75  25:800x600@72  26:800x600@60  27:800x600@56  28:720x576@50  29:720x576@50  30:720x480@60  31:720x480@60  32:720x480@60  33:720x480@60  34:640x480@120  35:640x480@100  36:640x480@75  37:640x480@73  38:640x480@67  39:640x480@60  40:640x480@60  41:640x480@60  42:720x400@70  43:1600x1200@60  44:1280x1024@60  45:1024x768@60  46:1920x1200@60  47:1280x800@60  48:2560x1440@60  49:1920x1080@60  50:1600x900@60  51:1368x768@60  52:1280x720@60 
        Geometry: 1536,0 2560x1440
        Scale: 1
        Rotation: 1
        Overscan: 0
        Vrr: incapable
        RgbRange: unknown
        HDR: incapable
        Wide Color Gamut: incapable
        ICC profile: none
Output: 3 DP-6
        enabled
        connected
        priority 3
        DisplayPort
        Modes:  0:2560x1440@60*!  1:2560x1440@144  2:2560x1440@120  3:2560x1440@100  4:1920x1080@120  5:1920x1080@120  6:1920x1080@60  7:1920x1080@60  8:1920x1080@60  9:1920x1080@50  10:1280x1440@60  11:1280x1024@75  12:1280x1024@60  13:1440x900@60  14:1280x720@60  15:1280x720@60  16:1280x720@50  17:1024x768@120  18:1024x768@100  19:1024x768@75  20:1024x768@70  21:1024x768@60  22:832x624@75  23:800x600@120  24:800x600@100  25:800x600@75  26:800x600@72  27:800x600@60  28:800x600@56  29:720x576@50  30:720x576@50  31:720x480@60  32:720x480@60  33:720x480@60  34:720x480@60  35:640x480@120  36:640x480@100  37:640x480@75  38:640x480@73  39:640x480@67  40:640x480@60  41:640x480@60  42:640x480@60  43:720x400@70  44:1600x1200@60  45:1280x1024@60  46:1024x768@60  47:1920x1200@60  48:1280x800@60  49:2560x1440@60  50:1920x1080@60  51:1600x900@60  52:1368x768@60  53:1280x720@60 
        Geometry: 4096,0 2560x1440
        Scale: 1
        Rotation: 1
        Overscan: 0
        Vrr: incapable
        RgbRange: unknown
        HDR: incapable
        Wide Color Gamut: incapable
        ICC profile: none

Operating System: Solus 4.5
KDE Plasma Version: 5.92.0
KDE Frameworks Version: 5.248.0
Qt Version: 6.6.1
Kernel Version: 6.6.12-271.current (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 PRO 4750U with Radeon Graphics
Memory: 29.1 GiB of RAM
Graphics Processor: AMD Radeon Graphics
Manufacturer: LENOVO
Product Name: 20Y1001SAU
System Version: ThinkPad P14s Gen 1
Comment 1 Nate Graham 2024-01-25 23:04:40 UTC
Is the laptop screen using 125% scaling?
Comment 2 Justin Zobel 2024-01-26 01:09:35 UTC
Created attachment 165225 [details]
attachment-2637097-0.html

Yes

On Fri, 26 Jan 2024, 9:34 am Nate Graham, <bugzilla_noreply@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=480291
>
> Nate Graham <nate@kde.org> changed:
>
>            What    |Removed                     |Added
>
> ----------------------------------------------------------------------------
>                  CC|                            |nate@kde.org
>          Resolution|---                         |WAITINGFORINFO
>              Status|REPORTED                    |NEEDSINFO
>
> --- Comment #1 from Nate Graham <nate@kde.org> ---
> Is the laptop screen using 125% scaling?
>
> --
> You are receiving this mail because:
> You reported the bug.
Comment 3 Nate Graham 2024-01-26 21:46:40 UTC
Can confirm. The issue is that it's dividing the resolution by the scale factor when it shouldn't (the KScreen KCM doesn't).
Comment 4 Nate Graham 2024-01-26 22:08:59 UTC
It looks like this data comes from QApplication::screens() which provides the per-screen pixel width and height in logical (aka scaled) pixels, not physical pixels. So we either need to use another data source to get the resolution, or else un-scale them by multiplying the numbers we have by the screen's scale factor. That could lead to loss of precision, though, so I think it's not preferred. I tried it anyway, and multiplying by QScreen::devicePixelRatio() doesn't work since that rounds to integers, so it gives incorrect results with fractional scale factors.
Comment 5 Joshua Goins 2024-01-30 16:40:11 UTC
The same bug happens in the tablet KCM, so it's definitely related to the QScreen API we're using. It doesn't affect the display kcm of course, because that's using KScreen.
Comment 6 David Edmundson 2024-01-30 17:35:13 UTC
As a fast fix I suggest dropping the label that shows the resolution
Comment 7 Joshua Goins 2024-01-30 20:11:55 UTC
(In reply to David Edmundson from comment #6)
> As a fast fix I suggest dropping the label that shows the resolution

Someone suggested the same thing and I'm considering that today. And if the maintainer definitely wants to keep it, that should be a good reason to go through the hoops for a larger fix.
Comment 8 Bug Janitor Service 2024-01-30 21:00:15 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/3841