Bug 476931 - Screen rotation rendering quality regression
Summary: Screen rotation rendering quality regression
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: compositing (show other bugs)
Version: 5.27.80
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: qt6
Depends on:
Blocks:
 
Reported: 2023-11-13 11:09 UTC by Jens Ramke
Modified: 2023-11-13 13:55 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
OBS recording in full resolution (2.08 MB, video/mp4)
2023-11-13 11:09 UTC, Jens Ramke
Details
drm_info (115.89 KB, text/plain)
2023-11-13 11:15 UTC, Jens Ramke
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jens Ramke 2023-11-13 11:09:44 UTC
Created attachment 163113 [details]
OBS recording in full resolution

SUMMARY
Since version 5.27.80, 90° screen rotation with nvidia GPU leads to distorted text and cursor rendering.
180° rotation is not affected.

STEPS TO REPRODUCE
1. Install 5.27.80 alpha on system with nvidia GPU
2. Rotate screen 90° left or right

OBSERVED RESULT
Screen content, especially fonts and cursors are rendered in lower resolution. Straight, angled lines are visibly jagged with crawling pixels when moving.

EXPECTED RESULT
Rotated screen content is rendered in full resolution like in previous versions (5.27).

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 5.27.80
KDE Frameworks Version: 5.245.0
Qt Version: 6.6.0
Kernel Version: 6.5.11-zen2-xanmod1-1 (64-bit)
Graphics Platform: Wayland
Processors: 24 × AMD Ryzen 9 3900X 12-Core Processor
Memory: 62.7 GiB of RAM
Graphics Processor: NVIDIA GeForce RTX 4090/PCIe/SSE2
Graphics driver: nvidia-beta-dkms 545.29.02-1
Manufacturer: Micro-Star International Co., Ltd.
Product Name: MS-7B89
System Version: 1.0

ADDITIONAL INFORMATION
Comment 1 Jens Ramke 2023-11-13 11:12:45 UTC
kscreen-doctor output:
Output: 1 DP-1 enabled connected priority 2 DisplayPort Modes: 0:2560x1440@60*! 1:2048x1080@60 2:2048x1080@24 3:1920x1080@60 4:1920x1080@60 5:1920x1080@50 6:1600x1200@60 7:1280x1024@75 8:1280x1024@60 9:1152x864@75 10:1280x720@60 11:1280x720@60 12:1280x720@50 13:1024x768@75 14:1024x768@60 15:800x600@75 16:800x600@60 17:720x576@50 18:720x480@60 19:640x480@75 20:640x480@60 21:640x480@60 Geometry: 0,0 1440x2560 Scale: 1 Rotation: 2 Overscan: 0 Vrr: incapable RgbRange: unknown HDR: incapable Wide Color Gamut: incapable ICC profile:
Comment 2 Jens Ramke 2023-11-13 11:15:05 UTC
Created attachment 163114 [details]
drm_info
Comment 3 Jens Ramke 2023-11-13 11:18:12 UTC
Is it maybe still using the original vertical resolution of 1440 pixels instead of 2560 (rotated)?
Comment 4 Bug Janitor Service 2023-11-13 13:38:21 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/4631
Comment 5 Vlad Zahorodnii 2023-11-13 13:55:22 UTC
Git commit 93443a8228c429a0978dabb2928b221b62150807 by Vlad Zahorodnii, on behalf of Xaver Hugl.
Committed on 13/11/2023 at 14:44.
Pushed by zamundaaa into branch 'master'.

backends/drm: set the correct content transform for shadow buffer

M  +1    -0    src/backends/drm/drm_egl_layer_surface.cpp

https://invent.kde.org/plasma/kwin/-/commit/93443a8228c429a0978dabb2928b221b62150807