Skip to content
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

Cannot start wlmaker: Failed to query DRI3 DRM FD #94

Open
StarFire75 opened this issue Aug 4, 2024 · 6 comments
Open

Cannot start wlmaker: Failed to query DRI3 DRM FD #94

StarFire75 opened this issue Aug 4, 2024 · 6 comments
Labels
bug Something isn't working

Comments

@StarFire75
Copy link

Hello World,

I have built wlmaker according to the build instructions (latest main from github: 3f0f599), but I cannot start it:

andy@shannara:~$ LD_LIBRARY_PATH="${HOME}/.local/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)" \
PKG_CONFIG_PATH="${HOME}/.local/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/pkgconfig/:${HOME}/.local/share/pkgconfig/" \
${HOME}/.local/bin/wlmaker
2024-08-04 13:34:01.531 (INFO) src/config.c:278 Failed bs_file_resolve_path(~/.wlmaker.plist, 0x7fff78395b10): errno(2): No such file or directory
2024-08-04 13:34:01.531 (INFO) src/config.c:291 No configuration file found, using embedded default.
2024-08-04 13:34:01.531 (INFO) src/config.c:312 Failed bs_file_resolve_path(~/.wlmaker-state.plist, 0x7fff78395b10): errno(2): No such file or directory
2024-08-04 13:34:01.531 (INFO) src/config.c:325 No state file found, using embedded default.
2024-08-04 13:34:01.531 (INFO) backend/x11/backend.c:396 Creating X11 backend
2024-08-04 13:34:01.532 (INFO) backend/x11/backend.c:483 X11 does not support shared pixmaps
2024-08-04 13:34:01.533 (ERROR) backend/x11/backend.c:612 Failed to query DRI3 DRM FD
2024-08-04 13:34:01.533 (ERROR) src/server.c:143 Failed wlr_backend_autocreate()

Unfortunately, there is no additional debug output:

andy@shannara:~$ LD_LIBRARY_PATH="${HOME}/.local/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)" \
PKG_CONFIG_PATH="${HOME}/.local/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/pkgconfig/:${HOME}/.local/share/pkgconfig/" \
${HOME}/.local/bin/wlmaker --log_level=DEBUG
2024-08-04 13:39:20.397 (INFO) src/config.c:278 Failed bs_file_resolve_path(~/.wlmaker.plist, 0x7ffc68591480): errno(2): No such file or directory
2024-08-04 13:39:20.397 (INFO) src/config.c:291 No configuration file found, using embedded default.
2024-08-04 13:39:20.397 (INFO) src/config.c:312 Failed bs_file_resolve_path(~/.wlmaker-state.plist, 0x7ffc68591480): errno(2): No such file or directory
2024-08-04 13:39:20.397 (INFO) src/config.c:325 No state file found, using embedded default.
2024-08-04 13:39:20.397 (INFO) backend/x11/backend.c:396 Creating X11 backend
2024-08-04 13:39:20.398 (INFO) backend/x11/backend.c:483 X11 does not support shared pixmaps
2024-08-04 13:39:20.399 (ERROR) backend/x11/backend.c:612 Failed to query DRI3 DRM FD
2024-08-04 13:39:20.399 (ERROR) src/server.c:143 Failed wlr_backend_autocreate()

There is also no change, if I change the renderer:

andy@shannara:~$ set WLR_RENDERER=pixman
andy@shannara:~$ LD_LIBRARY_PATH="${HOME}/.local/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)" PKG_CONFIG_PATH="${HOME}/.local/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/pkgconfig/:${HOME}/.local/share/pkgconfig/" ${HOME}/.local/bin/wlmaker --log_level=DEBUG
2024-08-04 13:41:41.153 (INFO) src/config.c:278 Failed bs_file_resolve_path(~/.wlmaker.plist, 0x7fffa6ac66f0): errno(2): No such file or directory
2024-08-04 13:41:41.153 (INFO) src/config.c:291 No configuration file found, using embedded default.
2024-08-04 13:41:41.153 (INFO) src/config.c:312 Failed bs_file_resolve_path(~/.wlmaker-state.plist, 0x7fffa6ac66f0): errno(2): No such file or directory
2024-08-04 13:41:41.153 (INFO) src/config.c:325 No state file found, using embedded default.
2024-08-04 13:41:41.154 (INFO) backend/x11/backend.c:396 Creating X11 backend
2024-08-04 13:41:41.154 (INFO) backend/x11/backend.c:483 X11 does not support shared pixmaps
2024-08-04 13:41:41.155 (ERROR) backend/x11/backend.c:612 Failed to query DRI3 DRM FD
2024-08-04 13:41:41.155 (ERROR) src/server.c:143 Failed wlr_backend_autocreate()

I have also tried to install the wlmaker Debian package, but the same error appears:

andy@shannara:~$ which wlmaker
/usr/bin/wlmaker
andy@shannara:~$ wlmaker
2024-08-04 13:44:43.886 (INFO) src/config.c:307 Failed bs_file_resolve_path(~/.wlmaker.plist, 0x7ffd386feb30): errno(2): No such file or directory
2024-08-04 13:44:43.886 (INFO) src/config.c:320 No configuration file found, using embedded default.
2024-08-04 13:44:43.886 (INFO) src/config.c:341 Failed bs_file_resolve_path(~/.wlmaker-state.plist, 0x7ffd386feb30): errno(2): No such file or directory
2024-08-04 13:44:43.886 (INFO) src/config.c:354 No state file found, using embedded default.
2024-08-04 13:44:43.886 (INFO) backend/x11/backend.c:396 Creating X11 backend
2024-08-04 13:44:43.887 (INFO) backend/x11/backend.c:483 X11 does not support shared pixmaps
2024-08-04 13:44:43.888 (ERROR) backend/x11/backend.c:612 Failed to query DRI3 DRM FD
2024-08-04 13:44:43.888 (ERROR) src/server.c:143 Failed wlr_backend_autocreate()

If I try to run it from a Linux terminal, I get a slightly different error message:

2024-08-04 13:51:11.746 (INFO) src/config.c:278 Failed bs_file_resolve_path(~/.wlmaker.plist, 0x7ffe1830a7b0): errno(2): No such file or directory
2024-08-04 13:51:11.747 (INFO) src/config.c:291 No configuration file found, using embedded default.
2024-08-04 13:51:11.747 (INFO) src/config.c:312 Failed bs_file_resolve_path(~/.wlmaker-state.plist, 0x7ffe1830a7b0): errno(2): No such file or directory
2024-08-04 13:51:11.747 (INFO) src/config.c:325 No state file found, using embedded default.
2024-08-04 13:51:11.747 (INFO) libseat] [libseat/libseat.c:73 Seat opened with backend 'seatd'
2024-08-04 13:51:11.747 (INFO) libseat] [libseat/backend/seatd.c:212 Enabling seat
2024-08-04 13:51:11.747 (INFO) backend/session/session.c:109 Successfully loaded libseat session
2024-08-04 13:51:11.747 (ERROR) backend/backend.c:210 Found 0 GPUs, cannot create backend
2024-08-04 13:51:11.747 (ERROR) backend/backend.c:376 Failed to open any DRM device
2024-08-04 13:51:11.750 (ERROR) src/server.c:143 Failed wlr_backend_autocreate()

The "Found 0 GPUs" is confusing (Civilization VI says the same), because I have:

andy@shannara:~# nvidia-smi -L
GPU 0: NVIDIA GeForce RTX 3060 (UUID: GPU-04c1fa48-fbc9-2067-88cb-606b0b8a91c0)

I run the whole thing with strace, the output is attached as file.

What do I do wrong? How can I fix that?

Best regards - Andreas
trace.log

@phkaeser phkaeser added the bug Something isn't working label Aug 5, 2024
@phkaeser
Copy link
Owner

phkaeser commented Aug 5, 2024

From some references -- this might be an issue with the nVidia driver, DRM and wlroots, not playing well with each other.

Looks like sway (https://swaywm.org/) has a --unsupported-gpu flag. Would need to look into what this changes, and if/whether to enable a similar workaround.
(pending work on wlmaker side => explore that flag, behaviour and if/whether to do the same)

Two questions for @StarFire75:

  • Can you document what nVidia driver you're using?
  • And, for triaging the bug: Would it be possible for you to try without these drivers (ie. relying on software rendering)?

@StarFire75
Copy link
Author

nVidia Driver: NVIDIA dlloader X Driver 535.183.01 Sun May 12 19:35:37 UTC 2024

I use the drivers that come with Debian Sid

@phkaeser
Copy link
Owner

phkaeser commented Aug 5, 2024

@StarFire75 -- reading wlroots source code, the behaviour of the X11 driver appears to have changed when it cannot query dri3 DRM FD (with https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/325d8438147ebba6b9756e0d9d2b720c1ced351a).

I updated all dependencies to that version here: https://github.com/phkaeser/wlmaker/tree/nvidia

Can you try a fresh install & build from that branch? From reading the code, it might work.
(IIRC, this will also request you to install latest meson)

EDIT: Hm, I had a compile version mess locally. Updating to wlroots-0.18 also comes with non-trivial API changes. Will take a bit to update.

@phkaeser
Copy link
Owner

phkaeser commented Aug 9, 2024

Updates to wlroots-0.18 are done -- PTAL from that branch.

@phkaeser
Copy link
Owner

With #107, support for wlroots-0.18 has been merged to the main branch.
Also, the build instructions have gotten updated.

To verify: Please use the version from main (https://github.com/phkaeser/wlmaker). The build instructions for Debian Bookworm describe how to build with wlroots-0.18 from source.

Once you find some time, please follow that to verify. Thanks!

@StarFire75
Copy link
Author

It still does not start, but the error message has changed:

2024-09-15 14:56:16.627 (INFO) src/config.c:280 Failed bs_file_resolve_path(~/.wlmaker.plist, 0x7ffc3c6db550): errno(2): No such file or directory
2024-09-15 14:56:16.627 (INFO) src/config.c:293 No configuration file found, using embedded default.
2024-09-15 14:56:16.627 (INFO) src/config.c:314 Failed bs_file_resolve_path(~/.wlmaker-state.plist, 0x7ffc3c6db550): errno(2): No such file or directory
2024-09-15 14:56:16.627 (INFO) src/config.c:327 No state file found, using embedded default.
2024-09-15 14:56:16.627 (INFO) backend/x11/backend.c:400 Creating X11 backend
2024-09-15 14:56:16.627 (INFO) backend/x11/backend.c:487 X11 does not support shared pixmaps
2024-09-15 14:56:16.628 (ERROR) backend/x11/backend.c:264 Failed to open DRI3
2024-09-15 14:56:16.628 (ERROR) backend/x11/backend.c:615 Failed to query DRI3 DRM FD
2024-09-15 14:56:16.628 (INFO) backend/x11/backend.c:616 Disabling DMA-BUF support
2024-09-15 14:56:16.630 (INFO) render/pixman/renderer.c:328 Creating pixman renderer
2024-09-15 14:56:16.633 (INFO) backend/x11/backend.c:164 Starting X11 backend
2024-09-15 14:56:16.635 (ERROR) types/output/render.c:24 output backend and allocator buffer capabilities don't match
2024-09-15 14:56:16.635 (ERROR) src/output.c:130 Failed wlr_output_init_renderer() on X11-1
2024-09-15 14:56:16.635 (INFO) src/output.c:209 Destroy output X11-1
2024-09-15 14:56:16.635 (INFO) src/server.c:620 Failed wlmaker_output_create for server 0x5605d3a4e1f0
2024-09-15 14:56:16.635 (ERROR) src/wlmaker.c:365 No outputs available!

I also tried ot set WLR_RENDERER=pixman, but that not work either which is no surprise as it tries to set up a pixman renderer itself

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants