Julian Orth
3473b89fb9
all: clear more reference cycles at shutdown
2024-05-02 21:20:47 +02:00
Julian Orth
ba98103233
tree: make surface visibility tracking more robust
2024-03-29 21:17:45 +01:00
Julian Orth
1b4492c670
render: propagate errors
2024-03-27 18:15:53 +01:00
Julian Orth
efae1cd16a
cli: add an input subcommand
2024-03-12 17:43:26 +01:00
Julian Orth
283e438d1b
backend: add syspath and devnode to input devices
2024-03-12 16:37:16 +01:00
Julian Orth
813f87faaa
backend: make input device properties readable
2024-03-12 16:16:21 +01:00
Julian Orth
da84e9ec27
metal: implement direct scanout
2024-02-19 12:30:37 +01:00
Julian Orth
01e3930ced
wayland: run idle code unconditionally
2024-02-15 18:40:29 +01:00
Julian Orth
bf90204db6
video: always use correct modifiers
2024-02-08 15:24:02 +01:00
Julian Orth
78b557b4a1
input: implement wl_seat version 9
2024-02-04 19:56:45 +01:00
Julian Orth
887e2b6cbc
input: add support for natural scrolling
...
Closes #69
2024-02-04 18:50:52 +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
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
c6c87bdaa1
backend: add DevicesEnumerated event
2022-11-13 16:53:02 +01:00
Julian Orth
6cc97ee56e
metal,config: allow enabling tap-to-click
2022-06-01 14:29:56 +02:00
Julian Orth
145e4dbc24
wayland: add times to all input events
2022-05-26 12:25:59 +02:00
Julian Orth
9db389835d
tree,metal: handle monitor hotplug
2022-05-19 16:54:13 +02:00
Julian Orth
e5c0916a25
all: fix memory leaks
2022-05-18 22:42:36 +02:00
Julian Orth
dcdd91c0b0
io-uring: add readable/writable
2022-05-12 20:33:58 +02:00
Julian Orth
e27cf29693
config: tell the config about drm devices
2022-05-10 16:43:09 +02:00
Julian Orth
5e21e00059
config: generate graphics-initialized event in the frontend
2022-05-06 17:15:13 +02:00
Julian Orth
d2913449ea
metal: handle gpu reset
...
Unfortunately this doesn't seem to work on amdgpu [1]. I've tested that
it works on i915.
[1] https://gitlab.freedesktop.org/drm/amd/-/issues/1749
2022-05-06 16:45:56 +02:00
Julian Orth
e1d5bf0e5d
autocommit 2022-05-01 17:23:55 CEST
2022-05-01 17:23:55 +02:00
Julian Orth
1242a6c1e1
autocommit 2022-04-28 19:49:51 CEST
2022-04-28 19:49:51 +02:00
Julian Orth
324eb835bb
autocommit 2022-04-27 20:37:49 CEST
2022-04-27 20:37:49 +02:00
Julian Orth
57899b3f35
autocommit 2022-04-27 18:04:02 CEST
2022-04-27 18:04:02 +02:00
Julian Orth
50b792db78
autocommit 2022-04-16 13:42:13 CEST
2022-04-16 13:42:13 +02:00
Julian Orth
5f13954dbc
autocommit 2022-04-14 19:52:11 CEST
2022-04-14 19:52:11 +02:00
Julian Orth
35ddfbcbe3
autocommit 2022-04-14 16:06:11 CEST
2022-04-14 16:06:11 +02:00
Julian Orth
befd5e99b2
autocommit 2022-04-10 01:35:15 CEST
2022-04-10 01:35:15 +02:00
Julian Orth
21e2216ce5
autocommit 2022-04-08 23:02:38 CEST
2022-04-08 23:02:38 +02:00
Julian Orth
be32036824
autocommit 2022-04-07 17:31:31 CEST
2022-04-07 17:31:31 +02:00
Julian Orth
1d33088dba
autocommit 2022-04-05 21:08:07 CEST
2022-04-05 21:08:07 +02:00
Julian Orth
6de9fb8303
autocommit 2022-04-02 19:38:13 CEST
2022-04-02 19:38:13 +02:00
Julian Orth
6ad6d83b7e
autocommit 2022-04-02 00:31:30 CEST
2022-04-02 00:31:30 +02:00
Julian Orth
2dd433aa04
autocommit 2022-04-01 01:44:10 CEST
2022-04-01 01:44:10 +02:00
Julian Orth
ab4ac883ee
autocommit 2022-03-30 22:27:19 CEST
2022-03-30 22:27:19 +02:00
Julian Orth
a8136ed88c
autocommit 2022-03-30 18:10:37 CEST
2022-03-30 18:10:37 +02:00
Julian Orth
6ebf731aea
autocommit 2022-03-29 14:11:25 CEST
2022-03-29 14:11:25 +02:00
Julian Orth
2ff60ff817
autocommit 2022-03-22 23:24:17 CET
2022-03-22 23:24:17 +01:00
Julian Orth
18806a38fb
autocommit 2022-03-13 23:16:26 CET
2022-03-13 23:16:26 +01:00
Julian Orth
e18be65210
autocommit 2022-03-13 19:01:43 CET
2022-03-13 19:01:43 +01:00
Julian Orth
21527b3e38
autocommit 2022-03-11 23:07:09 CET
2022-03-11 23:07:09 +01:00
Julian Orth
eb1d500561
autocommit 2022-03-11 20:04:41 CET
2022-03-11 20:04:41 +01:00
Julian Orth
0ae73ab9c4
autocommit 2022-03-11 19:24:53 CET
2022-03-11 19:24:53 +01:00
Julian Orth
b1890894b2
autocommit 2022-03-11 18:15:21 CET
2022-03-11 18:15:21 +01:00
Julian Orth
0399772467
autocommit 2022-03-09 17:51:17 CET
2022-03-09 17:51:17 +01:00
Julian Orth
4df6b559b7
autocommit 2022-03-09 14:01:21 CET
2022-03-09 14:01:21 +01:00
Julian Orth
aa0cb94143
autocommit 2022-03-02 14:24:07 CET
2022-03-02 14:24:07 +01:00