Bug 490619

Summary: [AMD] After switching multi-screen modes, some Plasma applet popups open almost zero-sized
Product: [Plasma] plasmashell Reporter: ratijas <me>
Component: PanelAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED DUPLICATE    
Severity: normal CC: kde, kdedev, nate, niccolo.venerandi, xaver.hugl
Priority: NOR Keywords: multiscreen
Version: master   
Target Milestone: 1.0   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: applet popup zero-sized

Description ratijas 2024-07-21 19:33:13 UTC
SUMMARY

I connected an external display to my Framework laptop 16 (AMD CPU + iGPU edition), and right now some of the Plasma applets can not open their full representation: they open a tiny almost invisible window which is (I guess) just the rounded background SVG with no content. Here's what happens in logs:

Jul 21 21:25:34 facility kwin_wayland[974]: kwin_scene_opengl: 0x4: GL_INVALID_VALUE in glTexStorage2D(width, height or depth < 1)
Jul 21 21:25:34 facility kwin_wayland[974]: kwin_scene_opengl: Invalid framebuffer status:  "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"
Jul 21 21:25:34 facility kwin_wayland[974]: kwin_effect_blur: Failed to create an offscreen framebuffer
Jul 21 21:25:34 facility kwin_wayland[974]: kwin_scene_opengl: 0x4: GL_INVALID_VALUE in glTexStorage2D(width, height or depth < 1)
Jul 21 21:25:34 facility kwin_wayland[974]: kwin_scene_opengl: Invalid framebuffer status:  "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"
Jul 21 21:25:34 facility kwin_wayland[974]: kwin_effect_blur: Failed to create an offscreen framebuffer
Jul 21 21:25:34 facility kwin_wayland[974]: kwin_scene_opengl: 0x4: GL_INVALID_VALUE in glTexStorage2D(width, height or depth < 1)
Jul 21 21:25:34 facility kwin_wayland[974]: kwin_scene_opengl: Invalid framebuffer status:  "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"
Jul 21 21:25:34 facility kwin_wayland[974]: kwin_effect_blur: Failed to create an offscreen framebuffer
[...] lots of messages like that
Jul 21 21:25:35 facility plasmashell[1195]: The cached device pixel ratio value was stale on window update.  Please file a QTBUG which explains how to reproduce.
[...] and then again a lot more messages like the above three lines

STEPS TO REPRODUCE
Not sure when exactly it broke, but I tried every single mode in the Meta+P quick menu several times, and at some point tried opening a Bluetooth applet on the desktop, and discovered that it is not the only one that has broken popups.

OBSERVED RESULT
applet popups workn't

EXPECTED RESULT
expected to see normal applet popups

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 6.1.80
KDE Frameworks Version: 6.5.0
Qt Version: 6.7.2
Kernel Version: 6.9.10-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 9 7940HS w/ Radeon 780M Graphics
Memory: 58.7 GiB of RAM
Graphics Processor: AMD Radeon 780M
Manufacturer: Framework
Product Name: Laptop 16 (AMD Ryzen 7040 Series)
System Version: AJ

ADDITIONAL INFORMATION

> kscreen-doctor -o

Output: 1 eDP-1
        enabled
        connected
        priority 1
        Panel
        Modes:  0:2560x1600@165*!  1:2560x1600@60  2:1920x1200@165  3:1920x1080@165  4:1600x1200@165  5:1680x1050@165  6:1280x1024@165  7:1440x900@165  8:1280x800@165  9:1280x720@165  10:1024x768@165  11:800x600@165  12:640x480@165  13:1600x1200@60  14:1280x1024@60  15:1024x768@60  16:2560x1600@60  17:1920x1200@60  18:1280x800@60  19:2560x1440@60  20:1920x1080@60  21:1600x900@60  22:1368x768@60  23:1280x720@60 
        Geometry: 0,0 1707x1067
        Scale: 1.5
        Rotation: 1
        Overscan: 0
        Vrr: Automatic
        RgbRange: unknown
        HDR: incapable
        Wide Color Gamut: incapable
        ICC profile: none
        Color profile source: EDID
        Brightness control: supported, set to 15%
Output: 2 DP-2
        enabled
        connected
        priority 2
        DisplayPort
        Modes:  0:3840x2160@60!  1:3840x2160@30  2:3840x2160@30  3:3840x2160@25  4:3840x2160@24  5:3840x2160@24  6:1920x2160@60  7:2560x1440@60  8:2048x1280@60  9:1920x1200@60  10:1920x1080@60  11:1920x1080@60  12:1920x1080@60  13:1920x1080@50  14:1920x1080@25  15:1920x1080@24  16:1920x1080@24  17:1600x1200@60  18:1680x1050@60  19:1600x900@60  20:1280x1024@75  21:1280x1024@60  22:1440x900@60  23:1280x800@60  24:1152x864@75  25:1280x720@60  26:1280x720@60  27:1280x720@50  28:1024x768@75  29:1024x768@60  30:800x600@75  31:800x600@60  32:720x576@50  33:720x576@50  34:720x480@60  35:720x480@60  36:720x480@60  37:720x480@60  38:640x480@75  39:640x480@60  40:640x480@60  41:640x480@60  42:720x400@70  43:1600x1200@60  44:1280x1024@60  45:1024x768@60  46:2560x1600@60*  47:1920x1200@60  48:1280x800@60  49:3200x1800@60  50:2880x1620@60  51:2560x1440@60  52:1920x1080@60  53:1600x900@60  54:1368x768@60  55:1280x720@60 
        Geometry: 1707,0 1707x1067
        Scale: 1.5
        Rotation: 1
        Overscan: 0
        Vrr: Automatic
        RgbRange: unknown
        HDR: incapable
        Wide Color Gamut: incapable
        ICC profile: none
        Color profile source: sRGB
        Brightness control: supported, set to 100%


❯ qdbus org.kde.KWin /KWin supportInformation
KWin Support Information:
The following information should be used when requesting support on e.g. https://discuss.kde.org.
It provides information about the currently running instance, which options are used,
what OpenGL driver and which effects are running.
Please post the information provided underneath this introductory text to a paste bin service
like https://paste.kde.org instead of pasting into support threads.

==========================

Version
=======
KWin version: 6.1.80
Qt Version: 6.7.2
Qt compile version: 6.7.2
XCB compile version: 1.17.0

Operation Mode: Xwayland

Build Options
=============
KWIN_BUILD_DECORATIONS: yes
KWIN_BUILD_TABBOX: yes
KWIN_BUILD_ACTIVITIES: yes
HAVE_X11_XCB: yes
HAVE_GLX: yes

X11
===
Vendor: The X.Org Foundation
Vendor Release: 12401001
Protocol Version/Revision: 11/0
SHAPE: yes; Version: 0x11
RANDR: yes; Version: 0x14
DAMAGE: yes; Version: 0x11
Composite: yes; Version: 0x4
RENDER: yes; Version: 0xb
XFIXES: yes; Version: 0x50
SYNC: yes; Version: 0x31
GLX: yes; Version: 0x0

Decoration
==========
Plugin: org.kde.breeze
Theme: Breeze
Plugin recommends border size: None
onAllDesktopsAvailable: true
alphaChannelSupported: true
closeOnDoubleClickOnMenu: false
decorationButtonsLeft: 5, 4, 3
decorationButtonsRight: 9, 2
borderSize: 0
gridUnit: 10
font: SF Pro Display,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
smallSpacing: 2
largeSpacing: 10

Output backend
==============
Name: DRM
Atomic Mode Setting on GPU 0: true

Cursor
======
themeName: breeze_cursors
themeSize: 24

Options
=======
focusPolicy: ClickToFocus
xwaylandCrashPolicy: 1
xwaylandMaxCrashCount: 3
nextFocusPrefersMouse: false
clickRaise: true
autoRaise: false
autoRaiseInterval: 0
delayFocusInterval: 0
shadeHover: false
shadeHoverInterval: 250
separateScreenFocus: false
placement: 5
activationDesktopPolicy: SwitchToOtherDesktop
focusPolicyIsReasonable: true
borderSnapZone: 10
windowSnapZone: 10
centerSnapZone: 0
snapOnlyWhenOverlapping: false
edgeBarrier: 100
cornerBarrier: 1
rollOverDesktops: false
focusStealingPreventionLevel: 0
operationTitlebarDblClick: 5000
operationMaxButtonLeftClick: 5000
operationMaxButtonMiddleClick: 5015
operationMaxButtonRightClick: 5014
commandActiveTitlebar1: MouseRaise
commandActiveTitlebar2: MouseNothing
commandActiveTitlebar3: MouseOperationsMenu
commandInactiveTitlebar1: MouseActivateAndRaise
commandInactiveTitlebar2: MouseNothing
commandInactiveTitlebar3: MouseOperationsMenu
commandWindow1: MouseActivateRaiseAndPassClick
commandWindow2: MouseActivateAndPassClick
commandWindow3: MouseActivateAndPassClick
commandWindowWheel: MouseNothing
commandAll1: MouseUnrestrictedMove
commandAll2: MouseToggleRaiseAndLower
commandAll3: MouseUnrestrictedResize
keyCmdAllModKey: 16777250
condensedTitle: false
electricBorderMaximize: true
electricBorderTiling: true
electricBorderCornerRatio: 0.25
borderlessMaximizedWindows: false
killPingTimeout: 5000
compositingMode: 1
useCompositing: true
hiddenPreviews: 1
glSmoothScale: 2
glStrictBinding: true
glStrictBindingFollowsDriver: true
glPreferBufferSwap: AutoSwapStrategy
glPlatformInterface: 2
windowsBlockCompositing: false
allowTearing: true

Screen Edges
============
desktopSwitching: false
desktopSwitchingMovingClients: true
cursorPushBackDistance: 1x1
timeThreshold: 300
reActivateThreshold: 350
actionTopLeft: 0
actionTop: 0
actionTopRight: 0
actionRight: 0
actionBottomRight: 0
actionBottom: 0
actionBottomLeft: 0
actionLeft: 0

Screens
=======
Number of Screens: 2

Screen 0:
---------
Name: eDP-1
Enabled: 1
Geometry: 0,0,1707x1067
Scale: 1.5
Refresh Rate: 165000
Adaptive Sync: automatic
Screen 1:
---------
Name: DP-2
Enabled: 1
Geometry: 1707,0,1707x1067
Scale: 1.5
Refresh Rate: 59987
Adaptive Sync: automatic

Compositing
===========
Compositing is active
Compositing Type: OpenGL
OpenGL vendor string: AMD
OpenGL renderer string: AMD Radeon 780M (radeonsi, gfx1103_r1, LLVM 18.1.8, DRM 3.57, 6.9.10-arch1-1)
OpenGL version string: 4.6 (Core Profile) Mesa 24.1.4-arch1.2
OpenGL platform interface: EGL
OpenGL shading language version string: 4.60
Driver: Unknown
GPU class: Unknown
OpenGL version: 4.6
GLSL version: 4.60
Mesa version: 24.1.4
X server version: 1.24.1
Linux kernel version: 6.9.10
Direct rendering: Requires strict binding: no
Virtual Machine:  no
OpenGL 2 Shaders are used

Loaded Effects:
---------------
shakecursor
screenshot
outputlocator
colorpicker
zoom
screenedge
blur
contrast
sessionquit
logout
login
slidingpopups
windowaperture
slide
magiclamp
cube
squash
scale
maximize
fullscreen
frozenapp
fadingpopups
dialogparent
wobblywindows
windowview
tileseditor
overview
highlightwindow
blendchanges
startupfeedback
screentransform
kscreen

Currently Active Effects:
-------------------------
blur
contrast

Effect Settings:
----------------
shakecursor:

screenshot:

outputlocator:

colorpicker:

zoom:
zoomFactor: 1.2
mousePointer: 0
mouseTracking: 0
focusTrackingEnabled: false
textCaretTrackingEnabled: false
focusDelay: 350
moveFactor: 20
targetZoom: 1

screenedge:

blur:

contrast:

sessionquit:
pluginId: sessionquit
isActiveFullScreenEffect: false

logout:
pluginId: logout
isActiveFullScreenEffect: false

login:
pluginId: login
isActiveFullScreenEffect: false

slidingpopups:
slideInDuration: 200
slideOutDuration: 200

windowaperture:
pluginId: windowaperture
isActiveFullScreenEffect: false

slide:
horizontalGap: 45
verticalGap: 20
slideBackground: true

magiclamp:

cube:
activeView: 
delegate: 
data: 
configuration: 
visible: false
activated: false
animationDuration: 200
mainDelegate: 

squash:
pluginId: squash
isActiveFullScreenEffect: false

scale:
pluginId: scale
isActiveFullScreenEffect: false

maximize:
pluginId: maximize
isActiveFullScreenEffect: false

fullscreen:
pluginId: fullscreen
isActiveFullScreenEffect: false

frozenapp:
pluginId: frozenapp
isActiveFullScreenEffect: false

fadingpopups:
pluginId: fadingpopups
isActiveFullScreenEffect: false

dialogparent:
pluginId: dialogparent
isActiveFullScreenEffect: false

wobblywindows:
stiffness: 0.1
drag: 0.85
moveFactor: 0.1
xTesselation: 20
yTesselation: 20
minVelocity: 0
maxVelocity: 1000
stopVelocity: 0.5
minAcceleration: 0
maxAcceleration: 1000
stopAcceleration: 0.5
moveWobble: true
resizeWobble: true

windowview:
activeView: 
delegate: 
animationDuration: 300
ignoreMinimized: false
mode: 
partialActivationFactor: 0
gestureInProgress: false
searchText: 
selectedIds: 

tileseditor:
activeView: 
delegate: 
animationDuration: 200

overview:
activeView: 
delegate: 
animationDuration: 300
ignoreMinimized: false
filterWindows: true
organizedGrid: true
overviewPartialActivationFactor: 0
overviewGestureInProgress: false
transitionPartialActivationFactor: 0
transitionGestureInProgress: false
gridPartialActivationFactor: 0
gridGestureInProgress: false
desktopOffset: 
searchText: 

highlightwindow:

blendchanges:

startupfeedback:
type: 1

screentransform:

kscreen:


Loaded Plugins:
---------------
BounceKeysPlugin
KeyNotificationPlugin
StickyKeysPlugin
buttonsrebind
eis
krunnerintegration
nightlight
screencast

Available Plugins:
------------------
BounceKeysPlugin
KeyNotificationPlugin
StickyKeysPlugin
buttonsrebind
eis
krunnerintegration
nightlight
screencast
Comment 1 ratijas 2024-07-21 19:36:12 UTC
Created attachment 171866 [details]
applet popup zero-sized

Video showing an example of an almost zero-sized popup with no content
Comment 2 ratijas 2024-07-21 19:43:54 UTC
Few minutes later I got the following stacktrace from the kernel:

[11036.099940] ------------[ cut here ]------------
[11036.099945] WARNING: CPU: 14 PID: 16578 at drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_dpp.c:534 dpp3_deferred_update+0x101/0x330 [amdgpu]
[11036.100309] Modules linked in: typec_displayport ccm snd_seq_dummy rfcomm snd_hrtimer snd_seq snd_seq_device cmac algif_hash algif_skcipher af_alg bnep btusb btrtl btintel btbcm btmtk snd_sof_amd_acp63 snd_sof_amd_vangogh snd_sof_amd_rembrandt snd_sof_amd_renoir bluetooth snd_sof_amd_acp snd_sof_pci snd_sof_xtensa_dsp ecdh_generic crc16 snd_sof snd_sof_utils snd_pci_ps snd_amd_sdw_acpi soundwire_amd soundwire_generic_allocation soundwire_bus amdgpu snd_hda_codec_realtek snd_hda_codec_generic snd_hda_scodec_component snd_hda_codec_hdmi snd_soc_core snd_hda_intel uvcvideo snd_intel_dspcfg amdxcp snd_compress drm_exec snd_intel_sdw_acpi videobuf2_vmalloc ac97_bus gpu_sched snd_pcm_dmaengine uvc snd_hda_codec videobuf2_memops snd_rpl_pci_acp6x drm_buddy snd_acp_pci i2c_algo_bit videobuf2_v4l2 snd_hda_core snd_acp_legacy_common drm_suballoc_helper snd_pci_acp6x snd_hwdep drm_ttm_helper videodev snd_pcm ttm snd_pci_acp5x videobuf2_common snd_timer snd_rn_pci_acp3x usbhid drm_display_helper snd_acp_config mc cdc_acm vfat snd
[11036.100393]  snd_soc_acpi cec fat soundcore snd_pci_acp3x amd_atl intel_rapl_msr intel_rapl_common mt7921e mt7921_common mt792x_lib mt76_connac_lib joydev mt76 kvm_amd mousedev kvm mac80211 crct10dif_pclmul hid_sensor_als crc32_pclmul hid_sensor_trigger polyval_clmulni industrialio_triggered_buffer libarc4 polyval_generic kfifo_buf gf128mul hid_sensor_iio_common ghash_clmulni_intel sha512_ssse3 industrialio amd_pmf sha1_ssse3 cfg80211 aesni_intel amdtee crypto_simd ucsi_acpi hid_multitouch hid_sensor_hub wmi_bmof ccp video sp5100_tco cryptd typec_ucsi cros_ec_lpcs hid_generic cros_ec thunderbolt rapl typec pcspkr amd_sfh rfkill k10temp i2c_piix4 roles wmi platform_profile amd_pmc i2c_hid_acpi tee mac_hid i2c_hid serio pkcs8_key_parser i2c_dev sg crypto_user dm_mod loop nfnetlink zram ip_tables x_tables nvme nvme_core xhci_pci sha256_ssse3 xhci_pci_renesas nvme_auth btrfs blake2b_generic libcrc32c crc32c_generic crc32c_intel xor raid6_pq
[11036.100519] CPU: 14 PID: 16578 Comm: kworker/u64:2 Not tainted 6.9.10-arch1-1 #1 00e85f1f51a9d10a62595b85d7ee51a73153e5b7
[11036.100524] Hardware name: Framework Laptop 16 (AMD Ryzen 7040 Series)/FRANMZCP09, BIOS 03.03 03/27/2024
[11036.100527] Workqueue: events_unbound commit_work
[11036.100535] RIP: 0010:dpp3_deferred_update+0x101/0x330 [amdgpu]
[11036.100883] Code: 83 78 e1 00 00 0f b6 90 a7 02 00 00 48 8b 83 70 e1 00 00 8b b0 78 04 00 00 e8 3b 61 07 00 8b 74 24 04 85 f6 0f 84 5d 01 00 00 <0f> 0b 0f b6 83 48 96 00 00 83 e0 f7 88 83 48 96 00 00 a8 01 0f 84
[11036.100886] RSP: 0018:ffffa6d28b5a7b90 EFLAGS: 00010202
[11036.100889] RAX: 0000000000000066 RBX: ffff977e86e20000 RCX: 0000000000000004
[11036.100892] RDX: 0000000000000000 RSI: 0000000000000002 RDI: ffff977e99880000
[11036.100894] RBP: ffff978320400000 R08: ffffa6d28b5a7b94 R09: 0000000000000000
[11036.100896] R10: ffffa6d28b5a7b38 R11: 0000000000000000 R12: 0000000000000000
[11036.100897] R13: ffff9783204026f8 R14: ffff978320403908 R15: ffff97844f3a5200
[11036.100900] FS:  0000000000000000(0000) GS:ffff978ce2100000(0000) knlGS:0000000000000000
[11036.100902] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[11036.100904] CR2: 00007cb72270c020 CR3: 000000024fc20000 CR4: 0000000000f50ef0
[11036.100906] PKRU: 55555554
[11036.100908] Call Trace:
[11036.100913]  <TASK>
[11036.100916]  ? dpp3_deferred_update+0x101/0x330 [amdgpu f7dc2a7f138ce31c50c0521ab6b96df5658dbb5b]
[11036.101253]  ? __warn.cold+0x8e/0xe8
[11036.101259]  ? dpp3_deferred_update+0x101/0x330 [amdgpu f7dc2a7f138ce31c50c0521ab6b96df5658dbb5b]
[11036.101610]  ? report_bug+0xff/0x140
[11036.101615]  ? handle_bug+0x3c/0x80
[11036.101620]  ? exc_invalid_op+0x17/0x70
[11036.101623]  ? asm_exc_invalid_op+0x1a/0x20
[11036.101630]  ? dpp3_deferred_update+0x101/0x330 [amdgpu f7dc2a7f138ce31c50c0521ab6b96df5658dbb5b]
[11036.101873]  dc_post_update_surfaces_to_stream+0x19e/0x290 [amdgpu f7dc2a7f138ce31c50c0521ab6b96df5658dbb5b]
[11036.102099]  amdgpu_dm_atomic_commit_tail+0x2fb7/0x3cc0 [amdgpu f7dc2a7f138ce31c50c0521ab6b96df5658dbb5b]
[11036.102360]  ? generic_reg_get+0x21/0x40 [amdgpu f7dc2a7f138ce31c50c0521ab6b96df5658dbb5b]
[11036.102591]  ? srso_alias_return_thunk+0x5/0xfbef5
[11036.102596]  ? dc_stream_send_dp_sdp+0xb0/0xc0 [amdgpu f7dc2a7f138ce31c50c0521ab6b96df5658dbb5b]
Comment 3 Zamundaaa 2024-07-21 19:48:33 UTC
The warning is a consequence of the 0x0 window, not the cause of it.

The kernel problem seems unrelated, but
> Jul 21 21:25:35 facility plasmashell[1195]: The cached device pixel ratio value was stale on window update.  Please file a QTBUG which explains how to reproduce.
might be related
Comment 4 David Edmundson 2024-07-21 22:22:12 UTC
That warning can be seen in harmless situations
Comment 5 Nate Graham 2024-07-26 23:09:13 UTC
I also see "The cached device pixel ratio value was stale on window update" all over the place in my journal log, without encountering this issue.
Comment 6 Nate Graham 2024-08-28 19:40:49 UTC
The "cached device pixel radio" error message is also likely unrelated and probably caused by PlasmaCore.ToolTipArea; see Bug 492103.

The original issue seems related to Bug 490732.
Comment 7 Nate Graham 2024-09-03 14:46:56 UTC
Based on the fix for Bug 490732, it looks like this is in fact the same bug.

*** This bug has been marked as a duplicate of bug 490732 ***