Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

linux/Qt: broken rendering on Wayland #16254

Open
5 tasks done
gucio321 opened this issue Oct 18, 2022 · 9 comments
Open
5 tasks done

linux/Qt: broken rendering on Wayland #16254

gucio321 opened this issue Oct 18, 2022 · 9 comments
Milestone

Comments

@gucio321
Copy link
Contributor

gucio321 commented Oct 18, 2022

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

7db6467

Last working version

No response

Graphics backend (3D API)

OpenGL / GLES

Checklist

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

anr2me commented Oct 18, 2022

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?

@unknownbrackets
Copy link
Collaborator

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]

@gucio321
Copy link
Contributor Author

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

@hrydgard hrydgard added this to the v1.15.0 milestone Nov 23, 2022
@hrydgard hrydgard modified the milestones: v1.15.0, Future-Prio Jan 29, 2023
@hch12907
Copy link
Contributor

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

@jiang131072
Copy link

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

@devnoot
Copy link

devnoot commented May 27, 2024

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.

@hrydgard
Copy link
Owner

Since when is there an install process?

Qt is indeed unmaintained except for keeping it building.

@devnoot
Copy link

devnoot commented May 28, 2024

I meant the build process

@hrydgard
Copy link
Owner

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants