render/vulkan: prefer render node for wlr_renderer_get_drm_fd()

Instead of returning a primary node from wlr_renderer_get_drm_fd(),
prefer to return a render node if any.
This commit is contained in:
Simon Ser 2023-02-27 16:49:43 +01:00 committed by Simon Zeni
parent 8db0d82890
commit 40117e1e0d
3 changed files with 54 additions and 3 deletions

View file

@ -2240,10 +2240,10 @@ struct wlr_renderer *wlr_vk_renderer_create_with_drm_fd(int drm_fd) {
return NULL;
}
// We duplicate it so it's not closed while we still need it.
dev->drm_fd = fcntl(drm_fd, F_DUPFD_CLOEXEC, 0);
// Do not use the drm_fd that was passed in: we should prefer the render
// node even if a primary node was provided
dev->drm_fd = vulkan_open_phdev_drm_fd(phdev);
if (dev->drm_fd < 0) {
wlr_log_errno(WLR_ERROR, "fcntl(F_DUPFD_CLOEXEC) failed");
vulkan_device_destroy(dev);
vulkan_instance_destroy(ini);
return NULL;