Bug 512480

Summary: Game via Proton-GE (Painkiller Black Edition) renders on a tiny black window
Product: [Plasma] kwin Reporter: Leonardo <kinetocore>
Component: wayland-genericAssignee: KWin default assignee <kwin-bugs-null>
Status: REOPENED ---    
Severity: normal CC: ilikefoss
Priority: NOR    
Version First Reported In: 6.5.3   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: The black windows with the tiny game window inside

Description Leonardo 2025-11-22 17:11:07 UTC
Created attachment 187070 [details]
The black windows with the tiny game window inside

SUMMARY

Hi!

After updating from KDE 6.4 to 6.5, one game of my Steam library has regressed. 

Painkiller Black Edition now only render inside of a black window on the top left of my monitor, inside an even tinier window. 

Before the 6.5 update the game was working nice using the Wayland backend on Proton (using the launch option on Steam PROTON_ENABLE_WAYLAND=1 PROTON_ENABLE_HDR=1) but now this bug manifest itself and if you try to manually change to any resolution, the game crashes closing the window. I've also tried without the Steam options but no luck.

Initially i thought that it was a regression on ProtonGE > 10.24 but using the latest known working version (10.22), the bug still happens, so it might be related to KDE 6.5?

I'd like to add more logs if you need, just ask! 

Thanks for all the amazing work on KDE!

STEPS TO REPRODUCE
1. Launch the game with ProtonGE 10.22/10.23/10.24/10.25
2. The game launch on a black window on the top left of my monitor (see screenshot)

OBSERVED RESULT

There is a black window on the top left of my desktop with inside a tiny window with the game.

EXPECTED RESULT

Fullscreen game

SOFTWARE/OS VERSIONS

Operating System: Fedora Linux 43
KDE Plasma Version: 6.5.3
KDE Frameworks Version: 6.20.0
Qt Version: 6.10.0
Kernel Version: 6.17.8-300.fc43.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 32 × AMD Ryzen 9 5950X 16-Core Processor
Memory: 64 GiB of RAM (62.7 GiB usable)
Graphics Processor: AMD Radeon RX 6800
Manufacturer: ASUS

ADDITIONAL INFORMATION

Mesa 25.2.7 
Tested Proton-GE from 10.22 to 10.25.
The game bug is also reported on DXVK bugtracker: https://github.com/doitsujin/dxvk/issues/3762
Comment 1 Leonardo 2025-11-22 17:13:39 UTC
Window manager output:

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

Version
=======
KWin version: 6.5.3
Qt Version: 6.10.0
Qt compile version: 6.10.0
XCB compile version: 1.17.0

Operation Mode: Wayland

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

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

Decoration
==========
Plugin: org.kde.breeze
Theme: 
Plugin recommends border size: None
onAllDesktopsAvailable: false
alphaChannelSupported: true
closeOnDoubleClickOnMenu: false
decorationButtonsLeft: 0, 2
decorationButtonsRight: 6, 3, 4, 5
borderSize: 0
gridUnit: 10
font: Noto Sans,10,-1,0,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
separateScreenFocus: true
placement: 5
activationDesktopPolicy: SwitchToOtherDesktop
focusPolicyIsReasonable: true
borderSnapZone: 10
windowSnapZone: 10
centerSnapZone: 0
snapOnlyWhenOverlapping: false
edgeBarrier: 100
cornerBarrier: 1
rollOverDesktops: false
focusStealingPreventionLevel: 1
operationTitlebarDblClick: 5000
operationMaxButtonLeftClick: 5000
operationMaxButtonMiddleClick: 5013
operationMaxButtonRightClick: 5012
commandActiveTitlebar1: MouseRaise
commandActiveTitlebar2: MouseNothing
commandActiveTitlebar3: MouseOperationsMenu
commandInactiveTitlebar1: MouseActivateAndRaise
commandInactiveTitlebar2: MouseNothing
commandInactiveTitlebar3: MouseOperationsMenu
commandWindow1: MouseActivateRaiseOnReleaseAndPassClick
commandWindow2: MouseActivateAndPassClick
commandWindow3: MouseActivateAndPassClick
commandWindowWheel: MouseNothing
commandAll1: MouseUnrestrictedMove
commandAll2: MouseToggleRaiseAndLower
commandAll3: MouseUnrestrictedResize
keyCmdAllModKey: 16777250
doubleClickBorderToMaximize: true
condensedTitle: false
electricBorderMaximize: true
electricBorderTiling: true
electricBorderCornerRatio: 0.25
borderlessMaximizedWindows: false
killPingTimeout: 5000
compositingMode: 1
allowTearing: true
interactiveWindowMoveEnabled: true
pictureInPictureHomeCorner: BottomRightCorner
pictureInPictureMargin: 20
overlayVirtualKeyboardOnWindows: false

Screen Edges
============
desktopSwitching: false
desktopSwitchingMovingClients: false
cursorPushBackDistance: 1x1
actionTopLeft: 0
actionTop: 0
actionTopRight: 0
actionRight: 0
actionBottomRight: 0
actionBottom: 0
actionBottomLeft: 0
actionLeft: 0

Screens
=======
Number of Screens: 1

Screen 0:
---------
Name: DP-1
Enabled: 1
Geometry: 0,0,2560x1440
Physical size: 698x393mm
Scale: 1
Refresh Rate: 164833
Adaptive Sync: incapable

Compositing
===========
Compositing is active
Compositing Type: OpenGL
OpenGL vendor string: AMD
OpenGL renderer string: AMD Radeon RX 6800 (radeonsi, navi21, ACO, DRM 3.64, 6.17.8-300.fc43.x86_64)
OpenGL version string: 4.6 (Core Profile) Mesa 25.2.7
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: 25.2.7
X server version: 1.24.1
Linux kernel version: 6.17.8
Direct rendering: Requires strict binding: no
Virtual Machine:  no
OpenGL 2 Shaders are used

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

Currently Active Effects:
-------------------------
blur
scale
fadingpopups
highlightwindow

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

outputlocator:

colorpicker:

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

screenedge:

blur:

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

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

dimscreen:
pluginId: dimscreen
isActiveFullScreenEffect: false

dialogparent:
pluginId: dialogparent
isActiveFullScreenEffect: false

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

systembell:

screentransform:

kscreen:


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

Available Plugins:
------------------
BounceKeysPlugin
KeyNotificationPlugin
MouseKeysPlugin
StickyKeysPlugin
TouchpadShortcutsPlugin
buttonsrebind
eis
krunnerintegration
nightlight
screencast
screenshot

----------------------
Monitor EDID:

# card1-DP-1 #######################
Block 0, Base EDID:
  EDID Structure Version & Revision: 1.4
  Vendor & Product Identification:
    Manufacturer: SAM
    Model: 29833
    Serial Number: 809059149 (0x3039434d)
    Made in: week 10 of 2024
  Basic Display Parameters & Features:
    Digital display
    Bits per primary color channel: 10
    DisplayPort interface
    Maximum image size: 70 cm x 40 cm
    Gamma: 2.20
    DPMS levels: Off
    Supported color formats: RGB 4:4:4, YCrCb 4:4:4, YCrCb 4:2:2
    First detailed timing includes the native pixel format and preferred refresh rate
    Display supports continuous frequencies
  Color Characteristics:
    Red  : 0.6474, 0.3339
    Green: 0.3164, 0.6142
    Blue : 0.1533, 0.0625
    White: 0.3134, 0.3291
  Established Timings I & II:
    IBM     :   720x400    70.081663 Hz   9:5     31.467 kHz     28.320000 MHz
    DMT 0x04:   640x480    59.940476 Hz   4:3     31.469 kHz     25.175000 MHz
    Apple   :   640x480    66.666667 Hz   4:3     35.000 kHz     30.240000 MHz
    DMT 0x05:   640x480    72.808802 Hz   4:3     37.861 kHz     31.500000 MHz
    DMT 0x06:   640x480    75.000000 Hz   4:3     37.500 kHz     31.500000 MHz
    DMT 0x08:   800x600    56.250000 Hz   4:3     35.156 kHz     36.000000 MHz
    DMT 0x09:   800x600    60.316541 Hz   4:3     37.879 kHz     40.000000 MHz
    DMT 0x0a:   800x600    72.187572 Hz   4:3     48.077 kHz     50.000000 MHz
    DMT 0x0b:   800x600    75.000000 Hz   4:3     46.875 kHz     49.500000 MHz
    Apple   :   832x624    74.551266 Hz   4:3     49.726 kHz     57.284000 MHz
    DMT 0x10:  1024x768    60.003840 Hz   4:3     48.363 kHz     65.000000 MHz
    DMT 0x11:  1024x768    70.069359 Hz   4:3     56.476 kHz     75.000000 MHz
    DMT 0x12:  1024x768    75.028582 Hz   4:3     60.023 kHz     78.750000 MHz
    DMT 0x24:  1280x1024   75.024675 Hz   5:4     79.976 kHz    135.000000 MHz
    Apple   :  1152x870    75.061550 Hz 192:145   68.681 kHz    100.000000 MHz
  Standard Timings:
    DMT 0x15:  1152x864    75.000000 Hz   4:3     67.500 kHz    108.000000 MHz
    DMT 0x1c:  1280x800    59.810326 Hz  16:10    49.702 kHz     83.500000 MHz
    DMT 0x55:  1280x720    60.000000 Hz  16:9     45.000 kHz     74.250000 MHz
    DMT 0x23:  1280x1024   60.019740 Hz   5:4     63.981 kHz    108.000000 MHz
    DMT 0x2f:  1440x900    59.887445 Hz  16:10    55.935 kHz    106.500000 MHz
    DMT 0x53:  1600x900    60.000000 Hz  16:9     60.000 kHz    108.000000 MHz (RB)
    DMT 0x3a:  1680x1050   59.954250 Hz  16:10    65.290 kHz    146.250000 MHz
  Detailed Timing Descriptors:
    DTD 1:  2560x1440  164.833290 Hz  16:9    240.657 kHz    637.740000 MHz (698 mm x 393 mm)
                 Hfront   13 Hsync  32 Hback   45 Hpol P
                 Vfront    6 Vsync   8 Vback    6 Vpol N
    Display Range Limits:
      Monitor ranges (Range Limits Only): 65-165 Hz V, 242-242 kHz H, max dotclock 640 MHz
    Display Product Name: 'Odyssey G5'
    Display Product Serial Number: 'HK7X302690'
  Extension blocks: 1
Checksum: 0xd7

----------------

Block 1, CTA-861 Extension Block:
  Revision: 3
  Underscans IT Video Formats by default
  Basic audio support
  Supports YCbCr 4:4:4
  Supports YCbCr 4:2:2
  Native detailed modes: 1
  Video Data Block:
    VIC  16:  1920x1080   60.000000 Hz  16:9     67.500 kHz    148.500000 MHz (native)
    VIC  63:  1920x1080  120.000000 Hz  16:9    135.000 kHz    297.000000 MHz
    VIC  31:  1920x1080   50.000000 Hz  16:9     56.250 kHz    148.500000 MHz
    VIC   4:  1280x720    60.000000 Hz  16:9     45.000 kHz     74.250000 MHz
  Audio Data Block:
    Linear PCM:
      Max channels: 2
      Supported sample rates (kHz): 48 44.1 32
      Supported sample sizes (bits): 24 20 16
  Speaker Allocation Data Block:
    FL/FR - Front Left/Right
  Colorimetry Data Block:
    BT2020YCC
    BT2020RGB
  HDR Static Metadata Data Block:
    Electro optical transfer functions:
      Traditional gamma - SDR luminance range
      SMPTE ST2084
    Supported static metadata descriptors:
      Static metadata type 1
    Desired content max luminance: 83 (301.833 cd/m^2)
    Desired content max frame-average luminance: 83 (301.833 cd/m^2)
  Detailed Timing Descriptors:
    DTD 2:  2560x1440   59.950550 Hz  16:9     88.787 kHz    241.500000 MHz (698 mm x 393 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol P
                 Vfront    3 Vsync   5 Vback   33 Vpol N
    DTD 3:  2560x1440  119.997589 Hz  16:9    182.996 kHz    497.750000 MHz (698 mm x 393 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol P
                 Vfront    3 Vsync   5 Vback   77 Vpol N
    DTD 4:  1920x1080  164.831818 Hz  16:9    181.315 kHz    362.630000 MHz (698 mm x 393 mm)
                 Hfront    8 Hsync  32 Hback   40 Hpol P
                 Vfront    6 Vsync   8 Vback    6 Vpol N
    DTD 5:  1920x1080   60.000000 Hz  16:9     67.500 kHz    148.500000 MHz (698 mm x 393 mm)
                 Hfront   88 Hsync  44 Hback  148 Hpol P
                 Vfront    4 Vsync   5 Vback   36 Vpol P
Checksum: 0x30

----------------

EDID conformity: PASS
Comment 2 Leonardo 2025-11-26 15:44:52 UTC
It might be related to https://bugs.kde.org/show_bug.cgi?id=501505 i'll keep an eye on it and test when the MR will be merged :)
Comment 3 Leonardo 2025-12-15 16:15:38 UTC
I've updated to Plasma 6.5.4 and Proton-GE 10-26 and seem fixed.
Comment 4 Leonardo 2025-12-17 06:55:19 UTC
Too soon...still the same problem with Plasma 6.5.4 and Proton-GE 10-26. I gladly gift the game for debugging if needed :)