ppsspp icon indicating copy to clipboard operation
ppsspp copied to clipboard

linux/Qt: broken rendering on Wayland

Open gucio321 opened this issue 2 years ago • 9 comments

Game or games this happens in

N/A

What area of the game / PPSSPP

Hi there, the app compiled against Qt and run on wayland looks this way: image

(it is all white in fact, but screenshot system made it black. On startup, I can see the startup menu but it turns white (It seems like alpha gets from 255 to 0 instead from 0 to 255)

reffer #16163

What should happen

everything should work like on X11

Logs

generally nothing special

logs
QSocketNotifier: Can only be used with threads started with QThread
ThreadManager::Init(compute threads: 10, all: 20)
Registered VFS for prefix : /usr/local/share/ppsspp/assets
Registered VFS for prefix : /home/mszeptuch/git/ppsspp/build/assets
Registered VFS for prefix : /home/mszeptuch/git/ppsspp/build
Registered VFS for prefix : /usr/local/share/ppsspp/assets
Registered VFS for prefix : /usr/local/share/games/ppsspp/assets
Registered VFS for prefix : /usr/share/ppsspp/assets
Registered VFS for prefix : /usr/share/games/ppsspp/assets
Registered VFS for prefix : assets
Registered VFS for prefix : /home/mszeptuch
58:39:188 Core/Config.cpp:1441 I[LOADER]: Loading controller config: /home/mszeptuch/.config/ppsspp/PSP/SYSTEM/controls.ini
58:39:188 Core/Config.cpp:1484 I[LOADER]: Config loaded: '/home/mszeptuch/.config/ppsspp/PSP/SYSTEM/ppsspp.ini'
58:39:188 Core/Config.cpp:1721 I[SYSTEM]: CleanRecent took 0.00
58:39:194 UI/NativeApp.cpp:821 D[SYSTEM]: ScreenManager!
QObject::connect: No such slot MainWindow::frameSkippinGroup_triggered(QAction *) in /home/mszeptuch/git/ppsspp/Qt/mainwindow.cpp:620
58:39:222 Qt/QtMain.cpp:597 I[SYSTEM]: Initializing GL graphics context
58:39:222 OpenGL/GLFeatures.cpp:195 I[G3D]: GPU Vendor : Intel ; renderer: Mesa Intel(R) Graphics (ADL-S GT1) version str: 4.6 (Core Profile) Mesa 22.1.7 ; GLSL version str: 4.60
58:39:222 OpenGL/GLFeatures.cpp:108 D[G3D]: Checking for GL driver bugs... vendor=3 model='Mesa Intel(R) Graphics (ADL-S GT1)'
58:39:222 OpenGL/thin3d_gl.cpp:213 D[G3D]: Shader module created (0x3e9d510)
58:39:222 OpenGL/thin3d_gl.cpp:213 D[G3D]: Shader module created (0x3e9d5e0)
58:39:222 OpenGL/thin3d_gl.cpp:213 D[G3D]: Shader module created (0x3e9d6d0)
58:39:222 OpenGL/thin3d_gl.cpp:213 D[G3D]: Shader module created (0x3ec4a20)
58:39:222 OpenGL/thin3d_gl.cpp:213 D[G3D]: Shader module created (0x3ec4b10)
58:39:222 Qt/QtMain.cpp:599 I[SYSTEM]: Using thread, starting emu thread
58:39:222 OpenGL/GLRenderManager.cpp:130 I[G3D]: Updating inflight frames to 3
58:39:222 Core/Core.cpp:202 I[G3D]: pixel_res: 200x71. Calling NativeResized()
58:39:222 UI/NativeApp.cpp:872 I[SYSTEM]: NativeInitGraphics
58:39:222 UI/NativeApp.cpp:1449 I[G3D]: NativeResized - setting flag
58:39:223 UI/NativeApp.cpp:930 I[SYSTEM]: NativeInitGraphics completed
58:39:224 UI/DiscordIntegration.cpp:60 I[SYSTEM]: Discord connection initialized
58:39:224 Core/Core.cpp:202 I[G3D]: pixel_res: 960x544. Calling NativeResized()
58:39:224 UI/NativeApp.cpp:1449 I[G3D]: NativeResized - setting flag
58:39:224 UI/NativeApp.cpp:383 N[LOADER]: Not checking for failed graphics backends in debug mode
58:39:260 UI/NativeApp.cpp:1137 I[G3D]: Resized flag set - recalculating bounds
58:39:260 UI/Screen.cpp:144 I[SYSTEM]: ScreenManager::resized(dp: 969x549)
loading control pad mappings from gamecontrollerdb.txt: SUCCESS!
Control pad device 0 not supported by SDL game controller database, attempting to create default mapping...
Added default mapping ok
found control pad: LiteOn Lenovo Calliope USB Keyboard Consumer Control, loading mapping: SUCCESS, mapping is:
03000000ef1700008c60000011010000,LiteOn Lenovo Calliope USB Keyboard Consumer Control,x:b3,a:b0,b:b1,y:b2,back:b8,guide:b10,start:b9,dpleft:b15,dpdown:b14,dpright:b16,dpup:b13,leftshoulder:b4,lefttrigger:a2,rightshoulder:b6,rightshoulder:b5,righttrigger:a5,leftstick:b7,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,platform:Linux
pad 1 has been assigned to control pad: LiteOn Lenovo Calliope USB Keyboard Consumer Control
58:39:335 OpenGL/GLRenderManager.cpp:233 I[G3D]: Running first frame (0)
58:39:496 Core/Config.cpp:1721 I[SYSTEM]: CleanRecent took 0.00
58:39:502 Core/Config.cpp:1568 I[LOADER]: Config saved (clearFailedGPUBackends): '/home/mszeptuch/.config/ppsspp/PSP/SYSTEM/ppsspp.ini'
58:39:502 Core/Config.cpp:1581 I[LOADER]: Controller config saved: /home/mszeptuch/.config/ppsspp/PSP/SYSTEM/controls.ini
qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
02:53:596 Qt/QtMain.cpp:393 I[SYSTEM]: MainUI::Destructor
02:53:596 Qt/QtMain.cpp:395 I[SYSTEM]: EmuThreadStop
02:53:599 UI/NativeApp.cpp:975 I[SYSTEM]: NativeShutdownGraphics
02:53:599 UI/NativeApp.cpp:1020 I[SYSTEM]: NativeShutdownGraphics done
02:53:599 OpenGL/GLRenderManager.cpp:266 I[G3D]: GL submission thread paused. Frame=2
02:53:620 Qt/QtMain.cpp:772 I[SYSTEM]: Left mainInternal here.
02:53:671 Core/Config.cpp:1721 I[SYSTEM]: CleanRecent took 0.00
02:53:682 Core/Config.cpp:1568 I[LOADER]: Config saved (NativeShutdown): '/home/mszeptuch/.config/ppsspp/PSP/SYSTEM/ppsspp.ini'
02:53:683 Core/Config.cpp:1581 I[LOADER]: Controller config saved: /home/mszeptuch/.config/ppsspp/PSP/SYSTEM/controls.ini
02:53:683 UI/NativeApp.cpp:1475 I[SYSTEM]: NativeShutdown called
02:53:683 UI/NativeApp.cpp:1479 I[SYSTEM]: Missing translation [DesktopUI]: Font
02:53:683 UI/NativeApp.cpp:1479 I[SYSTEM]: Missing translation [Graphics]: OpenGL, debug build

Platform

Linux / BSD

Mobile phone model or graphics card

Fedora Workstation 36

PPSSPP version affected

7db6467af953a92989d12194bb815ba68337b92a

Last working version

No response

Graphics backend (3D API)

OpenGL / GLES

Checklist

  • [X] Test in the latest git build in case it's already fixed.
  • [X] Search for other reports of the same issue.
  • [X] Try resetting settings or older versions and include if the issue is related.
  • [X] Try without any cheats and without loading any save states.
  • [X] Include logs or screenshots of issue.

gucio321 avatar Oct 18 '22 11:10 gucio321

Qt version aren't being maintained for a long time i think. Also, if you're using Debug version from recent commits it have some GPU-issue, even on Windows version, like crashes (Vulkan/D3D11), and black screen or messed up textures on PPSSPP UI (OpenGL/D3D9).

Does the same issue also happened on Release version?

anr2me avatar Oct 18 '22 12:10 anr2me

There are validation handlers installed in debug mode that were tripping recently related to some depth and input attachment changes. I don't think it's related. I have not seen any messed up textures in the UI.

If you call PPSSPPQt with a game as an argument, does the game run? On most platforms, we get a backbuffer where we just don't care about alpha. I'm wondering if Qt is giving us a backbuffer where alpha is used by the compositor to blend against windows beneath it. We might not be careful to produce 100% alpha because other platforms don't care.

-[Unknown]

unknownbrackets avatar Oct 18 '22 14:10 unknownbrackets

If you call PPSSPPQt with a game as an argument, does the game run?

I haven't tried but when I run the game clicking on it, the problemm still exists

gucio321 avatar Oct 18 '22 14:10 gucio321

It's pretty bad. On a HiDPI screen, the PPSSPP UI occupies only a quarter of the window, and the rendering is all kinds of messed up there (screenshot doesn't show it though).

image

hch12907 avatar Jul 30 '23 19:07 hch12907

There is a temporary fix for the problem in KDE. You may right click the title bar after launching to configure settings for specific programs (here PPSSPPQt). Add a attribute "active opacity" of 99%. Then put a pure black background window behind PPSSPP.

image

jiang131072 avatar Mar 09 '24 05:03 jiang131072

Is PPSSPPQt not supported anymore? I'm experiencing the same issues on Wayland. If it's not supported, there should be a deprecation notice or something during the install process.

devnoot avatar May 27 '24 23:05 devnoot

Since when is there an install process?

Qt is indeed unmaintained except for keeping it building.

hrydgard avatar May 28 '24 06:05 hrydgard

I meant the build process

devnoot avatar May 28 '24 15:05 devnoot

Right, I should update the wiki page I suppose. Or maybe someone will one day step up to maintain it..

hrydgard avatar May 28 '24 16:05 hrydgard