Bug 423390 - Bottom Plasma panel and desktop are not fully adjacent to screen border (1 pixel on the right and bottom) when PLASMA_USE_QT_SCALING=1 is set on X11
Summary: Bottom Plasma panel and desktop are not fully adjacent to screen border (1 pi...
Status: CLOSED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: general (other bugs)
Version First Reported In: 5.18.5
Platform: unspecified Linux
: NOR normal
Target Milestone: 1.0
Assignee: veggero
URL:
Keywords: multiscreen, regression, usability, X11-only
: 428109 434315 463495 Sirno 493722 (view as bug list)
Depends on:
Blocks: 356446
  Show dependency treegraph
 
Reported: 2020-06-23 10:01 UTC by yourik
Modified: 2025-05-28 14:02 UTC (History)
13 users (show)

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


Attachments
This is a screenshot of the screen region containing the right-aligned panel. Please note the 1px margin on the right side that should not be there (45.50 KB, image/png)
2020-06-23 10:01 UTC, yourik
Details
Screenshot (29.63 KB, image/jpeg)
2020-06-23 18:43 UTC, Nate Graham
Details
1px bottom border blinking (561.54 KB, image/jpeg)
2025-05-28 09:29 UTC, boite.pour.spam
Details

Note You need to log in before you can comment on or make changes to this bug.
Description yourik 2020-06-23 10:01:10 UTC
Created attachment 129600 [details]
This is a screenshot of the screen region containing the right-aligned panel. Please note the 1px margin on the right side that should not be there

SUMMARY
The right aligned panel does not fully touch the right screen edge but there is actually a 1px line  between the panel and the screen edge, which lets the wallpaper shine through and also means a button positioned to the right-most on the panel is not clicked when clicking the lower right corner of the screen.

STEPS TO REPRODUCE
1. Start with a desktop with no panel on the bottom of the screen.
2. Add a panel to the bottom screen edge
3. Set the panel alignment to "right" with
   right click -> edit panel -> more settings
4. Pull the width to less than maximized, e.g. just half of the screen.
(5.) Choose a contrasting wallpaper image to make the result more visible.

OBSERVED RESULT
There is now a 1px line between the right-aligned panel and the right screen edge.

EXPECTED RESULT
The panel should be fully adjacent to the right screen edge without a border or margin inbetween.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Manjaro Linux KDE
(available in About System)
KDE Plasma Version: 5.18.5
KDE Frameworks Version: 5.70.1
Qt Version: 5.15.0

ADDITIONAL INFORMATION
I'm using Manjaro Linux with KDE plasma and have multiple panels on the bottom of the screen for a specific look and feel. One of the panels is center-aligned, one is left-aligned and another is right-aligned.
Comment 1 Nate Graham 2020-06-23 18:43:59 UTC
Created attachment 129610 [details]
Screenshot

I can confirm. In my case it's not just the panel, either; the entire desktop area is shifted by one pixel (or two pixels in my case with a 4k screen and 200%+ scale factor). You can see this easily by using a plain white background and dragging a window off-screen. See the attached screenshot.

This is quite annoying as it breaks Fitts' law for the bottom-right corner.

Before anyone asks, I don't have a right side Touch Screen Edge set (which would make this similar to or a duplicate of Bug 387775)
Comment 2 Nate Graham 2020-06-23 19:05:33 UTC
FWIW I also see this with the bottom screen edge, not just the right one.
Comment 3 Nate Graham 2021-03-17 22:50:11 UTC
*** Bug 434315 has been marked as a duplicate of this bug. ***
Comment 4 Nate Graham 2021-03-17 22:52:46 UTC
With the new margins feature in Plasma 5.21, this has changed slightly: task Manager applets on a bottom panel now respect Fitts' law for me, but not other applets. I feel like the bug is in the margin handling and click forwarding code.

Niccolò, since you're pretty familiar with this now, could you take a look?

Also bumping to HI since breaking Fitts' law always annoys users and generates duplicate bug reports.
Comment 5 Nate Graham 2021-07-26 21:08:54 UTC
This is caused by using Qt scaling on X11, which is not supported and is known to cause this kind of bug. Sooooo don't do it. :)

If you have PLASMA_USE_QT_SCALING=1 set in your environment, unsetting it should fix the problem.
Comment 6 Nate Graham 2021-07-28 17:06:24 UTC
Re-opening since the blocked bug is also re-opened and we may want to do it after all.

Could be similar to Bug 428895.
Comment 7 Nate Graham 2022-01-21 05:11:31 UTC
The thing this is a blocker for (Bug 356446) is closed now, and doing this was never supported anyway.

Unfortunately I think we have to close this. Folks who want a decent hidpi experience will have to use Wayland and look forward to upcoming changes to improve the experience for XWayland apps in particular.

Sorry everyone. :(
Comment 8 Fushan Wen 2022-07-03 15:28:34 UTC
Can reproduce at 150% scale.
Comment 9 Fushan Wen 2022-07-03 15:31:35 UTC
*** Bug 428109 has been marked as a duplicate of this bug. ***
Comment 10 Grief 2022-11-05 11:24:05 UTC
(In reply to Nate Graham from comment #7)
> Unfortunately I think we have to close this. Folks who want a decent hidpi
> experience will have to use Wayland and look forward to upcoming changes to
> improve the experience for XWayland apps in particular.
> 
> Sorry everyone. :(

I doubt it's fair to recommend wayland when this page is not empty: https://community.kde.org/Plasma/Wayland_Showstoppers
Hidpi support under wayland is even worse than under x11.
Comment 11 veggero 2022-11-06 21:30:47 UTC
*** Bug 461473 has been marked as a duplicate of this bug. ***
Comment 12 veggero 2022-11-06 21:31:19 UTC
Re-opening as I can reproduce on Wayland too and assigning it to me
Comment 13 veggero 2022-11-06 21:53:16 UTC
Since this bug report ended up being modified to be about the bug "Bottom Plasma panel and desktop are not fully adjacent to screen border (1 pixel on the right and bottom) when PLASMA_USE_QT_SCALING=1 is set on X11", I'm closing this again to move the discussion to the new 461473 that has the correct title; yourik@live.de please refer to that bug instead of this one.
Comment 14 Nate Graham 2023-09-18 20:34:41 UTC
*** Bug 463495 has been marked as a duplicate of this bug. ***
Comment 15 Nate Graham 2024-03-08 21:17:14 UTC
Re-opening as the original issue is still happening, and becoming more common now since QT scaling is on by default for X11 in Plasma 6.
Comment 16 Nate Graham 2024-03-08 21:17:26 UTC
*** Bug 482683 has been marked as a duplicate of this bug. ***
Comment 17 Andrew Brouwers 2024-03-10 18:22:11 UTC
I see a similar issue, occasionally, on wayland + plasma 6.  I'm at 150% scaling, and this will happen sporadically.  Restarting the desktop fixes it, but it'll eventually come back (after some yet-to-be-determined action occurs).
Comment 18 Nate Graham 2024-03-10 19:18:45 UTC
This bug report is about X11; please open a new one to track the issue on Wayland.
Comment 19 Nate Graham 2024-10-03 21:43:16 UTC
*** Bug 493722 has been marked as a duplicate of this bug. ***
Comment 20 TraceyC 2025-02-24 17:58:38 UTC
Adding the x11-only keyword
Comment 21 Fushan Wen 2025-05-25 02:05:24 UTC
Cannot reproduce
Comment 22 boite.pour.spam 2025-05-28 09:29:47 UTC
Created attachment 181819 [details]
1px bottom border blinking

This is a picture of the screen with a 1px white line blinking at the bottom of the screen that's not rendered to by plasma
Comment 23 boite.pour.spam 2025-05-28 09:41:29 UTC
This still happens for me on Wayland. See attachment for the bottom, 1px white line that shouldn't be here. 
This is not a bug with  my screen or graphical driver, the white line is blinking (it appears and disappear once or twice a second, that's painful). 

If I switch console (Ctrl + Alt + 2), it doesn't appear on SDDM screen nor on framebuffer console.
It doesn't appear if I start something else than KDE (like gn.me). 

It doesn't appear straight from starting Plasma, I think it's black by default and some application will render to it and start make it blink. One application that does it almost 100% of the time is OnlyOffice, when set to fullscreen.

In my environment, I have:
QT_AUTO_SCREEN_SCALE_FACTOR="0"
I DON'T have: PLASMA_USE_QT_SCALING


My screen resolution is (for wayland) 3840x2400, the scale is set to 175%, old X11 applications are set to scale by themselves (checkbox in Display pane), and the last checkbox is set too (in French, "Cisaillement d'image").

interface: 'wl_compositor',                              version:  6, name:  1
interface: 'zwp_tablet_manager_v2',                      version:  1, name:  3
interface: 'zwp_keyboard_shortcuts_inhibit_manager_v1',  version:  1, name:  4
interface: 'zxdg_decoration_manager_v1',                 version:  1, name:  5
interface: 'wp_viewporter',                              version:  1, name:  6
interface: 'wp_security_context_manager_v1',             version:  1, name:  7
interface: 'wp_fractional_scale_manager_v1',             version:  1, name:  8
interface: 'wl_shm',                                     version:  1, name:  9
	formats (fourcc):
	0x34324752 = 'RG24'
	0x34324742 = 'BG24'
	0x38344258 = 'XB48'
	0x38344241 = 'AB48'
	0x30334258 = 'XB30'
	0x30334241 = 'AB30'
	0x30335258 = 'XR30'
	0x30335241 = 'AR30'
	         1 = 'XR24'
	         0 = 'AR24'
interface: 'wl_seat',                                    version:  9, name: 10
	name: seat0
	capabilities: pointer keyboard touch
	keyboard repeat rate: 25
	keyboard repeat delay: 600
interface: 'zwp_pointer_gestures_v1',                    version:  3, name: 11
interface: 'zwp_pointer_constraints_v1',                 version:  1, name: 12
interface: 'zwp_relative_pointer_manager_v1',            version:  1, name: 13
interface: 'wl_data_device_manager',                     version:  3, name: 14
interface: 'zwlr_data_control_manager_v1',               version:  2, name: 15
interface: 'wp_cursor_shape_manager_v1',                 version:  1, name: 16
interface: 'zwp_primary_selection_device_manager_v1',    version:  1, name: 17
interface: 'org_kde_kwin_idle',                          version:  1, name: 18
interface: 'zwp_idle_inhibit_manager_v1',                version:  1, name: 19
interface: 'ext_idle_notifier_v1',                       version:  1, name: 20
interface: 'org_kde_plasma_shell',                       version:  8, name: 21
interface: 'org_kde_kwin_appmenu_manager',               version:  2, name: 22
interface: 'org_kde_kwin_server_decoration_palette_manager', version:  1, name: 23
interface: 'org_kde_plasma_virtual_desktop_management',  version:  2, name: 25
interface: 'org_kde_kwin_shadow_manager',                version:  2, name: 27
interface: 'org_kde_kwin_dpms_manager',                  version:  1, name: 28
interface: 'org_kde_kwin_server_decoration_manager',     version:  1, name: 29
interface: 'kde_output_management_v2',                   version: 12, name: 30
interface: 'zxdg_output_manager_v1',                     version:  3, name: 31
	xdg_output_v1
		output: 59
		name: 'eDP-1'
		description: 'Sharp Corporation eDP-1-0x14D0'
		logical_x: 0, logical_y: 0
		logical_width: 2194, logical_height: 1371
interface: 'wl_subcompositor',                           version:  1, name: 32
interface: 'zxdg_exporter_v2',                           version:  1, name: 33
interface: 'zxdg_importer_v2',                           version:  1, name: 34
interface: 'xdg_activation_v1',                          version:  1, name: 37
interface: 'wp_content_type_manager_v1',                 version:  1, name: 39
interface: 'wp_tearing_control_manager_v1',              version:  1, name: 40
interface: 'xdg_toplevel_drag_manager_v1',               version:  1, name: 41
interface: 'xdg_toplevel_icon_manager_v1',               version:  1, name: 42
interface: 'kde_screen_edge_manager_v1',                 version:  1, name: 43
interface: 'frog_color_management_factory_v1',           version:  1, name: 44
interface: 'wp_presentation',                            version:  2, name: 45
	presentation clock id: 1 (CLOCK_MONOTONIC)
interface: 'wp_color_manager_v1',                        version:  1, name: 46
interface: 'xdg_wm_dialog_v1',                           version:  1, name: 47
interface: 'kde_external_brightness_v1',                 version:  2, name: 48
interface: 'wp_alpha_modifier_v1',                       version:  1, name: 49
interface: 'wl_drm',                                     version:  2, name: 51
interface: 'zwp_linux_dmabuf_v1',                        version:  4, name: 52
	main device: 0xE280 (/dev/dri/card1 or /dev/dri/renderD128)
	tranche
		target device: 0xE280 (/dev/dri/card1 or /dev/dri/renderD128)
		flags: none
		formats (fourcc) and modifiers (names):
		0x38385247 = 'GR88'; 0x0000000000000000 = LINEAR
		0x38385247 = 'GR88'; 0x0100000000000001 = INTEL_X_TILED
		0x38385247 = 'GR88'; 0x0100000000000002 = INTEL_Y_TILED
		0x38385247 = 'GR88'; 0x00ffffffffffffff = INVALID
		0x48344258 = 'XB4H'; 0x0000000000000000 = LINEAR
		0x48344258 = 'XB4H'; 0x0100000000000001 = INTEL_X_TILED
		0x48344258 = 'XB4H'; 0x0100000000000002 = INTEL_Y_TILED
		0x48344258 = 'XB4H'; 0x0100000000000004 = INTEL_Y_TILED_CCS
		0x48344258 = 'XB4H'; 0x00ffffffffffffff = INVALID
		0x32335247 = 'GR32'; 0x0000000000000000 = LINEAR
		0x32335247 = 'GR32'; 0x0100000000000001 = INTEL_X_TILED
		0x32335247 = 'GR32'; 0x0100000000000002 = INTEL_Y_TILED
		0x32335247 = 'GR32'; 0x0100000000000004 = INTEL_Y_TILED_CCS
		0x32335247 = 'GR32'; 0x00ffffffffffffff = INVALID
		0x48344241 = 'AB4H'; 0x0000000000000000 = LINEAR
		0x48344241 = 'AB4H'; 0x0100000000000001 = INTEL_X_TILED
		0x48344241 = 'AB4H'; 0x0100000000000002 = INTEL_Y_TILED
		0x48344241 = 'AB4H'; 0x0100000000000004 = INTEL_Y_TILED_CCS
		0x48344241 = 'AB4H'; 0x00ffffffffffffff = INVALID
		0x38344241 = 'AB48'; 0x0000000000000000 = LINEAR
		0x38344241 = 'AB48'; 0x0100000000000001 = INTEL_X_TILED
		0x38344241 = 'AB48'; 0x0100000000000002 = INTEL_Y_TILED
		0x38344241 = 'AB48'; 0x0100000000000004 = INTEL_Y_TILED_CCS
		0x38344241 = 'AB48'; 0x00ffffffffffffff = INVALID
		0x20203852 = 'R8  '; 0x0000000000000000 = LINEAR
		0x20203852 = 'R8  '; 0x0100000000000001 = INTEL_X_TILED
		0x20203852 = 'R8  '; 0x0100000000000002 = INTEL_Y_TILED
		0x20203852 = 'R8  '; 0x00ffffffffffffff = INVALID
		0x3231564e = 'NV12'; 0x0000000000000000 = LINEAR
		0x3231564e = 'NV12'; 0x0100000000000001 = INTEL_X_TILED
		0x3231564e = 'NV12'; 0x0100000000000002 = INTEL_Y_TILED
		0x3231564e = 'NV12'; 0x00ffffffffffffff = INVALID
		0x38344258 = 'XB48'; 0x0000000000000000 = LINEAR
		0x38344258 = 'XB48'; 0x0100000000000001 = INTEL_X_TILED
		0x38344258 = 'XB48'; 0x0100000000000002 = INTEL_Y_TILED
		0x38344258 = 'XB48'; 0x0100000000000004 = INTEL_Y_TILED_CCS
		0x38344258 = 'XB48'; 0x00ffffffffffffff = INVALID
		0x20363152 = 'R16 '; 0x0000000000000000 = LINEAR
		0x20363152 = 'R16 '; 0x0100000000000001 = INTEL_X_TILED
		0x20363152 = 'R16 '; 0x0100000000000002 = INTEL_Y_TILED
		0x20363152 = 'R16 '; 0x00ffffffffffffff = INVALID
		0x32315241 = 'AR12'; 0x0000000000000000 = LINEAR
		0x32315241 = 'AR12'; 0x0100000000000001 = INTEL_X_TILED
		0x32315241 = 'AR12'; 0x0100000000000002 = INTEL_Y_TILED
		0x32315241 = 'AR12'; 0x00ffffffffffffff = INVALID
		0x35315241 = 'AR15'; 0x0000000000000000 = LINEAR
		0x35315241 = 'AR15'; 0x0100000000000001 = INTEL_X_TILED
		0x35315241 = 'AR15'; 0x0100000000000002 = INTEL_Y_TILED
		0x35315241 = 'AR15'; 0x00ffffffffffffff = INVALID
		0x36314752 = 'RG16'; 0x0000000000000000 = LINEAR
		0x36314752 = 'RG16'; 0x0100000000000001 = INTEL_X_TILED
		0x36314752 = 'RG16'; 0x0100000000000002 = INTEL_Y_TILED
		0x36314752 = 'RG16'; 0x00ffffffffffffff = INVALID
	tranche
		target device: 0xE280 (/dev/dri/card1 or /dev/dri/renderD128)
		flags: none
		formats (fourcc) and modifiers (names):
		0x34324258 = 'XB24'; 0x0000000000000000 = LINEAR
		0x34324258 = 'XB24'; 0x0100000000000001 = INTEL_X_TILED
		0x34324258 = 'XB24'; 0x0100000000000002 = INTEL_Y_TILED
		0x34324258 = 'XB24'; 0x0100000000000004 = INTEL_Y_TILED_CCS
		0x34324258 = 'XB24'; 0x00ffffffffffffff = INVALID
		0x34325258 = 'XR24'; 0x0000000000000000 = LINEAR
		0x34325258 = 'XR24'; 0x0100000000000001 = INTEL_X_TILED
		0x34325258 = 'XR24'; 0x0100000000000002 = INTEL_Y_TILED
		0x34325258 = 'XR24'; 0x0100000000000004 = INTEL_Y_TILED_CCS
		0x34325258 = 'XR24'; 0x00ffffffffffffff = INVALID
		0x34325241 = 'AR24'; 0x0000000000000000 = LINEAR
		0x34325241 = 'AR24'; 0x0100000000000001 = INTEL_X_TILED
		0x34325241 = 'AR24'; 0x0100000000000002 = INTEL_Y_TILED
		0x34325241 = 'AR24'; 0x0100000000000004 = INTEL_Y_TILED_CCS
		0x34325241 = 'AR24'; 0x00ffffffffffffff = INVALID
		0x34324241 = 'AB24'; 0x0000000000000000 = LINEAR
		0x34324241 = 'AB24'; 0x0100000000000001 = INTEL_X_TILED
		0x34324241 = 'AB24'; 0x0100000000000002 = INTEL_Y_TILED
		0x34324241 = 'AB24'; 0x0100000000000004 = INTEL_Y_TILED_CCS
		0x34324241 = 'AB24'; 0x00ffffffffffffff = INVALID
	tranche
		target device: 0xE280 (/dev/dri/card1 or /dev/dri/renderD128)
		flags: none
		formats (fourcc) and modifiers (names):
		0x30334241 = 'AB30'; 0x0000000000000000 = LINEAR
		0x30334241 = 'AB30'; 0x0100000000000001 = INTEL_X_TILED
		0x30334241 = 'AB30'; 0x0100000000000002 = INTEL_Y_TILED
		0x30334241 = 'AB30'; 0x00ffffffffffffff = INVALID
		0x30335241 = 'AR30'; 0x0000000000000000 = LINEAR
		0x30335241 = 'AR30'; 0x0100000000000001 = INTEL_X_TILED
		0x30335241 = 'AR30'; 0x0100000000000002 = INTEL_Y_TILED
		0x30335241 = 'AR30'; 0x00ffffffffffffff = INVALID
		0x30335258 = 'XR30'; 0x0000000000000000 = LINEAR
		0x30335258 = 'XR30'; 0x0100000000000001 = INTEL_X_TILED
		0x30335258 = 'XR30'; 0x0100000000000002 = INTEL_Y_TILED
		0x30335258 = 'XR30'; 0x00ffffffffffffff = INVALID
interface: 'wp_linux_drm_syncobj_manager_v1',            version:  1, name: 53
interface: 'xdg_wm_base',                                version:  6, name: 55
interface: 'zwlr_layer_shell_v1',                        version:  5, name: 56
interface: 'kde_output_device_v2',                       version: 11, name: 58
interface: 'wl_output',                                  version:  4, name: 59
	name: eDP-1
	description: Sharp Corporation eDP-1-0x14D0
	x: 0, y: 0, scale: 2,
	physical_width: 336 mm, physical_height: 210 mm,
	make: 'Sharp Corporation', model: 'eDP-1-0x14D0',
	subpixel_orientation: unknown, output_transform: normal,
	mode:
		width: 3840 px, height: 2400 px, refresh: 59.994 Hz,
		flags: current
interface: 'wp_drm_lease_device_v1',                     version:  1, name: 60
	path: /dev/dri/card1
interface: 'kde_output_order_v1',                        version:  1, name: 61
interface: 'zwp_text_input_manager_v1',                  version:  1, name: 62
interface: 'zwp_text_input_manager_v2',                  version:  1, name: 63
interface: 'zwp_text_input_manager_v3',                  version:  1, name: 64
interface: 'org_kde_kwin_blur_manager',                  version:  1, name: 66
interface: 'org_kde_kwin_slide_manager',                 version:  1, name: 67
interface: 'xdg_system_bell_v1',                         version:  1, name: 68




Operating System: Manjaro Linux 
KDE Plasma Version: 6.3.5
KDE Frameworks Version: 6.14.0
Qt Version: 6.9.0
Kernel Version: 6.14.6-2-MANJARO (64-bit)
Graphics Platform: Wayland
Processors: 16 × Intel® Core™ i7-10875H CPU @ 2.30GHz
Memory: 31.1 Gio of RAM
Graphics Processor: Mesa Intel® UHD Graphics
Manufacturer: Dell Inc.
Product Name: Precision 5550
Comment 24 boite.pour.spam 2025-05-28 09:46:02 UTC
Just another remark, if I set the screen scaling to 172%, then it doesn't appear.
In that case, the Wayland info contains:
interface: 'zxdg_output_manager_v1',                     version:  3, name: 31
	xdg_output_v1
		output: 59
		name: 'eDP-1'
		description: 'Sharp Corporation eDP-1-0x14D0'
		logical_x: 0, logical_y: 0
		logical_width: 2237, logical_height: 1398

So I wonder if it only happens when logical_height is odd.
Comment 25 postix 2025-05-28 10:39:42 UTC
@ boite.pour.spam@gmail.com

(In reply to Nate Graham from comment #18)
> This bug report is about X11; please open a new one to track the issue on Wayland.
Comment 26 Nate Graham 2025-05-28 14:01:49 UTC
Please open a new bug report for the issue on Wayland; the root causes are different.