[RESPONDED] Swapped position of FW16 & dGPU DP displays in KDE (X11), now steam proton games launch "confused"

Recent Framework 16 Laptop purchaser, and things were going great as I loaded it up with Arch-based Manjaro KDE plasma on my table… I brought a DP monitor over and set the KDE settings with the DP monitor set on the left of the laptop. No problems other than the SSDM issue I raised/resolved in Use of USB port on GPU Expansion Module - #27 by Daniel_I

Once all my tweaks were made and a couple steam games were happy, I moved the laptop over to my desk, and placed the same DP monitor on the right… updated KDE settings to this fact, and launched a game.

I’m not quite sure how to explain this, but the game launched (windowed as expected) spanning the two monitors… I thought not much about it, and dragged it over to the right so it was on the DP monitor… and then things started acting weird. It was like an invisible vertical line existed about 1/4 way in from the left side of my DP monitor… any part of the game window beyond that invisible line was not refreshed/redrawn (like an snapshot/picture)… nor were any mouse clicks recognized.

Basically, this is what I think is happening… possibly KDE or X11 is remembering the old position of the game (and/or old position/orientation/size of the displays) when the 2560x1440 DP monitor was on the left. When the game loads, it looks spanned because it’s starting the game on the current left monitor (now the laptop) with a lesser 1680x1050 resolution… so when it draws the window out it spans over to the second monitor to retain the window size.

Why the “invisible line” exists where the mouse can’t click and the frames don’t update… really has me confused. It’s like it knows, this is where the right edge of 2560x1440 ends on the total screen, and because the DP monitor is on the right now (no screen beyond it), whatever happens passed this edge is no mans land.

When i launched the second game (fullscreen as expected) it loaded on the left monitor (laptop); perfectly fine, just not the DP monitor. Hit alt-Enter to swap the game into a window, dragged it over to the right onto my DP monitor, and was unable to select anything in the game’s menu because the game’s cursor refused t move beyond the “invisible line”.

Then I got curious… what if I swapped the position of the monitors in KDE’s settings? Well, when I do that, both games launch fine, no invisible lines, and no freeze-frame areas… even if I drag the windowed game between the monitors. This can be my work-around, but I know not being able to cross the mouse smoothly between them “normally” will get annoying quickly.

I don’t think it’s anything “cached” or an erroneous config within my HOME directory as I created a fresh test account that duplicated the issue.

I should also point out the contents of the /usr/share/sddm/scripts/Xsetup edits I’d made in the link provided above changed when I swapped the DP to the right of the laptop…

#!/bin/sh
# Xsetup - run as root before the login dialog appears

xrandr --output DisplayPort-1-0 --mode 2560x1440 --primary
xrandr --output eDP-1 --mode 1680x1050 --left-of DisplayPort-1-0 --noprimary

And to rule out this as the issue, I’ve tested with the xrandr lines removed as well.

I’ve also tried with and without DRI_PRIME=1 %command% in the steam game’s launch options, but the end result is the same.

I discovered another scenario where the games launch properly…

  1. Moved the DP cable to a side DP port (one driven by the iGPU)
  2. Set KDE settings display orientation so the laptop was on the left (mouse flows properly between displays; matches the physical layout)
  3. rem’d my extra lines in /usr/share/sddm/scripts/Xsetup since I knew they were not needed with the DP monitor on iGPU … that SDDM would load across both monitors without it.
  4. rebooted
  5. launched the games and they behaved properly?! good, but confused why

This scenario kinda suggests that when the dGPU port is used to drive a display, it wants to be on the left? And that’s basically the same as scenario one, except set to the left in the KDE settings with the monitor plugged directly to the dGPU.

Might this be an amdgpu bug, or issue with the dGPU?

------- Update -------
I got curious and wondered what would happen if I added a step 6… swapping the kde orientation settings so the DP was set to be on the left of the laptop again (keeping it physically right)… no problems!

I think it is also important to note that this is while booted into a KDE X11 session. If I log out and launch KDE wayland the “windowed” game behaves properly, but a fullscreen game crashes xwayland… and so I stick to x11 where my game at least all launch.

------- Update 2 -------
I think I figured out another important detail… some steam games have a native linux version whereas many require PROTON to allow windows games to run on Linux. The two games focused on in my writings were not Linux native games, so PROTON / VULKAN / etc is involved. Launched a 3rd windowed game that has a Linux native version, and it launched/behaved properly.

This is good stuff. I’m pining @Conan_Kudo for any insights as they might have.

So some questions here: since this is Manjaro (a rolling distribution), can you paste the details of “about this system” from Info Center?

Also, you mention using KDE Plasma X11… What is the experience on KDE Plasma Wayland? Do you observe similar issues?

1 Like

In 2024, you really should be using wayland, specially for gaming, and specially since you are using a DE that supports it like KDE/kwin. It properly supports modern features such as HDR and Active sync without any futzing around in the archaic X11 config files to get things working. Oh, and you can have different refresh rates per monitor.

The KDE “Display & Monitor” config page has a screen priority selection that can be changed. Most games will open on the monitor you have selected as “Primary”.

See the following images to see where this is configured:


Unless the game lets you choose the screen to open on (An anime game launcher - “Genshin Impact” does for example), all your games will open on the primary screen selected in the above.

in any case, you likely need to use xrandr to set your primary display for X11 as you posted.

And in waylands case with KDE, you could use kscreen-doctor to change the primary display to the monitor you want your game launching on, for example in a simple script that launches the game as well:
kscreen-doctor output.‘eDP-2’.primary && [game command]
The only thing with that, is it also moves your kde menu bar over to that monitor. But I guess you could always run another kscreen-doctor to set it back after the game closes.

Also, regarding multiple monitors. X11 can only make a rectangle desktop (maybe wayland as well, not sure), so if you have different resolution monitors, you are going to end up with usable desktop space that is off the plane of your monitors, so it’s best to align them at the top. Open windows are usually placed based on coordinates offset from the top left.

@Conan_Kudo

Here are the info center details:

Operating System: Manjaro Linux 
KDE Plasma Version: 5.27.11
KDE Frameworks Version: 5.115.0
Qt Version: 5.15.12
Kernel Version: 6.6.19-1-MANJARO (64-bit)
Graphics Platform: X11
Processors: 16 × AMD Ryzen 9 7940HS w/ Radeon 780M Graphics
Memory: 30.5 GiB of RAM
Graphics Processor: AMD Radeon Graphics
Manufacturer: Framework
Product Name: Laptop 16 (AMD Ryzen 7040 Series)
System Version: AJ

I did provide some details on wayland, but It might have been hard to spot in the walls of text…

The desktop looks fine in wayland, one windowed idle game (Firestone) looked fine, but it has a native linux client… would it have been fine under PROTON? I dunno

Hmm, I’m trying to recall if I ran another windowed game (Eternium) that I know uses PROTON when I was in Wayland… memory is telling me no.

The full screen game is Dragon Dogma Dark Arisen and requires PROTON to run on linux, In a Wayland session, it will either…

  1. Just straight up crash xwayland (I only know that because that details would pop up in a kde notification window/popup) and every X11 app it had launched (like conky) would close, or
  2. Launch the game blank/black on the screen (sometimes the game’s mouse cursor would be drawn, but stuck in place). I can hear audio happening so the process isn’t frozen, but the video is stuck blank/black.

The issue then becomes one of me having zero wayland experience and not knowing where to look for why xwayland crashed (I’m assuming it’d have it’s own log files somewhere; I didn’t check journalctl) and/or the game loads blank/black (wayland, compositor, PROTON… so many layers/black-boxes/unknowns)… so I defaulted back to X11 (not that X11 isn’t a black-box to me, it just my comfort zone of where things work).

Hmm, the laptop is at 165hz, and my DP monitor maxes out at 144hz… what might X11 not like about this difference?

— Update —
Read a bit about it @ https://www.reddit.com/r/linux/comments/yaatyo/psa_x11_does_support_mixed_refresh_rate_monitors/

I’d be fine disabling the compositor, usually KDE does this auto-magically when I launch a game anyway.

Ah, I see… and of course I aligned the bottoms, not the top. Learning something new every day :slight_smile:

In my experience, when testing X11 on my desktop, the entire desktop would be running at the lowest refresh rate, despite what each monitor said. Using something like testufo.com you should be able to confirm.

@Conan_Kudo & @Matt_Hartley
okay… some interesting progress… as in I got DDDA (Dragons Dogma Dark Arisen) to launch with normal video in a wayland session… didn’t play any of the game, so all I know is I could successfully get to and see the title screen, but this was positive progress.

What was the difference? Well, I realized that the last time I used Wayland the DP module and monitor was connected to the dGPU… and currently I have my DP cable moved over to the side DP module (I have 2 DP modules).

So leaving the monitor connected that way (side iGPU DP module) I logged out of X11, logged in to a Wayland session, and when I ran DDDA I had both audio and video!

Closed the game, removed the DP Cable from the side port, reconnected it to my 2nd DP module, plugged it into the dGPU port, and launched the game again. Lucky it didn’t crash xwayland, but video was stuck blank/black as before, so I Alt-F4’d the game, and went to go see what journalctl had to say about it…

$journalctl --since "2024-04-03 01:01:44" --until "2024-04-03 01:01:55" >> ~/DDDA-Wayland-dGPU-port.log   
Apr 03 01:01:46 AMDRyzen7040 steam-runtime[439471]: /bin/sh\0-c\0DRI_PRIME=1 /home/daniel/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=367500 -- /home/daniel/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- '/home/daniel/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper'/_v2-entry-point --verb=waitforexitandrun -- '/home/daniel/.local/share/Steam/steamapps/common/Proton - Experimental'/proton waitforexitandrun  '/home/daniel/.local/share/Steam/steamapps/common/DDDA/DDDA.exe'\0
Apr 03 01:01:46 AMDRyzen7040 steam-runtime[451848]: ERROR: ld.so: object '/home/daniel/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Apr 03 01:01:46 AMDRyzen7040 steam-runtime[451848]: ERROR: ld.so: object '/home/daniel/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
Apr 03 01:01:46 AMDRyzen7040 kernel: input: Microsoft X-Box 360 pad 0 as /devices/virtual/input/input73
Apr 03 01:01:46 AMDRyzen7040 steam-runtime[451849]: ERROR: ld.so: object '/home/daniel/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Apr 03 01:01:46 AMDRyzen7040 steam-runtime[451849]: ERROR: ld.so: object '/home/daniel/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Apr 03 01:01:46 AMDRyzen7040 steam-runtime[451853]: ERROR: ld.so: object '/home/daniel/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Apr 03 01:01:48 AMDRyzen7040 steam-runtime[452033]: fsync: up and running.
Apr 03 01:01:51 AMDRyzen7040 steam-runtime[452031]: Setting breakpad minidump AppID = 367500
Apr 03 01:01:51 AMDRyzen7040 steam-runtime[452031]: Steam_SetMinidumpSteamID:  Caching Steam ID:  76561197996595002 [API loaded no]
Apr 03 01:01:52 AMDRyzen7040 steam-runtime[452203]: Fossilize INFO: Overriding serialization path: "/home/daniel/.local/share/Steam/steamapps/shadercache/367500/fozpipelinesv6/steamapprun_pipeline_cache".
Apr 03 01:01:53 AMDRyzen7040 steam-runtime[439471]: GameOverlay: started '/home/daniel/.local/share/Steam/ubuntu12_32/gameoverlayui' (pid 452361) for game process 452203
Apr 03 01:01:53 AMDRyzen7040 steam-runtime[452361]: 04/03 01:01:53 Init: Installing breakpad exception handler for appid(gameoverlayui)/version(20240329170910)/tid(452361)
Apr 03 01:01:53 AMDRyzen7040 steam-runtime[452361]: 04/03 01:01:53 Init: Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)/tid(452361)
Apr 03 01:01:53 AMDRyzen7040 steam-runtime[452361]: minidumps folder is set to /tmp/dumps
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kwin_wayland[438763]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 01:01:54 AMDRyzen7040 kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22

Those kwin_wayland and kernel drm lines just kept repeating in the journal until I Alt-F4’d the game.

So this is what I think I know:

  1. Both X11 and Wayland failed (in differnt ways) to play DDDA (and some other titles) when the DP monitor was direct connected to the dGPU
  2. Perhaps there is an issue with my dGPU (or it’s port/firmware), or the amdgpu drivers still need some work/maturing for the dGPU, or the laptop’s BIOS needs some work
  3. I have always left the 2 DP modules in their positions… perhaps the one I’ve been using to connect to the dGPU is bad… It’s almost 2am here, so I’ll save swapping the modules to see if the issue follows the module after I’ve had some sleep.
  4. As I never received and specific answer to my question in the Use of USB port on GPU Expansion Module - #18 by Daniel_I thread… perhaps the DP module was not meant to be used with the dGPU port?

I look forward to learning where the actual issue lies (DP module, dGPU, dGPU firmware, andgpu drivers, BIOS, etc.)… I think we’re closing in. Hopefully what I pulled from the journal is illuminating and I’ll report back on what happened with the DP module swap.

------- Update -------
So this morning I…

  1. flicked the tab to unlock the side modules
  2. Removed the side DP module that’s always been there
  3. Connected it to the dGPU port with the DP monitor cable
  4. Launched DDDA… blank/black screen, and same kwin_wayland and kernel drm spam in journalctl
  5. unplugged the DP module/cable from the dGPU, reinserted it into the side, and flicked the module lock tab
  6. Launched DDDA and it loaded with an image (no longer blank/black) and no kwin_wayland and kernel drm entried in journalctl

I think it’s safe to rule out a bad DP module.

Can you do me a favor and test something for me? Boot up with nothing connected, then connect to the dGPU port, then try launching anything that uses the gpu (game, nvtop, etc).

Does it fail to run? Does it hang/lock up and cause the laptop to act funny and fail to power down/reboot properly?

I am having this issue and it is pretty major, posted about it here:

I just want to confirm if I have a defective dGPU or if this is an issue Framework needs to fix? No one has responded to my post about it.

Can you try upgrading to the latest kernel series (6.8)? Newer amdgpu code may help here.

Manjaro is only listing linux 6.8.0rc6-1, so it hasn’t been officially released yet… But I’ll give it a whirl.

Same result with kernel 6.8… what I did was:

  1. Installed linux 6.8.0rc6-1 kernel and rebooted
  2. manually selected kernel 6.8 at grub menu
  3. launched DDDA with DP module/cable @ side… launched okay with no journal spam
  4. removed DP cable and module and plugged into dGPU
  5. launched DDDA, received the blank/black screen and confirmed spam in journal

Below are the journalctl entries from the point I disconnected the DP module from the side…

Apr 03 11:45:31 AMDRyzen7040 kernel: usb 1-1: USB disconnect, device number 12
Apr 03 11:45:31 AMDRyzen7040 plasmashell[1187]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
Apr 03 11:45:31 AMDRyzen7040 plasmashell[1187]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
Apr 03 11:45:31 AMDRyzen7040 plasmashell[1187]: Checking screens: available: (QScreen(0x62d759d5d5f0, name="eDP-2")) redundant: QHash() fake: QSet() all: (QScreen(0x62d759d5d5f0, name="eDP-2"), QScreen(0x62d75cfa8c10, name="DP-5"))
Apr 03 11:45:31 AMDRyzen7040 kcminit[4500]: Initializing  "/usr/lib/qt/plugins/plasma/kcms/systemsettings/kcm_fonts.so"
Apr 03 11:45:31 AMDRyzen7040 kcminit[4506]: Initializing  "/usr/lib/qt/plugins/plasma/kcms/systemsettings/kcm_fonts.so"
Apr 03 11:45:31 AMDRyzen7040 kcminit[4502]: Initializing  "/usr/lib/qt/plugins/plasma/kcms/systemsettings/kcm_fonts.so"
Apr 03 11:45:31 AMDRyzen7040 kcminit[4527]: Initializing  "/usr/lib/qt/plugins/plasma/kcms/systemsettings/kcm_fonts.so"
Apr 03 11:45:31 AMDRyzen7040 plasmashell[1187]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:20: TypeError: Cannot read property 'pluginName' of null
Apr 03 11:45:31 AMDRyzen7040 plasmashell[1187]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:75: TypeError: Cannot read property 'configuration' of null
Apr 03 11:45:31 AMDRyzen7040 plasmashell[1187]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:78: TypeError: Cannot read property 'pluginName' of null
Apr 03 11:45:31 AMDRyzen7040 plasmashell[1187]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:80: TypeError: Cannot read property 'configuration' of null
Apr 03 11:45:31 AMDRyzen7040 plasmashell[1187]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:81: TypeError: Cannot read property 'configuration' of null
Apr 03 11:45:31 AMDRyzen7040 plasmashell[1187]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:82: TypeError: Cannot read property 'configuration' of null
Apr 03 11:45:31 AMDRyzen7040 plasmashell[1187]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:83: TypeError: Cannot read property 'configuration' of null
Apr 03 11:45:31 AMDRyzen7040 plasmashell[1187]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:84: TypeError: Cannot read property 'configuration' of null
Apr 03 11:45:31 AMDRyzen7040 plasmashell[1187]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:16: TypeError: Cannot read property 'configuration' of null
Apr 03 11:45:31 AMDRyzen7040 plasmashell[1187]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:17: TypeError: Cannot read property 'configuration' of null
Apr 03 11:45:31 AMDRyzen7040 plasmashell[1187]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:18: TypeError: Cannot read property 'configuration' of null
Apr 03 11:45:31 AMDRyzen7040 kcminit[4516]: Initializing  "/usr/lib/qt/plugins/plasma/kcms/systemsettings/kcm_fonts.so"
Apr 03 11:45:31 AMDRyzen7040 kcminit[4515]: Initializing  "/usr/lib/qt/plugins/plasma/kcms/systemsettings/kcm_fonts.so"
Apr 03 11:45:31 AMDRyzen7040 kcminit[4519]: Initializing  "/usr/lib/qt/plugins/plasma/kcms/systemsettings/kcm_fonts.so"
Apr 03 11:45:31 AMDRyzen7040 kcminit[4537]: Initializing  "/usr/lib/qt/plugins/plasma/kcms/systemsettings/kcm_fonts.so"
Apr 03 11:45:31 AMDRyzen7040 kcminit[4536]: Initializing  "/usr/lib/qt/plugins/plasma/kcms/systemsettings/kcm_fonts.so"
Apr 03 11:45:31 AMDRyzen7040 kcminit[4548]: Initializing  "/usr/lib/qt/plugins/plasma/kcms/systemsettings/kcm_fonts.so"
Apr 03 11:45:36 AMDRyzen7040 kernel: ucsi_acpi USBC000:00: ucsi_handle_connector_change: ACK failed (-110)
Apr 03 11:45:42 AMDRyzen7040 kernel: usb 1-2.4: new full-speed USB device number 13 using xhci_hcd
Apr 03 11:45:42 AMDRyzen7040 kernel: amdgpu 0000:03:00.0: [drm] fb1: amdgpudrmfb frame buffer device
Apr 03 11:45:42 AMDRyzen7040 kwin_wayland[1006]: kwin_wayland_drm: Failed to create AR30 framebuffer for multi-gpu: Invalid argument
Apr 03 11:45:42 AMDRyzen7040 kwin_wayland[1006]: kwin_wayland_drm: Failed to create XR30 framebuffer for multi-gpu: Invalid argument
Apr 03 11:45:42 AMDRyzen7040 kwin_wayland[1006]: kwin_wayland_drm: Failed to create AR24 framebuffer for multi-gpu: Invalid argument
Apr 03 11:45:42 AMDRyzen7040 kwin_wayland[1006]: kwin_wayland_drm: Failed to create XR24 framebuffer for multi-gpu: Invalid argument
Apr 03 11:45:42 AMDRyzen7040 kernel: usb 1-2.4: New USB device found, idVendor=32ac, idProduct=0003, bcdDevice= 0.00
Apr 03 11:45:42 AMDRyzen7040 kernel: usb 1-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Apr 03 11:45:42 AMDRyzen7040 kernel: usb 1-2.4: Product: DisplayPort Expansion Card
Apr 03 11:45:42 AMDRyzen7040 kernel: usb 1-2.4: Manufacturer: Framework
Apr 03 11:45:42 AMDRyzen7040 kernel: usb 1-2.4: SerialNumber: ##########
Apr 03 11:45:42 AMDRyzen7040 kwin_wayland[1006]: kwin_wayland_drm: Failed to create AR24 framebuffer for multi-gpu: Invalid argument
Apr 03 11:45:42 AMDRyzen7040 kernel: hid-generic 0003:32AC:0003.0011: hiddev96,hidraw0: USB HID v1.11 Device [Framework DisplayPort Expansion Card] on usb-0000:c5:00.3-2.4/input1
Apr 03 11:45:42 AMDRyzen7040 mtp-probe[4587]: checking bus 1, device 13: "/sys/devices/pci0000:00/0000:00:08.1/0000:c5:00.3/usb1/1-2/1-2.4"
Apr 03 11:45:42 AMDRyzen7040 mtp-probe[4587]: bus: 1, device: 13 was not an MTP device
Apr 03 11:45:42 AMDRyzen7040 kcminit[4615]: Initializing  "/usr/lib/qt/plugins/plasma/kcms/systemsettings/kcm_fonts.so"
Apr 03 11:45:42 AMDRyzen7040 kcminit[4614]: Initializing  "/usr/lib/qt/plugins/plasma/kcms/systemsettings/kcm_fonts.so"
Apr 03 11:45:42 AMDRyzen7040 kcminit[4625]: Initializing  "/usr/lib/qt/plugins/plasma/kcms/systemsettings/kcm_fonts.so"
Apr 03 11:45:42 AMDRyzen7040 kcminit[4610]: Initializing  "/usr/lib/qt/plugins/plasma/kcms/systemsettings/kcm_fonts.so"
Apr 03 11:45:42 AMDRyzen7040 plasmashell[1187]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
Apr 03 11:45:42 AMDRyzen7040 plasmashell[1187]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
Apr 03 11:45:42 AMDRyzen7040 plasmashell[1187]: Checking screens: available: (QScreen(0x7b2cd41871b0, name="DP-1"), QScreen(0x62d759d5d5f0, name="eDP-2")) redundant: QHash() fake: QSet() all: (QScreen(0x62d759d5d5f0, name="eDP-2"), QScreen(0x7b2cd41871b0, name="DP-1"))
Apr 03 11:45:42 AMDRyzen7040 kcminit[4626]: Initializing  "/usr/lib/qt/plugins/plasma/kcms/systemsettings/kcm_fonts.so"
Apr 03 11:45:42 AMDRyzen7040 kcminit[4637]: Initializing  "/usr/lib/qt/plugins/plasma/kcms/systemsettings/kcm_fonts.so"
Apr 03 11:45:42 AMDRyzen7040 kcminit[4641]: Initializing  "/usr/lib/qt/plugins/plasma/kcms/systemsettings/kcm_fonts.so"
Apr 03 11:45:42 AMDRyzen7040 mtp-probe[4661]: checking bus 1, device 13: "/sys/devices/pci0000:00/0000:00:08.1/0000:c5:00.3/usb1/1-2/1-2.4"
Apr 03 11:45:42 AMDRyzen7040 mtp-probe[4661]: bus: 1, device: 13 was not an MTP device
Apr 03 11:45:45 AMDRyzen7040 kernel: [UFW BLOCK] IN=enp199s0f3u1 OUT= MAC=01:00:5e:00:00:01:b0:6e:bf:63:49:78:08:00 SRC=192.168.100.1 DST=224.0.0.1 LEN=36 TOS=0x00 PREC=0x00 TTL=1 ID=52906 DF PROTO=2 
Apr 03 11:45:52 AMDRyzen7040 plasmashell[1187]: trying to show an empty dialog
Apr 03 11:45:55 AMDRyzen7040 steam-runtime[4791]: fsync: up and running.
Apr 03 11:45:55 AMDRyzen7040 rtkit-daemon[1040]: Successfully made thread 4820 of process 4807 owned by '1000' high priority at nice level -10.
Apr 03 11:45:55 AMDRyzen7040 rtkit-daemon[1040]: Supervising 11 threads of 5 processes of 1 users.
Apr 03 11:45:58 AMDRyzen7040 steam-runtime[1698]: /bin/sh\0-c\0DRI_PRIME=1 /home/daniel/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=367500 -- /home/daniel/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- '/home/daniel/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper'/_v2-entry-point --verb=waitforexitandrun -- '/home/daniel/.local/share/Steam/steamapps/common/Proton - Experimental'/proton waitforexitandrun  '/home/daniel/.local/share/Steam/steamapps/common/DDDA/DDDA.exe'\0
Apr 03 11:45:58 AMDRyzen7040 steam-runtime[4874]: ERROR: ld.so: object '/home/daniel/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Apr 03 11:45:58 AMDRyzen7040 steam-runtime[4874]: ERROR: ld.so: object '/home/daniel/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
Apr 03 11:45:58 AMDRyzen7040 steam-runtime[4875]: ERROR: ld.so: object '/home/daniel/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Apr 03 11:45:58 AMDRyzen7040 kernel: input: Microsoft X-Box 360 pad 0 as /devices/virtual/input/input32
Apr 03 11:45:58 AMDRyzen7040 steam-runtime[4875]: ERROR: ld.so: object '/home/daniel/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Apr 03 11:45:58 AMDRyzen7040 steam-runtime[4878]: ERROR: ld.so: object '/home/daniel/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Apr 03 11:46:00 AMDRyzen7040 steam-runtime[4995]: fsync: up and running.
Apr 03 11:46:03 AMDRyzen7040 steam-runtime[4993]: Setting breakpad minidump AppID = 367500
Apr 03 11:46:03 AMDRyzen7040 steam-runtime[4993]: Steam_SetMinidumpSteamID:  Caching Steam ID:  76561197996595002 [API loaded no]
Apr 03 11:46:03 AMDRyzen7040 steam-runtime[5067]: Fossilize INFO: Overriding serialization path: "/home/daniel/.local/share/Steam/steamapps/shadercache/367500/fozpipelinesv6/steamapprun_pipeline_cache".
Apr 03 11:46:05 AMDRyzen7040 kernel: [UFW BLOCK] IN=enp199s0f3u1 OUT= MAC=01:00:5e:00:00:01:b0:6e:bf:63:49:78:08:00 SRC=192.168.100.1 DST=224.0.0.1 LEN=36 TOS=0x00 PREC=0x00 TTL=1 ID=54709 DF PROTO=2 
Apr 03 11:46:05 AMDRyzen7040 steam-runtime[1698]: GameOverlay: started '/home/daniel/.local/share/Steam/ubuntu12_32/gameoverlayui' (pid 5139) for game process 5067
Apr 03 11:46:05 AMDRyzen7040 steam-runtime[5139]: 04/03 11:46:05 Init: Installing breakpad exception handler for appid(gameoverlayui)/version(20240329170910)/tid(5139)
Apr 03 11:46:05 AMDRyzen7040 steam-runtime[5139]: 04/03 11:46:05 Init: Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)/tid(5139)
Apr 03 11:46:05 AMDRyzen7040 steam-runtime[5139]: minidumps folder is set to /tmp/dumps
Apr 03 11:46:05 AMDRyzen7040 kwin_wayland[1006]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 11:46:05 AMDRyzen7040 kernel: [drm:amdgpu_dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 11:46:05 AMDRyzen7040 kwin_wayland[1006]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 11:46:05 AMDRyzen7040 kwin_wayland[1006]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 11:46:05 AMDRyzen7040 kwin_wayland[1006]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 11:46:05 AMDRyzen7040 kernel: [drm:amdgpu_dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22
Apr 03 11:46:06 AMDRyzen7040 kwin_wayland[1006]: kwin_wayland_drm: Atomic commit failed! Invalid argument
Apr 03 11:46:06 AMDRyzen7040 kwin_wayland[1006]: kwin_wayland_drm: Presentation failed! Invalid argument
Apr 03 11:46:06 AMDRyzen7040 kernel: [drm:amdgpu_dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22

What I thought was interesting from this snippet was that kwin_wayland_drm related errors were already being thrown after connecting the module/cable to the dGPU; prior to launching the game:

Apr 03 11:45:36 AMDRyzen7040 kernel: ucsi_acpi USBC000:00: ucsi_handle_connector_change: ACK failed (-110)
Apr 03 11:45:42 AMDRyzen7040 kernel: usb 1-2.4: new full-speed USB device number 13 using xhci_hcd
Apr 03 11:45:42 AMDRyzen7040 kernel: amdgpu 0000:03:00.0: [drm] fb1: amdgpudrmfb frame buffer device
Apr 03 11:45:42 AMDRyzen7040 kwin_wayland[1006]: kwin_wayland_drm: Failed to create AR30 framebuffer for multi-gpu: Invalid argument
Apr 03 11:45:42 AMDRyzen7040 kwin_wayland[1006]: kwin_wayland_drm: Failed to create XR30 framebuffer for multi-gpu: Invalid argument
Apr 03 11:45:42 AMDRyzen7040 kwin_wayland[1006]: kwin_wayland_drm: Failed to create AR24 framebuffer for multi-gpu: Invalid argument
Apr 03 11:45:42 AMDRyzen7040 kwin_wayland[1006]: kwin_wayland_drm: Failed to create XR24 framebuffer for multi-gpu: Invalid argument
Apr 03 11:45:42 AMDRyzen7040 kernel: usb 1-2.4: New USB device found, idVendor=32ac, idProduct=0003, bcdDevice= 0.00
Apr 03 11:45:42 AMDRyzen7040 kernel: usb 1-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Apr 03 11:45:42 AMDRyzen7040 kernel: usb 1-2.4: Product: DisplayPort Expansion Card
Apr 03 11:45:42 AMDRyzen7040 kernel: usb 1-2.4: Manufacturer: Framework
Apr 03 11:45:42 AMDRyzen7040 kernel: usb 1-2.4: SerialNumber: ##########
Apr 03 11:45:42 AMDRyzen7040 kwin_wayland[1006]: kwin_wayland_drm: Failed to create AR24 framebuffer for multi-gpu: Invalid argument
Apr 03 11:45:42 AMDRyzen7040 kernel: hid-generic 0003:32AC:0003.0011: hiddev96,hidraw0: USB HID v1.11 Device [Framework DisplayPort Expansion Card] on usb-0000:c5:00.3-2.4/input1
Apr 03 11:45:42 AMDRyzen7040 mtp-probe[4587]: checking bus 1, device 13: "/sys/devices/pci0000:00/0000:00:08.1/0000:c5:00.3/usb1/1-2/1-2.4"
Apr 03 11:45:42 AMDRyzen7040 mtp-probe[4587]: bus: 1, device: 13 was not an MTP device

------- UPDATE -------
Brief update on Wayland performance/experience now that I’ve gotten a bit of game time in with the DP monitor plugged in on the side (iGPU):

  1. Firestone (windowed) works well… let it run for ~2hours
  2. Eternium (windowed) launches another window called OpenGL Renderer when it runs, and seems to work normally… only ran it briefly
  3. DDDA (full screen) also launches OpenGL Renderer when it runs, and felt a little more blurry compared to X11. The game defaults to 60 frame rate and disables sync… and playing with these settings seems to smooth out the blurriness (variable frame rate and sync enabled)… which makes sense as a 60 frame rate isn’t where Freesync would shine, just odd it felt like x11 was smoother with it. Played for about 30 min while Firestone was still running minimized.

I was left with an annoying flicker back on the desktop (dimming and un-dimming) that seemed to pulse in time with the movement of the mouse across the desktop/screen (my DP monitor, it is the primary) when I Alt-Tabbed from DDA to the desktop and persisted after DDDA closed.

I tried adjusting compositor latency settings, but the flickering didn’t stop until after I toggled the monitor down to 120hz then back up to 144hz and toggled “adaptive sync” from automatic to always and back to automatic again.

It may be that adjusting the in-game sync and/or frame rate spilled over somehow and affected the desktop… I’ll try pay attention the next time I launch DDDA to see what happens without tweaking any settings. Once the flicker was gone, I relaunched Firestone and Eternium and they did not bring any flicker with them when they launched or after they closed.

Note: All three games have DRI_PRIME=1 %command% set in the steam launch options.

Hmm, too curious…

  1. I launched DDDA again, left it’s settings alone, alt-tab to desktop and it flickered as I moved the mouse. Closed the game and the flicker was gone.
  2. Went into KDE Display Config and changed he default “adaptive sync” from Automatic to Always (left refresh rate at 144hz) and the screen started flickering with mouse movement!?!
  3. Dropped the refresh rate down to 120hz and the flickering stopped
  4. Upped refresh rate back to 144hz and the flickering returned
  5. went into my monitor settings and adjusted FreeSync from Ultimate Engine down to Standard Engine… System saw this event as a “new monitor attach”, had to reset it as my primary and move the running processes back over to it… but the flickering stopped
  6. Relaunched DDDA, alt-tab to the desktop… no flickering
  7. Closed DDDA… no flickering

So I guess my new issue under Wayland is that it my Freesync DP Monitor flickers with…

  • Monitor Freesync Engine = Ultimate
  • KDE Refresh rate = 144hz
  • KDE Adaptive Sync = Always

And the workarounds are to either reduce the desktop Refresh Rate or reduce the monitors freesync engine.

Anyone know a setting/tweak under wayland to address this? Pretty sure my login script to enable freesync with xrandr back when I had this monitor on my desktop 2+ years ago under x11 never left me with flickers, and I’m pretty sure I’ve had Ultimate Freesync Engine enabled in the monitor since I bought it. Since then this DP monitor has been slacking of as my steamdeck’s external display… so not pushing 144hz over HDMI as that is limited to 120hz… hmmm

So I wonder if the real issue is that while I have the steamdeck still plugged into the monitor’s HDMI port @ 120hz, that 144hz on the DP port isn’t happy until I reduce the frame rate to 120hz (to match the HDMI) or adjust the Freesync Engine… hmm, wonder if the steamdeck is still happy with the Freesync engine change? Damn, too many variables and maybe’s… I feel I should wait for some feedback as a sanity check.

---- Update 2 ----
Okay, the steamdeck hated the monitor being in Freesync Standard Engine mode… it would not even output to it until I reverted back to the Ultimate Engine. Obviously there is some “must consider all connected sources” in play, so for now that I can be flicker-free in Wayland and keep the steamdeck happy… my KDE/monitor settings will be:

  • Monitor Freesync Engine = Ultimate
  • KDE Refresh rate = 120hz
  • KDE Adaptive Sync = Always

Also tested this with DDDA… no flickers alt-tabing to desktop while it was running, nor after it closed.

— Update 3 —
Spoke too soon it seems… just launched Firestone (maximized the window to cover screen), minimized it and watched the desktop flicker… closed the game and the flickering continued. I obviously don’t have a handle on this issue which I’m starting to think is random and invalidating pretty much all of my hypothesis so far… never experienced this under x11.

Hopefully I’ll learn more in the Flicker issues with KDE Wayland at frame rates >100 fps (#2967) · Issues · drm / amd · GitLab discussion where they talk about increasing the performance features of the GPU… just makes me wonder if that’d be the iGPU or dGPU with what I’m experiencing. And if it’s the iGPU, then maybe the “increase the RAM in BIOS” setup recommendation pertains here? But i recall that being for artifacts which I think would be different, no? Hmm, the desktop is connected to the iGPU… the game is rendered by the dGPU with the DRI_PRIME=1 %command%, butg the flickering desktop is still drawn by the iGPU, right?

Seeing as the forum won’t let me keep adding/editing my last post,… here’s a fresh entry.

If I sett VRR=Never, is that similar to VSync? (I understand that X11 freesync was more akin to VSync)?
Currently giving it a try to see if flickering stays away in wayland:

  • Monitor Freesync Engine = Ultimate
  • KDE Refresh rate = 144hz
  • KDE Adaptive Sync = Never

Interesting reading about the flickering… many folks talk about it happening after watching a youtube video video full screen… so not even doing something as taxing as playing a game… just doing something full screen.

@Matt_Hartley $ @Conan_Kudo , any thoughts on the journal entries I shared? Specifically the lines that show errors immediately after connecting to the dGPU; which lis likely the parent issue to all the journal entries during game play.

Apr 03 11:45:42 AMDRyzen7040 kernel: usb 1-2.4: New USB device found, idVendor=32ac, idProduct=0003, bcdDevice= 0.00
Apr 03 11:45:42 AMDRyzen7040 kernel: usb 1-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Apr 03 11:45:42 AMDRyzen7040 kernel: usb 1-2.4: Product: DisplayPort Expansion Card
Apr 03 11:45:42 AMDRyzen7040 kernel: usb 1-2.4: Manufacturer: Framework
Apr 03 11:45:42 AMDRyzen7040 kernel: usb 1-2.4: SerialNumber: ##########
Apr 03 11:45:42 AMDRyzen7040 kwin_wayland[1006]: kwin_wayland_drm: Failed to create AR24 framebuffer for multi-gpu: Invalid argument
Apr 03 11:45:42 AMDRyzen7040 kernel: hid-generic 0003:32AC:0003.0011: hiddev96,hidraw0: USB HID v1.11 Device [Framework DisplayPort Expansion Card] on usb-0000:c5:00.3-2.4/input1
Apr 03 11:45:42 AMDRyzen7040 mtp-probe[4587]: checking bus 1, device 13: "/sys/devices/pci0000:00/0000:00:08.1/0000:c5:00.3/usb1/1-2/1-2.4"
Apr 03 11:45:42 AMDRyzen7040 mtp-probe[4587]: bus: 1, device: 13 was not an MTP device

The errors/experience/symptoms are different between X11 and wayland, but neither are without problems. Are we approaching the conclusion that the dGPU port is not fully functional as an external display port? Or can you share where/what work will need to be done to resolve these types of issues? Is it all on the amdgpu driver, or might there be some BIOS and/or Firmware updates required? Or is this pure KDE/Kwin?

I think the “flickering” you are experiencing is just a side effect of VRR. My monitors do the same thing if I enable “Active Sync” on the desktop (happens whether they are connected to my gaming desktop (displayport), or the Framework laptop. My monitors have an overlay I can enable that shows the current refresh rate. With active sync enabled, it will be at 48hz with nothing moving on the screen. If I move the mouse, it will jump to 165hz while the mouse is in motion and I get the flicker when it changes.

I just accepted this as part of having VRR on and left it at that. It doesn’t really show that much while gaming with all the motion happening on the screen. Or, maybe my Acer monitors are just cheap and crappy.

I don’t know if this still applies with plasma 6, or if it was only required because i have multiple monitors, but I had to force enable VRR in my games on the desktop PC. My steam games have launch options configured like this to force it when game is running, then back to automatic when closed. In automatic, it is only supposed to work when the application/game is in fullscreen mode I believe.

kscreen-doctor output.1.vrrpolicy.always; %command%; kscreen-doctor output.1.vrrpolicy.automatic

Also, I did the above because, like you, I found the flickering outside of gaming pretty annoying, so I only wanted it enabled when in a game.

EDIT: Got me thinking, so I launched Helldivers 2 on my desktop without the above settings hacks and VRR does work in game now. So looks like that’s fixed.

So far the settings above seem to have resolved flickering for me… and I’m good with that. The more I dig into wayland, the more little niggles/growing-pains I see that need to be considered.

So from this point forward, I’d like to focus on the initial issue… dGPU port has issues when I try connect my DP monitor to it.

  1. Within an x11 session, it’s output appears to be forced to the left and working within an invisible box equal to the DP monitor width (the dimensions of the monitor connected to it)… move the game to the right, and it stops rendering at the right edge of that invisible box. When my DP monitor was on the left this worked out… but once I moved the DP monitor to the right, forcing left was revealed, and is a problem (in X11).
  2. Within a Wayland session it appears that steam games (run via proton) load blank/black. based on the journal entries provided, this starts with a kwin_wayland_drmerror immediately when a connection is made on the dGPU port, after you launch a game that loads blank, the journal fills with additional kwin_wayland_drm and drm:amdgpu_dm_plane_helper_prepare_fb [amdgpu] messages.

Regardless of which session is launched, the issue can be worked-around by moving the DP cannection to the side iGPU port… which is not a solution to using the dGPU port directly and suffers (based on what I read) a 10% performance hit.

Seems there are some positive shifts towards a solution after updating to Plasma 2.1.5

Operating System: Manjaro Linux 
KDE Plasma Version: 6.1.5
KDE Frameworks Version: 6.6.0
Qt Version: 6.7.2
Kernel Version: 6.6.54-2-MANJARO (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 9 7940HS w/ Radeon 780M Graphics
Memory: 30.5 GiB of RAM
Graphics Processor: AMD Radeon 780M
Manufacturer: Framework
Product Name: Laptop 16 (AMD Ryzen 7040 Series)
System Version: AJ

Along the way my DP input on monitor died, so I’ve switch to connecting it via HDMI-to-USBC.

Post Plasma Update, I had a couple casual games running via gamescope… and I thought I’d see what hapens if I simply unplugged the external monitor for the side port and direct connected it to the dGPU.

I was plesantly surprised when all seemed to be well… no “invisible lines” all areas clickable… things were looking up.

Then I figured that I should reboot just to see what happens then… and SDDM only displaying on the laptop display (as expected having not updated /usr/share/sddm/scripts/Xsetup), I logged in, both monitors were displaying within the wayland session, launched the same two casual games and all seemed normal… no “invisible lines” or unclickable areas.

Then I started rereading through this thread to see what other tests might be relevant to retry and launched a full screen game (Grim Dawn). Things looked well once again with no invisible lines.

However, this is where things went off the rails.

I noticed the refresh rate was lower than normal (see Worse gaming (FPS) performance after upgrading PPD 0.21-1 to PPD 0.23-1) and adjusted the PPD slider to balanced… accessng the slider by pressing Meta/Win key to expose the system tray and access the slider

At some point after pressing the Meta key and either before/after adjusting the slider… I had a slight freeze which I think might have been a plasma or xwayland crash/recovery… and had to close the game with Steam as the game stopped presenting visual changes.

Relaunched the game just to confirm the frame rate increased, which it did, but when I closed the game via it’s internal enu/option… the PC froze so hard that even REISUB would not save me.

So I’m not sure if adjusting the PPD slider with the full screen game running caused the crash… but I was able to do that without issues while games were running in a gamescope window before moving my display cable to the dGPU.

Analyzing the journal afterwards, it looks like 10 minutes after boot (I suspect after i launched closed the casual games and opened the fullscreen game), I got the following in

journalctl -p 3 -b -1 -x   
Oct 17 11:41:59 AMD-Ryzen9-7940HS kwin_wayland[996]: kwin_wayland_drm: Pageflip timed out! This is a kernel bug
Oct 17 11:42:16 AMD-Ryzen9-7940HS kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22

That last line repeated hundred of times until xwayland coredump … (I suspect when game/system crash/froze)

Oct 17 11:46:13 AMD-Ryzen9-7940HS systemd-coredump[67568]: [🡕] Process 1092 (Xwayland) of user 1000 dumped core.

I figure/hope that my still being on lts kernel 6.6, might explain either of these journal entries… and that when lts kernel 6.12 comes out that might change things for the better… however, one is related to kwin_wayland… so at least part of he issue appears to be with KDE.

Now I have to figure out what damage happened in my home folder during the crash…

$journalctl -p 3 -b 0
Oct 17 11:49:12 AMD-Ryzen9-7940HS kernel: EXT4-fs error (device nvme1n1p3): ext4_orphan_get:1424: comm mount: bad orphan inode 33297853
Oct 17 11:49:12 AMD-Ryzen9-7940HS kernel: ext4_test_bit(bit=5564, block=133169168) = 0


$ lsblk -f 
NAME        FSTYPE FSVER LABEL      UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
nvme1n1                                                                                 
├─nvme1n1p1 vfat   FAT32 EFI SYSTEM 1FC6-DE58                             510.7M     0% /boot/efi
├─nvme1n1p2 ext4   1.0   Manjaro    0e2d6c29-a2a6-4fd2-a472-78713cd43975   67.1G    26% /
├─nvme1n1p3 ext4   1.0   Home       2c1b4c48-6cd6-4f81-af2b-42f766665d5f   89.1G    83% /home
└─nvme1n1p4 swap   1     Swap       e819436d-6704-4578-a97f-2000170f14af                [SWAP]
nvme0n1                                                                                 
└─nvme0n1p1 ext4   1.0   Backup     016ce75b-2aeb-458b-a403-94b06ac57be8  178.1G    76% /data/sn740

I’ll try unmount /Home in a TTY post logout… but I suspect I’ll need a live USB key to boot and then check the drive from there.

EDIT:
Log out, switch to tty, umount and e2fschk only prompted concerning optimization of inodes which I let it do and rebooted.

I got curious about what file the inode from the journal was referring to, and I think only impacting a firefox cache file is pretty lucky/fortunate

$ find . -inum 33297853
./.cache/mozilla/firefox/bzlnfjz7.default-release/cache2/entries/18C0A1412751BC8FB583B3AA48924987874873F1

With the cable moved back tot he side port (iGPU) I launched Grim Dawn fullscreen again, noticed that the frame rate was 100 instead of 50 (1/2 fps while connected to dGPU?), closed the game without issue, and confirmed no kwin/drm/coredump errors in the journal… yah, gonna keep the connection to the iGPU until lts kernel 6.12 (and KDE Plasma 6.2+) later this year and then try again.

EDIT 2:
Per my revised Worse gaming (FPS) performance after upgrading PPD 0.21-1 to PPD 0.23-1 thread, the issue with lower game performance was upgrading PPD to 0.23-1 and downgrading it back to 0.21-1 solved the performance issues.

On the surface it seems many of my graphical issues (like “invisible lines” clipping video output) have been resolved… but underlying amdgpu (and/or kwin_wayland) issues remain. I’m hopeful the next 6.12 LTS kernel and all it’s combined AMD fixes/features added post LTS 6.6 will help solve these.

kwin_wayland[996]: kwin_wayland_drm: Pageflip timed out! This is a kernel bug
kernel: [drm:dm_plane_helper_prepare_fb [amdgpu]] *ERROR* Failed to pin framebuffer with error -22