-
Notifications
You must be signed in to change notification settings - Fork 259
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
Segmentation fault on startup under Wayland #233
Comments
This seems like a problem between Qt and the OpenGL subsystem in your graphics card drivers. Can you check if any of these suggestions work? (specifically starting with the argument "--noshaders").
It looks as if you are using Mesa3d as graphics driver for your intel card. Maybe you used a more specific driver before cleaning up? |
The noshaders option didn't work and the drivers/modules for Intel GPUs are present on my system. However, I managed to find out that the segfaults happen only on Wayland. MH doesn't encounter this issue when run under an X11 session. |
Does Qt5/PyQt5 provide any Wayland support? |
latebind.py unfortunately very often returns with a NoneType, this seems to be one of the most famous messages for OpenGL. Just google for it and check how often in returns a NoneType ... :( Here my example: .. in new version I get exactly this error after loading a character and when I want to do a render in a background-buffer. No matter what gl-Command, the first one throws an exception. After pressing render button again it works. It also renders exactly the same character when it is added as an argument like makehuman mychar.mhm we often say that is wayland, but I think it is more a conflict between Qt5/OpenGL ... (in my version PySide6 + OpenGL). It could be some kind of synchronization or openGL context error ... in my case the character is loaded asynchronously (QThread) like in old makehuman as well. I must block openGL as long as the load command is running otherwise the slightest change of perspective will crash the application. But I think we also start old makehuman like this? Because this behaviour allows to change the progress bar? It would be a similarity. When you check latebind.py ... that's a stupid wrapper which does not do much. If it is not started with a QThread the render of my "pre-loaded" character works. If I find sth. what fixes my problem, it could also fix this "wayland" one. |
Unfortunately I have no wayland ..
I do not like that at all, encapsulation of a bunch of commands really helps in case of error :( If the glViewport command already fails it could be a missing context. In my case (see above, same error but total different situation) I did the following:
That might look ridiculous, but fixed my problem. So asking for a stupid integer seems to "wake up" GL again glGetIntegerv(G.GL_MAJOR_VERSION, '*') |
@black-punkduck : I cannot help here because I'm not on Wayaland either. I was just wondering... |
Issue
MakeHuman crashes upon startup with a segmentation fault when run on Wayland.
Expected behavior
MakeHuman starts up without any issue
System information
System: Ubuntu 22.04.3
MH version: latest master branch revision (reported as 1.2.1)
Python version: 3.10.12
Qt version: 5.15.3
Display server: Wayland
Log
The text was updated successfully, but these errors were encountered: