Julian Orth
49f6304716
metal: implement tearing
2024-07-18 15:36:24 +02:00
Julian Orth
2d7c13b0b4
metal: implement VRR
2024-07-18 14:20:01 +02:00
Julian Orth
bb66abb817
all: implement damage tracking
2024-07-12 20:05:31 +02:00
Julian Orth
76a3c50560
render: add a damage visualizer
2024-07-12 20:05:31 +02:00
Julian Orth
8a91c070be
layer-shell: implement exclusive zones
2024-05-08 16:16:38 +02:00
Julian Orth
7ed499eabd
wayland: implement tablet-v2
2024-05-03 11:16:07 +02:00
Julian Orth
efdca4de49
seat: add cursor groups
2024-05-02 21:24:19 +02:00
Julian Orth
1fceffe235
wayland: implement wp-security-manager-v1
2024-04-24 13:02:39 +02:00
Julian Orth
33a0a40857
portal: implement workspace capture
2024-04-20 13:49:46 +02:00
Julian Orth
c6864a6d85
tree: fix per-workspace capture tracking
2024-04-20 13:30:34 +02:00
Julian Orth
4e10415e5c
portal: implement window capture
2024-04-19 12:12:49 +02:00
Julian Orth
daf52299db
seat: implement input methods
2024-04-15 15:34:00 +02:00
Julian Orth
5e2cdef388
seat: add KeyboardState and dynamically switch between states
2024-04-14 13:16:18 +02:00
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