azagaya / laigter

Laigter: automatic normal map generator for sprites!
https://azagaya.itch.io/laigter
GNU General Public License v3.0
905 stars 62 forks source link

Blank window on Linux #98

Closed avahe-kellenberger closed 1 month ago

avahe-kellenberger commented 1 year ago

I cloned and built the project according to the README, and laigter is just a blank window. Here's the terminal output:

 ./laigter
QMetaObject::connectSlotsByName: No matching signal for on_pushButton_clicked()
QOpenGLShaderProgram::attributeLocation(aPos): shader program is not linked
QOpenGLShaderProgram::attributeLocation(aPos): shader program is not linked
QOpenGLShaderProgram::attributeLocation(aTexCoord): shader program is not linked
QOpenGLShaderProgram::attributeLocation(aTexCoord): shader program is not linked
QObject::disconnect: Unexpected nullptr parameter
QObject::disconnect: Unexpected nullptr parameter
QImage::scaled: Image is a null image
QObject::disconnect: Unexpected nullptr parameter

I assume this may be an incompatibility with Qt? I'm on Arch Linux, the most recent version of qt5-base currently is qt5-base 5.15.10+kde+r158-1.

If you have any thoughts/ideas to debug the problem I'd appreciate it. Thanks!

azagaya commented 1 year ago

Hi, you dont see anything, not even the UI? Or you just dont see the rendering? Those message in the console are not critical. It should work anyways.

avahe-kellenberger commented 1 year ago

Nothing at all, the window just isn't rendering any contents.

azagaya commented 1 year ago

Can you share me your PC specs? Have you tried the appimage in the releases?

avahe-kellenberger commented 1 year ago

I've also tried the appimage with the same result.

OS: Arch Linux x86_64 
Kernel: 6.1.55-1-lts 
Resolution: 1920x1080 
WM: nimdow 
Theme: Ant-Dracula [GTK2/3] 
Icons: breeze-dark [GTK2/3]
CPU: AMD Ryzen 9 7950X (32) @ 4.500GHz 
GPU: AMD ATI Radeon RX 6800/6800 XT / 6900 XT 
Memory: 4474MiB / 31828MiB 
leombrunk commented 1 year ago

I ran into this issue and did some testing, it seems to be an issue with the var need_to_update when it checks for it in force_update.

With the check present I can only update the display by clicking on or around the image. Otherwise opening the program for the first time or changing windows leads to a blank screen. It's not until I click on or around the image that the display updates. And then clicking buttons/sliders/tabs makes no update to the display until I again click on or around the image.

I am also using an AMD gpu (mesa driver) and a window manager so this maybe related WM: i3 CPU: AMD Ryzen 7 5825U with Radeon Grap GPU: AMD ATI 04:00.0 Barcelo

My solution for now is to remove the check for need_to_update in force_update so that it just always runs update() but I'm sure that check exists for performance reasons or something so I think a real solution is still needed.

EDIT: This works but I also get a black image when I select the normal map mode for the first image I import. I instead have to import the image and normal map it, then import a second image and normal map it, then it appears. Workaround but I got it working. Also thanks for the tool!

Raiguri commented 4 months ago

Still not fixed :(

azagaya commented 4 months ago

@Raiguri is been very hard for me to fix this because I've never been able to reproduce on my side sadly. If i ever reproduce it ill will work on a fix.

The workarround of removing need_to_update wont be viable for everyone as it increases the cpu usage a lot.

azagaya commented 1 month ago

Ill close this because i cannot reproduce it with the latest build (see in github actions) With Ubuntu 24.04