aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-11-30render: rename wlr_renderer_get_dmabuf_formatsSimon Ser
Rename wlr_renderer_get_dmabuf_formats to wlr_renderer_get_dmabuf_texture_formats. This makes it clear the formats are only suitable for creating wlr_textures.
2020-11-30backend/headless: use a format suitable for renderingSimon Ser
When allocating buffers, use a format suitable for rendering. This avoids picking a format that won't work.
2020-11-30render: introduce wlr_renderer_get_dmabuf_render_formatsSimon Ser
It describes which DMA-BUF formats can be used to render.
2020-11-30render: remove wlr_renderer_format_supportedSimon Ser
Instead, callers can just use wlr_renderer_get_formats and iterate over the list. This function was unused in wlroots.
2020-11-30render: expand wlr_renderer_get{,_dmabuf}_formats docsSimon Ser
Make it clear formats returned are only suitable for import/sampling. These formats can't be used to be rendered to.
2020-11-28render/egl: don't rely on being able to open primary nodeSimon Ser
On some setups (e.g. remote access via SSH) the current user won't have the permission to open the primary node at all. It's still possible to use drmGetDevices to match the primary node name returned by EGL. Closes: https://github.com/swaywm/wlroots/issues/2488
2020-11-28wlr-output-management: add missing NULL checkIsaac Freund
Handle allocation failure in wlr_output_configuration_head_v1_create
2020-11-25backend/wayland: don't set EGL visualSimon Ser
The Wayland platform doesn't have visuals. By chance, WL_SHM_FORMAT_ARGB8888 is zero, which means egl_get_config was ignoring it and everything worked fine.
2020-11-24backend/drm: stop force-probing connectorsSimon Ser
After discussing with Pekka and Daniel on #dri-devel, we concluded [1] that user-space shouldn't need to force-probe connectors. Force-probing can take some time, so using drmModeGetConnectorCurrent can result in faster start-up. Users can manually trigger a force-probe if necessary: echo detect | sudo tee /sys/class/drm/card0-DP-1/status Or just by running a tool like drm_info. A similar change has been submitted to Weston [2]. [1]: https://lists.freedesktop.org/archives/dri-devel/2020-November/287728.html [2]: https://gitlab.freedesktop.org/wayland/weston/-/issues/437
2020-11-24backend/x11: log unhandled client messagesSimon Ser
2020-11-24backend/x11: log unhandled X11 eventsSimon Ser
2020-11-24backend/x11: log errorsSimon Ser
Register an X11 error handler, and optionally use xcb-errors to print a detailed message.
2020-11-24backend/libseat: fix change_vt return valueIsaac Freund
This should return true on success and false on failure not vice-versa.
2020-11-23surface: Make send_enter store entered outputsKenny Levinsen
wlr_surface_send_enter now stores outputs that have been entered. Combined with a new 'bind' event on wlr_output, this allows us to delay enter events as necessary until the respective wl_output global has been bound. Closes: https://github.com/swaywm/wlroots/issues/2466
2020-11-19backend/session: add a timeout waiting for GPUsSimon Ser
If a GPU doesn't show up in 10s, bail out and return zero GPUs.
2020-11-19backend/session/logind: log when using XDG_SESSION_IDSimon Ser
This makes it easier to figure out how wlroots selected the session.
2020-11-19backend/session: replace session_signal with events.activeSimon Ser
This is more idiomatic wlroots API. The new name makes it clear that the signal is emitted when wlr_session.active changes.
2020-11-19Revert "session/logind: support CanGraphical property"Simon Ser
We now use udev to wait for DRM card devices. This reverts commit 3ebf079a9a120a27fc1008a62e7f99d5d166b745.
2020-11-19backend/session: wait for DRM device if none foundSimon Ser
Wait for a DRM device if none is found in wlr_session_find_gpus. This can happen if the compositor is loaded before the display kernel driver. This supersedes the logind CanGraphical property. To test, e.g. with i915 and sway: rmmod -f i915 sway & modprobe i915 Closes: https://github.com/swaywm/wlroots/issues/2093
2020-11-19backend/session: introduce wlr_session.events.add_drm_cardSimon Ser
This is triggered when a new DRM card is added. An easy way to test this patch is `modprobe vkms`.
2020-11-19backend/session: filter udev events by sysnameSimon Ser
We're only interested in card devices. The loop over wlr_session.devices would take care of ignoring non-card events, but a future patch will listen to udev "add" events as well.
2020-11-19backend/session: operate on wlr_deviceSimon Ser
Instead of operating on FDs in {open,close}_device, operate on wlr_devices. This avoids the device lookup in wlr_session and allows callers to have access to wlr_device fields. For now, we use it to remove wlr_session_signal_add and replace it with a more idiomatic wlr_session.events.change field. In the future, other events will be added.
2020-11-19backend/session: don't return FD on failure in open_fileSimon Ser
When wlr_session_open_file fails, don't return the FD, otherwise the caller will think the call succeeded.
2020-11-19backend/drm: Use legacy gamma size for legacy backendKenny Levinsen
We would always return the GAMMA_LUT_SIZE property if available, and only fall back to legacy gamma size otherwise. This leads to issues if both are available in differs in size while we use the legacy backend. Ensure that we only return the legacy size if we're using the legacy backend. Closes: https://github.com/swaywm/wlroots/issues/2429
2020-11-19texture: document that functions should not be called while renderingIlia Bozhinov
2020-11-19render/egl: recognize EGL_BAD_DEVICE_EXT errorRonan Pigott
2020-11-19render/egl: stop including eglmesaext.hSimon Ser
This is a Mesa-specific header that was needed because some Wayland EGL extensions were missing from the Khronos registry. Now that this has been fixed [1] and Mesa [2] & glvnd [3] have sync'ed their headers, we can drop this workaround. [1]: https://github.com/KhronosGroup/EGL-Registry/pull/95 [2]: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4953 [3]: https://gitlab.freedesktop.org/glvnd/libglvnd/-/merge_requests/225
2020-11-15build: improve summary via bool_ynSimon Ser
Shows YES/NO instead of 1/0, improves readability.
2020-11-15backend/headless: implement export_dmabufSimon Ser
2020-11-15backend/headless: switch to wlr_swapchainSimon Ser
2020-11-15render: introduce wlr_renderer_get_drm_fdSimon Ser
2020-11-15render/egl: introduce wlr_egl_dup_drm_fdSimon Ser
2020-11-15backend/drm: check drm_surface_render_black_frame return valueSimon Ser
This avoids hitting an assertion in drm_fb_lock_surface when we failed to render a black frame.
2020-11-15backend/drm: add support for wlr_swapchain multi-GPUSimon Ser
2020-11-15backend/drm: get rid of wlr_drm_fb_typeSimon Ser
Since all DRM FBs are backed by a wlr_buffer, there's no need for this anymore.
2020-11-15backend/drm: add support for wlr_swapchain buffer ageSimon Ser
2020-11-15render/swapchain: add support for buffer ageSimon Ser
2020-11-15backend/drm: use wlr_swapchainSimon Ser
2020-11-15render/gles2: fix y-inverted output when rendering to bufferSimon Ser
2020-11-15render/gles2: implement wlr_renderer_bind_bufferSimon Ser
2020-11-15render: introduce wlr_renderer_bind_bufferSimon Ser
2020-11-15buffer: add wlr_client_buffer_getSimon Ser
2020-11-15render: introduce wlr_swapchainSimon Ser
The swapchain maximum capacity is set to 4, so that we have enough room for: - A buffer currently displayed on screen - A buffer queued for display (e.g. to KMS) - A pending buffer that'll be queued next commit - An additional pending buffer in case we want to invalidate the currently pending one
2020-11-15render/drm_format_set: introduce wlr_drm_format_dupSimon Ser
2020-11-15render: introduce wlr_gbm_allocatorSimon Ser
2020-11-15render: introduce wlr_allocatorSimon Ser
2020-11-15backend/libinput: require libinput 1.14Simon Ser
We have the policy of requiring up-to-date dependencies instead of adding conditionals for older versions. libinput 1.14 was published more than 1 year ago.
2020-11-12backend/wayland: Set cursor indivdualy per outputMykola Orliuk
2020-11-12backend/wayland: Add active pointer per host seatMykola Orliuk
Every host seat with pointer capability propagates events to one of sub-pointer depending which output window we entered. active_pointer tracks reference to sub-pointer on enter/leave events to avoid lookup for it on every move events. Fixes swaywm/wlroots#1499
2020-11-12backend/wayland: Bind pointer listener to seatMykola Orliuk