| Summary: | When logging into a Wayland session after having previously used the X11 session, all outputs have their scales reset to 100% | ||
|---|---|---|---|
| Product: | [Plasma] KScreen | Reporter: | Nate Graham <nate> |
| Component: | common | Assignee: | kscreen-bugs-null <kscreen-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | alex765, anonymx, bizyaev, bshah, dashonwwIII, david, dion, frederic.parrenin, germano.massullo, kde, liubomirwm, me, me, miranda, mkleinsoft, nicolas.fella, plasma-bugs-null, postix, qydwhotmail |
| Priority: | NOR | Keywords: | wayland-only |
| Version First Reported In: | 5.25.4 | ||
| Target Milestone: | 1.0 | ||
| Platform: | Other | ||
| OS: | Linux | ||
| See Also: |
https://bugs.kde.org/show_bug.cgi?id=432099 https://bugs.kde.org/show_bug.cgi?id=429236 https://bugs.kde.org/show_bug.cgi?id=424615 |
||
| Latest Commit: | Version Fixed/Implemented In: | 6.0 | |
| Sentry Crash Report: | |||
|
Description
Nate Graham
2021-02-23 04:33:43 UTC
Please include output of "qtdiag" in this setup While on X11, or Wayland, or both? Reproduced, got some steps: One needs to: - set the value in wayland - go back to X11 (which can then be left alone) - go back to wayland qtdiag shows kwin thinks it's in 1x mode Cause is somewhat obvious, finding a solution is not. kscreen uses the same IDs for outputs on both X11 and wayland When you log into X, due to the way kscreen is designed it updates that configuration - per screen scales aren't supported so it sets it to one. Why does the kcm work? Because kscreen has a "control" folder, which is not updated. The KCM reads from this. I believe it is "technically correct" insofar as it's doing what it's told to be doing, but I don't understand it. See https://phabricator.kde.org/D26481 on the unlikely chance that helps. *** Bug 436628 has been marked as a duplicate of this bug. *** *** Bug 437585 has been marked as a duplicate of this bug. *** *** Bug 439440 has been marked as a duplicate of this bug. *** *** Bug 442439 has been marked as a duplicate of this bug. *** I reported what I think is this issue to openSUSE some time ago: https://bugzilla.opensuse.org/show_bug.cgi?id=1186893 It's still reproducible on 5.22.5, even though openSUSE has changed how it handles Plasma sessions a bit since I originally reported it. This improved recently for me on current git master. Now apps use the scale factor properly after logging into a Wayland session after being in an X11 session, and Plasma kinda sort halfway does: everything has the right *physical* size on screen, but it's all blurry, as if run through XWayland. Restarting plasmashell with `plasmashell --replace` fixes this and then all Plasma UI elements are sharp too. This appears to be fully fixed now fixed in Plasma 5.24! This seems like it might have regressed for me, under openSUSE Tumbleweed 20220509 (Plasma 5.24.5, Frameworks 5.93.0). Switching from X11 (at 2× scale) → Wayland gives a 1× scale display (even with a reboot in between), but shows 200% in system settings. I have to switch to another scale, apply, and switch back to get 200% working again. (And some applications remain a bit 'blurry', not taking the new scale factor into account.) Can confirm, this is broken again. if I go to X11 and then back to Wayland. I wonder if it's related to Bug 449212 in any way. *** Bug 449321 has been marked as a duplicate of this bug. *** qtdiag output run from X11 session
$ qtdiag
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0
Qt 5.15.3 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 12.1.1 20220507 (Red Hat 12.1.1-1)) on "xcb"
OS: Fedora Linux 36 (KDE Plasma) [linux version 5.17.13-300.fc36.x86_64]
Architecture: x86_64; features: SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 AVX AVX2
Environment:
QT_AUTO_SCREEN_SCALE_FACTOR="0"
QT_IM_MODULE="xim"
QT_SCREEN_SCALE_FACTORS="eDP-1=2;DP-1=2;HDMI-1=2;DP-2=2;HDMI-2=2;DP-3=2;DP-1-0=2;DP-1-1=2;DP-1-2=2;HDMI-1-0=2;DP-1-3=2;"
Features: QT_NO_EXCEPTIONS
Library info:
PrefixPath: /usr
DocumentationPath: /usr/share/doc/qt5
HeadersPath: /usr/include/qt5
LibrariesPath: /usr/lib64
LibraryExecutablesPath: /usr/lib64/qt5/libexec
BinariesPath: /usr/lib64/qt5/bin
PluginsPath: /usr/lib64/qt5/plugins
ImportsPath: /usr/lib64/qt5/imports
Qml2ImportsPath: /usr/lib64/qt5/qml
ArchDataPath: /usr/lib64/qt5
DataPath: /usr/share/qt5
TranslationsPath: /usr/share/qt5/translations
ExamplesPath: /usr/lib64/qt5/examples
TestsPath: /usr/tests
SettingsPath: /etc/xdg
Standard paths [*...* denote writable entry]:
DesktopLocation: "Desktop" */home/caterpillar/Scrivania*
DocumentsLocation: "Documents" */home/caterpillar/Documenti*
FontsLocation: "Fonts" */home/caterpillar/.local/share/fonts* /home/caterpillar/.fonts /home/caterpillar/.local/share/flatpak/exports/share/fonts /var/lib/flatpak/exports/share/fonts /usr/local/share/fonts /usr/share/fonts
ApplicationsLocation: "Applications" */home/caterpillar/.local/share/applications* /home/caterpillar/.local/share/flatpak/exports/share/applications /var/lib/flatpak/exports/share/applications /usr/local/share/applications /usr/share/applications
MusicLocation: "Music" */home/caterpillar/Musica*
MoviesLocation: "Movies" */home/caterpillar/Video*
PicturesLocation: "Pictures" */home/caterpillar/Immagini*
TempLocation: "Temporary Directory" */tmp*
HomeLocation: "Home" */home/caterpillar*
AppLocalDataLocation: "Application Data" */home/caterpillar/.local/share/QtProject/qtdiag* /home/caterpillar/.local/share/flatpak/exports/share/QtProject/qtdiag /var/lib/flatpak/exports/share/QtProject/qtdiag /usr/local/share/QtProject/qtdiag /usr/share/QtProject/qtdiag
CacheLocation: "Cache" */home/caterpillar/.cache/QtProject/qtdiag*
GenericDataLocation: "Shared Data" */home/caterpillar/.local/share* /home/caterpillar/.local/share/flatpak/exports/share /var/lib/flatpak/exports/share /usr/local/share /usr/share
RuntimeLocation: "Runtime" */run/user/1000*
ConfigLocation: "Configuration" */home/caterpillar/.config* /home/caterpillar/.config/kdedefaults /etc/xdg /usr/share/kde-settings/kde-profile/default/xdg
DownloadLocation: "Download" */home/caterpillar/Scaricati*
GenericCacheLocation: "Shared Cache" */home/caterpillar/.cache*
GenericConfigLocation: "Shared Configuration" */home/caterpillar/.config* /home/caterpillar/.config/kdedefaults /etc/xdg /usr/share/kde-settings/kde-profile/default/xdg
AppDataLocation: "Application Data" */home/caterpillar/.local/share/QtProject/qtdiag* /home/caterpillar/.local/share/flatpak/exports/share/QtProject/qtdiag /var/lib/flatpak/exports/share/QtProject/qtdiag /usr/local/share/QtProject/qtdiag /usr/share/QtProject/qtdiag
AppConfigLocation: "Application Configuration" */home/caterpillar/.config/QtProject/qtdiag* /home/caterpillar/.config/kdedefaults/QtProject/qtdiag /etc/xdg/QtProject/qtdiag /usr/share/kde-settings/kde-profile/default/xdg/QtProject/qtdiag
File selectors (increasing order of precedence):
it_IT unix linux fedora
Network:
Using "OpenSSL 3.0.3 3 May 2022", version: 0x30000030
Platform capabilities: ThreadedPixmaps OpenGL ThreadedOpenGL WindowMasks MultipleWindows ForeignWindows NonFullScreenWindows NativeWidgets WindowManagement SyncState RasterGLSurface SwitchableWidgetComposition
Style hints:
mouseDoubleClickInterval: 400
mousePressAndHoldInterval: 800
startDragDistance: 10
startDragTime: 500
startDragVelocity: 0
keyboardInputInterval: 400
keyboardAutoRepeatRate: 30
cursorFlashTime: 1000
showIsFullScreen: 0
showIsMaximized: 0
passwordMaskDelay: 0
passwordMaskCharacter: U+25CF
fontSmoothingGamma: 1.7
useRtlExtensions: 0
setFocusOnTouchRelease: 0
tabFocusBehavior: Qt::TabFocusAllControls
singleClickActivation: 0
Additional style hints (QPlatformIntegration):
ReplayMousePressOutsidePopup: 0
Theme:
Platforms requested : kde,generic
available : kde,gtk3,snap,flatpak,xdgdesktopportal
Styles requested : Breeze,breeze,oxygen,fusion,windows
available : Breeze,Windows,Fusion
Icon theme : breeze, hicolor from /home/caterpillar/.local/share/icons,/usr/share/icons
System font : "Noto Sans" 10
Fonts:
General font : "Noto Sans" 10
Fixed font : "Noto Sans Mono" 10
Title font : "Noto Sans" 10
Smallest font: "Noto Sans" 8
Palette:
QPalette::WindowText: #ff232629
QPalette::Button: #fffcfcfc
QPalette::Light: #ffffffff
QPalette::Midlight: #fff9fafa
QPalette::Dark: #ff71757a
QPalette::Mid: #ffbdc1c6
QPalette::Text: #ff232629
QPalette::BrightText: #ffffffff
QPalette::ButtonText: #ff232629
QPalette::Base: #ffffffff
QPalette::Window: #ffeff0f1
QPalette::Shadow: #ff3b3d3f
QPalette::Highlight: #ff3daee9
QPalette::HighlightedText: #ffffffff
QPalette::Link: #ff2980b9
QPalette::LinkVisited: #ff9b59b6
QPalette::AlternateBase: #fff7f7f7
QPalette::NoRole: #ff000000
QPalette::ToolTipBase: #fff7f7f7
QPalette::ToolTipText: #ff232629
QPalette::PlaceholderText: #80232629
Screens: 1, High DPI scaling: active
# 0 "eDP-1" Depth: 24 Primary: yes
Manufacturer: California Institute of Technology
Model:
Serial number:
Geometry: 1920x1080+0+0 (native: 3840x2160+0+0) Available: 1920x1039+0+0
Physical size: 344x194 mm Refresh: 60 Hz Power state: 0
Physical DPI: 141.767,141.402 Logical DPI: 96,96 (native: 192,192) Subpixel_None
High DPI scaling factor: 2 DevicePixelRatio: 2 Pixel density: 1
Primary orientation: 2 Orientation: 2 Native orientation: 0 OrientationUpdateMask: 0
LibGL Vendor: Intel
Renderer: Mesa Intel(R) UHD Graphics (CML GT2)
Version: 4.6 (Compatibility Profile) Mesa 22.1.1
Shading language: 4.60
Format: Version: 4.6 Profile: 2 Swap behavior: 0 Buffer size (RGB): 8,8,8
Profile: None (QOpenGLFunctions_4_6)
Vulkan instance available
Supported instance extensions:
VK_KHR_device_group_creation, version 1
VK_KHR_display, version 23
VK_KHR_external_fence_capabilities, version 1
VK_KHR_external_memory_capabilities, version 1
VK_KHR_external_semaphore_capabilities, version 1
VK_KHR_get_display_properties2, version 1
VK_KHR_get_physical_device_properties2, version 2
VK_KHR_get_surface_capabilities2, version 1
VK_KHR_surface, version 25
VK_KHR_surface_protected_capabilities, version 1
VK_KHR_wayland_surface, version 6
VK_KHR_xcb_surface, version 6
VK_KHR_xlib_surface, version 6
VK_EXT_acquire_drm_display, version 1
VK_EXT_acquire_xlib_display, version 1
VK_EXT_debug_report, version 10
VK_EXT_direct_mode_display, version 1
VK_EXT_display_surface_counter, version 1
VK_EXT_debug_utils, version 2
Supported layers:
VK_LAYER_VALVE_steam_overlay_32, version 1, spec version 1.2.136, Steam Overlay Layer
VK_LAYER_VALVE_steam_overlay_64, version 1, spec version 1.2.136, Steam Overlay Layer
VK_LAYER_VALVE_steam_fossilize_64, version 1, spec version 1.2.136, Steam Pipeline Caching Layer
VK_LAYER_VALVE_steam_fossilize_32, version 1, spec version 1.2.136, Steam Pipeline Caching Layer
VK_LAYER_NV_optimus, version 1, spec version 1.3.194, NVIDIA Optimus layer
VK_LAYER_MESA_device_select, version 1, spec version 1.3.211, Linux device selection layer
Available physical devices:
API version 1.3.211, vendor 0x8086, device 0x9BC4, Intel(R) UHD Graphics (CML GT2), type 1, driver version 22.1.1 API version 1.3.211, vendor 0x10005, device 0x0, llvmpipe (LLVM 14.0.0, 256 bits), type 4, driver version 0.0.1 API version 1.3.194, vendor 0x10DE, device 0x1E93, NVIDIA GeForce RTX 2080 Super with Max-Q Design, type 2, driver version 510.272.128
Qt Rendering Hardware Interface supported backends:
OpenGL (with default QSurfaceFormat):
Min Texture Size: 1
Max Texture Size: 16384
Max Color Attachments: 8
Frames in Flight: 1
Uniform Buffer Alignment: 1
Supported MSAA sample counts: 1,2,4,8,16
Features:
- MultisampleTexture
v MultisampleRenderBuffer
- DebugMarkers
- Timestamps
v Instancing
- CustomInstanceStepRate
v PrimitiveRestart
v NonDynamicUniformBuffers
v NonFourAlignedEffectiveIndexBufferOffset
v NPOTTextureRepeat
- RedOrAlpha8IsRed
v ElementIndexUint
v Compute
v WideLines
v VertexShaderPointSize
v BaseVertex
- BaseInstance
v TriangleFanTopology
v ReadBackNonUniformBuffer
v ReadBackNonBaseMipLevel
Texture formats: RGBA8 BGRA8 R8 R16 RED_OR_ALPHA8 RGBA16F RGBA32F R16F R32F D16 D32F BC1 BC2 BC3 ETC2_RGB8 ETC2_RGB8A1 ETC2_RGBA8
Vulkan:
Min Texture Size: 1
Max Texture Size: 16384
Max Color Attachments: 8
Frames in Flight: 2
Uniform Buffer Alignment: 64
Supported MSAA sample counts: 1,2,4,8,16
Features:
v MultisampleTexture
v MultisampleRenderBuffer
- DebugMarkers
v Timestamps
v Instancing
- CustomInstanceStepRate
v PrimitiveRestart
v NonDynamicUniformBuffers
v NonFourAlignedEffectiveIndexBufferOffset
v NPOTTextureRepeat
v RedOrAlpha8IsRed
v ElementIndexUint
v Compute
v WideLines
v VertexShaderPointSize
v BaseVertex
v BaseInstance
v TriangleFanTopology
v ReadBackNonUniformBuffer
v ReadBackNonBaseMipLevel
Texture formats: RGBA8 BGRA8 R8 R16 RED_OR_ALPHA8 RGBA16F RGBA32F R16F R32F D16 D32F BC1 BC2 BC3 BC4 BC5 BC6H BC7 ETC2_RGB8 ETC2_RGB8A1 ETC2_RGBA8 ASTC_4x4 ASTC_5x4 ASTC_5x5 ASTC_6x5 ASTC_6x6 ASTC_8x5 ASTC_8x6 ASTC_8x8 ASTC_10x5 ASTC_10x6 ASTC_10x8 ASTC_10x10 ASTC_12x10 ASTC_12x12
*** Bug 458171 has been marked as a duplicate of this bug. *** *** Bug 432724 has been marked as a duplicate of this bug. *** Still an issue after the big multi-monitor re-work in Plasma 5.27. Probably what we should do is have the global scale not be written into output configs on X11, so that it when it's written there on Wayland, it survives moving between session types. Can confirm this is fixed now in Plasma 6.0! https://invent.kde.org/plasma/kwin/-/merge_requests/5637 > The existing code overwrites all per-output data with the config from KScreen every time an output config is found that isn't in the KWin data base yet > That causes problems like the scale being reset to 1.0 if the user logged into Xorg before Sounds like there's still a chance that it could go wrong, but soon no more? ;) |