flacjacket / pywlroots

Python binding to the wlroots library using cffi
University of Illinois/NCSA Open Source License
52 stars 14 forks source link

Unable to create an allocator #122

Open xi opened 1 year ago

xi commented 1 year ago

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!

cr1ogen commented 1 year ago

https://github.com/qtile/qtile/issues/4325

m-col commented 1 year ago

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 1 year ago

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

heuer commented 8 months ago

You can try to set the renderer to pixman:

export WLR_RENDERER=pixman

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