Bug 452731

Summary: Duckstation QT application stuck on top left when trying to go fullscreen
Product: [Plasma] kwin Reporter: Leonardo <kinetocore>
Component: wayland-genericAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: normal CC: kde, nate
Priority: NOR    
Version First Reported In: 5.24.4   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: Log of WAYLAND_DEBUG=1
Screenshow showing the problem

Description Leonardo 2022-04-18 13:07:31 UTC
Created attachment 148220 [details]
Log of WAYLAND_DEBUG=1

SUMMARY

Duckstation is a PS1 emulator that has a problem when goes fullscreen on a Wayland session. 

If you try to go fullscreen, the windows is put on the top left of my desktop, stuck there.


STEPS TO REPRODUCE
1. Open Duckstation, Options->General Settings->Render to Main Window->Disabled (it's another problem with the program, if you try to render to main window, it's invisible, you can hear only the sound).
2. Download this homebrew [https://archive.org/details/magic-castle-2021-01-feb] (it's a community project, not a copyrighted game, so free to distribute). Unpack it where you want.
3. System->Start File->Point to it.
4. Try to go fullscreen with Alt+Enter.

OBSERVED RESULT

Windows stuck on top left.

EXPECTED RESULT

Fullscreen.

SOFTWARE/OS VERSIONS
Operating System: Manjaro Linux
KDE Plasma Version: 5.24.4
KDE Frameworks Version: 5.92.0
Qt Version: 5.15.3
Kernel Version: 5.15.32-1-MANJARO (64-bit)
Graphics Platform: Wayland
Processors: 4 × Intel® Core™ i5-7300U CPU @ 2.60GHz
Memory: 15.5 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics 620 (21.3.8) (Laptop monitor at 1366x768)

ADDITIONAL INFORMATION

Duckstation is built from AUR (https://aur.archlinux.org/packages/duckstation-git) and it uses QT 5.15.3. It worked around November 2021 but then stopped working. 

There is a VERY similar bug https://bugs.kde.org/show_bug.cgi?id=444962 but Duckstation doesn't use SDL for window management.

I'll add a Wayland Debug log as requested on IRC, it's simply taken by starting a game and going in and out fullscreen 3-4 times. I've used this from terminal env WAYLAND_DEBUG=1 duckstation-qt > logfile 2>&1 .
Comment 1 Leonardo 2022-04-18 13:09:25 UTC
Created attachment 148221 [details]
Screenshow showing the problem
Comment 2 Vlad Zahorodnii 2022-04-19 07:01:58 UTC
Based on the log, there are a few fullscreen windows created. KWin responds with a correct configure event, which has 1366x768 size, but duckstation attaches a buffer of size 640x480 for whatever reason. Do you know if it forces some mode? For example, many video games allow you to choose resolution, if there's such a setting, can you try changing it?
Comment 3 David Edmundson 2022-04-19 07:39:57 UTC
We should still do

"	If the surface doesn't cover the whole output, the compositor will position the surface in the center of the output and compensate with with border fill covering the rest of the output. The content of the border fill is undefined, but should be assumed to be in some way that attempts to blend into the surrounding area (e.g. solid black)."
Comment 4 Leonardo 2022-04-19 20:04:07 UTC
(In reply to Vlad Zahorodnii from comment #2)
> Based on the log, there are a few fullscreen windows created. KWin responds
> with a correct configure event, which has 1366x768 size, but duckstation
> attaches a buffer of size 640x480 for whatever reason. Do you know if it
> forces some mode? For example, many video games allow you to choose
> resolution, if there's such a setting, can you try changing it?

Duckstation comes with the capability to render the internal resolution of a game at different levels x2,x3,etc (original playstation was 640x224)... for example x3 is for 720p, x5 for 1080p. 

As far as i know it's only rendering the game and not changing the resolution of the window by the same size. 

Just to be sure i used 1x (so upscaling disabled) but it's still the same problem. The strange thing is that for a brief moment goes fullscreen correctly, then goes stuck on the top left.
Comment 5 Vlad Zahorodnii 2024-06-12 09:14:28 UTC

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