1
0
Fork 0
forked from wry/wry
Commit graph

83 commits

Author SHA1 Message Date
Julian Orth
14b344a1ae logging: include version information 2024-04-11 10:00:56 +02:00
Julian Orth
8bca8b0e86 ipc: create separate offers/sources for X 2024-03-31 20:24:16 +02:00
Julian Orth
7cbe5720c6 ipc: make source/offer ids type safe 2024-03-30 20:51:25 +01:00
Julian Orth
ba98103233 tree: make surface visibility tracking more robust 2024-03-29 21:17:45 +01:00
Julian Orth
aa296a6aea config: allow disabling explicit-sync 2024-03-27 18:34:14 +01:00
Julian Orth
aaf73d6fdc wayland: implement linux-drm-syncobj-v1 2024-03-27 18:34:12 +01:00
Julian Orth
300deecc7d surface: attach sync sub-surface commits to parent commits 2024-03-27 18:15:52 +01:00
Julian Orth
4d6f226254 portal: start portal automatically with compositor 2024-03-19 21:00:36 +01:00
Julian Orth
fecfd24ba0 config: add move-to-output action 2024-03-17 13:38:01 +01:00
Julian Orth
3eb0f61ec1 tree: make scale and position of outputs persistent 2024-03-16 01:38:57 +01:00
Julian Orth
355a9eb240 input: add a default seat 2024-03-15 20:07:33 +01:00
Julian Orth
558bea47b7 config: allow retrieving the modes 2024-03-04 16:09:53 +01:00
Julian Orth
d425768760 tree: support toggling floating with double clicks 2024-03-03 14:18:46 +01:00
Julian Orth
b7d2964e19 all: implement output transforms 2024-02-28 20:11:40 +01:00
Julian Orth
114c293950 config: allow disabling direct scanout 2024-02-19 12:30:38 +01:00
Julian Orth
da84e9ec27 metal: implement direct scanout 2024-02-19 12:30:37 +01:00
Julian Orth
fed2ceb8b5 drm: add unique identifiers to dmabufs 2024-02-19 12:27:28 +01:00
Julian Orth
d4fc672fb3 tree: move output scale to global 2024-02-16 19:15:03 +01:00
Julian Orth
3f7b1ddd49 wayland: implement ext-foreign-toplevel-list-v1 2024-02-14 21:13:41 +01:00
Julian Orth
41d7531cd5 wayland: implement xdg-activation 2024-02-14 18:33:17 +01:00
Julian Orth
cf332e8436 render: implement a vulkan renderer 2024-02-08 15:24:02 +01:00
Julian Orth
a04870388f text: re-use textures if possible 2024-02-08 15:24:02 +01:00
Julian Orth
71fc851705 render: keep track of outputs whose hardware cursor must be rendered 2024-02-07 21:43:01 +01:00
Julian Orth
9ceec8f4a0 wayland: implement zwp_linux_dmabuf v4 2024-02-06 16:30:12 +01:00
Julian Orth
24e410a5b5 render: hide graphics API behind traits 2023-10-22 20:42:35 +02:00
Julian Orth
d650b3375d render: split module into gfx_apis and renderer 2023-10-22 20:28:32 +02:00
Julian Orth
9c7299234a config: allow capturing only selected workspaces 2023-02-04 14:07:55 +01:00
Julian Orth
9812a02f87 io: use io_uring for all io
There should no longer be any

- read
- write
- connect
- sendmsg
- recvmsg
- accept

calls in the codebase. Previously we were using a mix of io_uring and
these calls which had some negative effects: Since we were using the old
system calls, we had to set the file descriptors to non-blocking. But
our io_uring code did not handle EAGAIN. This lead to programs sometimes
being killed when the wayland IO was actually blocking.

Now all file descriptors are set to blocking, but io_uring makes it
non-blocking from our perspective. The one exception are evdev files
because they are read via libinput and libinput uses the old system
calls.
2022-12-31 17:56:58 +01:00
Julian Orth
5b2eb5855a tree: update to latest version of wp_fractional_scale 2022-11-12 15:05:58 +01:00
Julian Orth
ae991b9038 all: address clippy lints 2022-08-13 17:46:23 +02:00
Julian Orth
1bdfa4c85e tree: batch output render data updates 2022-07-30 12:08:21 +02:00
Julian Orth
5a4e48e54a wayland: add jay_screencast 2022-07-30 12:08:18 +02:00
Julian Orth
022d8d1db0 wayland: add jay_workspace_watcher 2022-07-30 12:03:55 +02:00
Julian Orth
83baa6aadb wayland: add jay_workspace 2022-07-30 12:03:55 +02:00
Julian Orth
53ca7b5b2a wayland: add jay_render_ctx 2022-07-30 12:03:55 +02:00
Julian Orth
3e3bc38920 wayland: add jay_output 2022-07-30 12:03:53 +02:00
Julian Orth
f7e77ca94c wayland: register most singletons before starting async work 2022-07-03 00:21:13 +02:00
Julian Orth
2ced50f3a7 cli: add seat-test 2022-06-03 12:00:08 +02:00
Julian Orth
3b8935cf55 all: implement hardware cursors 2022-06-01 21:46:31 +02:00
Julian Orth
e52a60b3b6 wayland: implement scaling
This involves many subsystems:

- config:
    - allow setting the connector scale
    - allow setting the cursor size
- cursors:
    - load server cursors for all requested sizes and scales
- wl_surface:
    - track the output the surface belongs to
    - send wl_surface.enter/leave
- wl_output:
    - implement wl_output.scale
- text:
    - pre-render texts for all used scales
- renderer:
    - properly align scale textures and rectangles
- wp_fractional_scale:
    - new interface for fractional scaling
2022-05-30 17:00:25 +02:00
Julian Orth
7476e6f2d9 tree: restore workspaces after monitor reconnect 2022-05-20 12:55:45 +02:00
Julian Orth
d42add4d18 all: implement screen locking 2022-05-19 23:39:11 +02:00
Julian Orth
e5c0916a25 all: fix memory leaks 2022-05-18 22:42:36 +02:00
Julian Orth
858e777f5a tree: activate workspace on click 2022-05-17 18:58:30 +02:00
Julian Orth
9416efeabe runtime: replace epoll by io-uring 2022-05-12 22:50:33 +02:00
Julian Orth
98cc85e2d3 acceptor: rebase from EventLoop onto AsyncEngine 2022-05-12 21:35:08 +02:00
Julian Orth
3037ee439c sighand: rebase from EventLoop onto AsyncEngine 2022-05-12 21:22:32 +02:00
Julian Orth
dcdd91c0b0 io-uring: add readable/writable 2022-05-12 20:33:58 +02:00
Julian Orth
3875c63172 async: rebase wheel on top of async engine 2022-05-12 17:23:17 +02:00
Julian Orth
285724b4f1 xwayland: use io_uring to prevent lockups
See https://gitlab.freedesktop.org/wayland/wayland/-/issues/296
2022-05-11 21:45:44 +02:00