Malt icon indicating copy to clipboard operation
Malt copied to clipboard

glGetError crash when selecting Malt as Render Engine

Open Pauan opened this issue 1 year ago • 6 comments

Malt version

blender-3.3-last-version

Blender version

3.3.1

OS

NixOS Unstable 64-bit

Hardware info

AMD Ryzen 9 5900X 12-Core | 64 GB RAM | AMD Radeon RX 6800 XT

Issue description and reproduction steps

I was able to install Malt successfully, but when I try to select Malt in the Render Engine dropdown I get this crash:

SETUP IOCapture
Process SpawnProcess-2:
Traceback (most recent call last):
  File "/nix/store/iw1vmh509hcbby8dbpsaanbri4zsq7dj-python3-3.10.10/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/nix/store/iw1vmh509hcbby8dbpsaanbri4zsq7dj-python3-3.10.10/lib/python3.10/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/home/pauan/.config/blender/3.3/scripts/addons/BlenderMalt/.MaltPath/Bridge/__init__.py", line 21, in start_server
    from . import Server
  File "/home/pauan/.config/blender/3.3/scripts/addons/BlenderMalt/.MaltPath/Bridge/Server.py", line 8, in <module>
    from Malt.GL import GL
  File "/home/pauan/.config/blender/3.3/scripts/addons/BlenderMalt/.MaltPath/Malt/GL/GL.py", line 7, in <module>
    from OpenGL.GL import *
  File "/home/pauan/.config/blender/3.3/scripts/addons/BlenderMalt/.MaltPath/Malt/.Dependencies-310/OpenGL/GL/__init__.py", line 4, in <module>
    from OpenGL.GL.VERSION.GL_1_1 import *
  File "/home/pauan/.config/blender/3.3/scripts/addons/BlenderMalt/.MaltPath/Malt/.Dependencies-310/OpenGL/GL/VERSION/GL_1_1.py", line 14, in <module>
    from OpenGL.raw.GL.VERSION.GL_1_1 import *
  File "/home/pauan/.config/blender/3.3/scripts/addons/BlenderMalt/.MaltPath/Malt/.Dependencies-310/OpenGL/raw/GL/VERSION/GL_1_1.py", line 7, in <module>
    from OpenGL.raw.GL import _errors
  File "/home/pauan/.config/blender/3.3/scripts/addons/BlenderMalt/.MaltPath/Malt/.Dependencies-310/OpenGL/raw/GL/_errors.py", line 4, in <module>
    _error_checker = _ErrorChecker( _p, _p.GL.glGetError )
AttributeError: 'NoneType' object has no attribute 'glGetError'

Am I missing an OpenGL dependency or something? Other OpenGL programs work fine on my system.

Attachments

I can't provide a session log because Blender hard crashes, and there is no log file in /tmp

Pauan avatar Mar 25 '23 16:03 Pauan

I tested with Blender 3.4.1 and:

They all give the same error.

Pauan avatar Mar 28 '23 03:03 Pauan

The PyOpenGL library is included with the addon download, but it's failing to load. I have no idea what could be going on and I certainly can't reproduce it myself.

If you haven't, I'd try using the official Blender version (https://www.blender.org/download/).

pragma37 avatar Mar 30 '23 21:03 pragma37

It is the official Blender version, it's downloaded from https://download.blender.org/source/blender-3.4.1.tar.xz. I can run dozens of other addons fine, I can use LuxCore fine, and regular rendering with Cycles / Eevee also works fine.

I assume it's doing some sort of dynamic loading, but which folder is it loading from, and how is it loading the OpenGL library?

Pauan avatar Mar 30 '23 21:03 Pauan

I assume it's doing some sort of dynamic loading, but which folder is it loading from, and how is it loading the OpenGL library?

The OpenGL loading is handled by PyOpenGL (the "standard" python OpenGL bindings), which is included in the BlenderMalt addon (from your log /home/pauan/.config/blender/3.3/scripts/addons/BlenderMalt/.MaltPath/Malt/.Dependencies-310/OpenGL). When Malt starts its own process it tried to import it, but it looks like some part of the PyOpenGL initialization is failing.

I guess this is some distro-related issue. You can try to follow the steps from How to Setup BlenderMalt for Development, maybe using your distro python installation (make sure it's 3.10) instead of the one that comes with Blender.

pragma37 avatar Mar 30 '23 22:03 pragma37

I have a question, it is necessary to update hardware to use it, I think AMD patocizes Blender with that condition

DavidRuales avatar Apr 19 '23 00:04 DavidRuales

@DavidRuales I have a Radeon RX 6800 XT, it's quite recent hardware, and it is supported by Blender (I can use GPU rendering in Blender with Cycles).

Pauan avatar Apr 19 '23 00:04 Pauan