flacjacket/pywlroots

Unable to create an allocator

Opened this issue · 4 comments

xi commented

When I try to run tiny I get the following error:

DEBUG:wlroots:[render/allocator/allocator.c:98] Trying to create gbm allocator
MESA-LOADER: failed to open iris: /usr/lib64/dri/iris_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib64/dri, suffix _dri)
failed to load driver: iris
MESA-LOADER: failed to open kms_swrast: /usr/lib64/dri/kms_swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib64/dri, suffix _dri)
failed to load driver: kms_swrast
MESA-LOADER: failed to open swrast: /usr/lib64/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib64/dri, suffix _dri)
failed to load swrast driver
ERROR:wlroots:[render/allocator/gbm.c:198] gbm_create_device failed

When I start a different wlroots-based compositor I get this output:

00:00:00.385 [render/allocator/allocator.c:98] Trying to create gbm allocator
00:00:00.391 [render/allocator/gbm.c:203] Created GBM allocator with backend drm
00:00:00.391 [render/allocator/gbm.c:206] Using DRM node /dev/dri/renderD128

I tired to look through the code to find what pywlroots does differently than the other compositor, but it all looks very similar. Any idea what I am doing wrong? Do I have to re-build the .so files for my system or something? Any help would be appreciated!

  • wlroots: 0.15.1
  • pywlroots: 0.15.24 (installed from pypi)
m-col commented

Are there any differences in the environment of the tiny compositor vs other wlroots compositors? Anything like GBM_BACKEND=nvidia-drm set, or LD_LIBRARY_PATH?

xi commented

No, same environment. env | grep GDM and env | grep LD are both empty.

You can try to set the renderer to pixman:

export WLR_RENDERER=pixman

This isn't a solution but only a workaround, though