Julian Orth
9863957779
all: update dependencies
2022-12-31 22:18:48 +01:00
Julian Orth
913b9d7213
wayland: update wl_output to v4
2022-12-31 21:49:02 +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
2db0ee8995
seat: update hardware cursor upon identical re-attach
...
This happens if the client re-uses the same wl_surface in
wl_pointer::set_cursor. If, in the same call, the client changes the
hotspot, we have to re-render the hardware cursor.
2022-12-16 22:06:56 +01:00
Julian Orth
cd47baa934
wayland: implement tearing-control-v1
...
Currently has no effect because there are no tearing atomic commits. But
by implementing this we make mesa expose VK_PRESENT_MODE_IMMEDIATE_KHR.
2022-11-18 19:43:03 +01:00
Julian Orth
0b46391789
all: fix clippy lints
2022-11-13 22:50:18 +01:00
Julian Orth
13bcdecd1b
video: actually created the bridge BO in the render device
2022-11-13 21:40:02 +01:00
Julian Orth
28e91e0c5d
metal: support multi-gpu systems via copying
2022-11-13 21:35:14 +01:00
Julian Orth
79ee6900fa
video: prefer non-nvidia devices when selecting render device
2022-11-13 16:53:02 +01:00
Julian Orth
141997d9d6
video: choose render device in the frontend
2022-11-13 16:53:02 +01:00
Julian Orth
049b86f4e2
config: add DrmDevice::make_render_device
2022-11-13 16:53:02 +01:00
Julian Orth
c6c87bdaa1
backend: add DevicesEnumerated event
2022-11-13 16:53:02 +01:00
Julian Orth
dddd68ba06
x: add XDrmDevice
2022-11-13 13:11:55 +01:00
Julian Orth
e29fd0e70c
metal: log drm device model
2022-11-13 00:16:36 +01:00
Julian Orth
5b2eb5855a
tree: update to latest version of wp_fractional_scale
2022-11-12 15:05:58 +01:00
Julian Orth
e61d6ab074
all: fix clippy lints
2022-11-03 19:26:35 +01:00
Julian Orth
729e47a756
build: upgrade to rust 1.65
2022-11-03 19:23:55 +01:00
Julian Orth
335677bbcd
wayland: implement xwayland_shell_v1
2022-10-18 17:43:49 +02:00
Julian Orth
1f64fefc86
registry: implement xwayland-only globals
2022-10-16 21:05:44 +02:00
Julian Orth
887fab0936
xwayland: don't send raw wl_surface's to xwm
...
This handles a race where the surface was already destroyed when the
message was handled.
2022-10-16 20:58:21 +02:00
Julian Orth
6193569596
xwayland: add x-surface indirection
2022-10-16 20:53:59 +02:00
Julian Orth
8059457afb
video: add support for a/xbgr8888 formats
2022-10-10 19:02:20 +02:00
Julian Orth
ab6a39bd34
clippy: call drop explicitly
2022-10-10 19:01:36 +02:00
Julian Orth
a5e17142de
xdg_decoration: send toplevel-configure after configure
...
This works around a bug in chrome where it fails to start if the first
xdg_surface::configure does not contain the toplevel configuration
itself.
2022-10-10 19:00:42 +02:00
Julian Orth
2af6d29554
all: run rustfmt
2022-08-20 23:05:34 +02:00
Julian Orth
d67eefdaf0
tree: destroy layer shell surfaces when output is disconnected
2022-08-20 23:03:29 +02:00
Julian Orth
ae991b9038
all: address clippy lints
2022-08-13 17:46:23 +02:00
Julian Orth
0fe59effe2
seat: ignore duplicate set_selection request
...
This works around [1] and [2].
[1]: https://gitlab.gnome.org/GNOME/gtk/-/issues/5097
[2]: https://github.com/mahkoh/jay/issues/47
2022-08-13 12:57:45 +02:00
Julian Orth
a8f627f15c
tree: render top layer over fullscreen windows
2022-07-31 13:18:20 +02:00
Julian Orth
3c074fe4cf
tests: fix compilation
2022-07-31 12:00:03 +02:00
Julian Orth
35dbd483bc
all: run rustfmt
2022-07-31 11:55:18 +02:00
Julian Orth
9c21d118d6
tree: render overlayes over fullscreen windows
2022-07-31 11:28:25 +02:00
Julian Orth
a162055f1d
portal: add a desktop portal
2022-07-31 11:25:57 +02:00
Julian Orth
8b93957f31
text: add metrics and dynamic height
2022-07-31 11:25:57 +02:00
Julian Orth
2568b7b1f5
pipewire: add pipewire client
2022-07-31 11:25:57 +02:00
Julian Orth
2512470231
wayland: add a generic wayland client
2022-07-30 13:16:58 +02:00
Julian Orth
163adbd893
renderer: add renderer_base
2022-07-30 12:55:09 +02:00
Julian Orth
f84b4619ba
dbus: expose more functionality
2022-07-30 12:48:45 +02:00
Julian Orth
fc9795cb5d
tree: use create_workspace where appropriate
2022-07-30 12:08:21 +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
b3c20c5309
wayland: add jay_pointer
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
6bc7330989
input: ignored caps_lock and num_lock during modifire matching
2022-07-27 07:55:48 +02:00
Julian Orth
6b4d16aba7
all: run rustfmt
2022-07-26 22:01:55 +02:00
Julian Orth
30aa6de35c
config: add Connector::set_enabled
2022-07-26 21:52:52 +02:00
Julian Orth
4bbca6abdc
layer-surface: set surface output
2022-07-26 20:32:16 +02:00