<feed xmlns='http://www.w3.org/2005/Atom'>
<title>seatd.git/include, branch master</title>
<subtitle>fork of seatd
</subtitle>
<id>https://git.vlhl.dev/navi/seatd.git/atom?h=master</id>
<link rel='self' href='https://git.vlhl.dev/navi/seatd.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/seatd.git/'/>
<updated>2022-03-29T08:54:27+00:00</updated>
<entry>
<title>drm: Make dev_is_drm local to logind backend</title>
<updated>2022-03-29T08:54:27+00:00</updated>
<author>
<name>Kenny Levinsen</name>
<email>kl@kl.wtf</email>
</author>
<published>2022-03-29T08:46:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/seatd.git/commit/?id=8f8c9558e6279060f3ccc3363cb3558ffc9efd84'/>
<id>urn:sha1:8f8c9558e6279060f3ccc3363cb3558ffc9efd84</id>
<content type='text'>
This function is only used for logind, which is Linux-specific, but the
presence in common/drm.c suggested that it had to be portable.

Move it to the logind backend for now.
</content>
</entry>
<entry>
<title>wscons: Move to its own device type</title>
<updated>2022-03-29T08:54:27+00:00</updated>
<author>
<name>Kenny Levinsen</name>
<email>kl@kl.wtf</email>
</author>
<published>2022-03-29T08:41:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/seatd.git/commit/?id=0462e9331d1648171bd47e62a2808f0a4d647239'/>
<id>urn:sha1:0462e9331d1648171bd47e62a2808f0a4d647239</id>
<content type='text'>
This reduces ifdefs and avoids overloading evdev as something it is not.
</content>
</entry>
<entry>
<title>Initial netbsd support</title>
<updated>2022-03-16T20:39:46+00:00</updated>
<author>
<name>illiliti</name>
<email>illiliti@thunix.net</email>
</author>
<published>2022-03-04T03:10:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/seatd.git/commit/?id=4ad48cb305b3f847ab7d3c2d3f59c27007519c77'/>
<id>urn:sha1:4ad48cb305b3f847ab7d3c2d3f59c27007519c77</id>
<content type='text'>
</content>
</entry>
<entry>
<title>clang-format: Fix alignment</title>
<updated>2021-09-21T10:48:24+00:00</updated>
<author>
<name>Kenny Levinsen</name>
<email>kl@kl.wtf</email>
</author>
<published>2021-09-21T10:46:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/seatd.git/commit/?id=e2baadc23047edaccc4a7d3d95e6ba8c30f75851'/>
<id>urn:sha1:e2baadc23047edaccc4a7d3d95e6ba8c30f75851</id>
<content type='text'>
</content>
</entry>
<entry>
<title>seatd: Implement ping request to wake up later</title>
<updated>2021-09-21T09:18:18+00:00</updated>
<author>
<name>Kenny Levinsen</name>
<email>kl@kl.wtf</email>
</author>
<published>2021-09-20T21:43:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/seatd.git/commit/?id=2eee9aa445e3f9dc6a7ca115489f87b10f60b9ba'/>
<id>urn:sha1:2eee9aa445e3f9dc6a7ca115489f87b10f60b9ba</id>
<content type='text'>
When device open or close messages are sent to seatd, libseat must read
messages from the socket until it sees the associated response message.
This means that it may drain enable/disable seat events from the socket,
queueing them internally for deferred processing.

As the socket is drained, the caller will not wake from a poll and have
no reason to dispatch libseat. To ensure that these messages would not
be left in the queue, 6fa82930d0c5660eea3102989c765dc864514e36 made it
so that open/close calls would execute all queued events just before
returning.

Unfortunately, this had the side-effect of having events fire from the
stack of libseat_open_device or libseat_close_device, which we now see
cause problems in compositors. Specifically, an issue has been observed
where libinput end up calling libseat_close_device, which in turn
dispatch a disable seat event that calls libinput_suspend. libinput does
not like this.

Instead, remove the execution from libseat_open_device and
libseat_close_device, and instead make a "ping" request to seatd if
events have been queued. The response to this will wake us up and ensure
that dispatch is called.
</content>
</entry>
<entry>
<title>seat: Avoid holding a tty fd</title>
<updated>2021-09-02T18:02:55+00:00</updated>
<author>
<name>Kenny Levinsen</name>
<email>kl@kl.wtf</email>
</author>
<published>2021-04-22T22:17:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/seatd.git/commit/?id=df3f307b8e013814384723371dbfc549542a3a8f'/>
<id>urn:sha1:df3f307b8e013814384723371dbfc549542a3a8f</id>
<content type='text'>
The kernel Secure Attention Key killer, triggered by SysRq+k, kills all
processes that hold an fd referencing the tty.

To avoid its attention, we stop storing the fd for the currently active
VT in seat state. This has the added benefit of simplifying state a bit.
</content>
</entry>
<entry>
<title>libseat: Update builtin backend root requirement documentation</title>
<updated>2021-08-15T12:03:23+00:00</updated>
<author>
<name>Greg Depoire--Ferrer</name>
<email>greg.depoire@gmail.com</email>
</author>
<published>2021-08-04T08:54:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/seatd.git/commit/?id=d78859bc9a7ed3c8e62c95087c4a9e56be2e95ce'/>
<id>urn:sha1:d78859bc9a7ed3c8e62c95087c4a9e56be2e95ce</id>
<content type='text'>
The builtin backend no longer requires root, setuid or CAP_SYS_ADMIN.
This commit updates the documentation accordingly.
</content>
</entry>
<entry>
<title>Make libseat_seat_listener const</title>
<updated>2021-08-15T11:33:30+00:00</updated>
<author>
<name>Simon Ser</name>
<email>contact@emersion.fr</email>
</author>
<published>2021-08-14T09:03:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/seatd.git/commit/?id=166feaea3394e00af14418e074ae090e31922f33'/>
<id>urn:sha1:166feaea3394e00af14418e074ae090e31922f33</id>
<content type='text'>
libseat will never write to that struct. Let's allow callers to
make it read-only.
</content>
</entry>
<entry>
<title>Add no-op session</title>
<updated>2021-03-26T10:11:26+00:00</updated>
<author>
<name>Simon Ser</name>
<email>contact@emersion.fr</email>
</author>
<published>2021-03-26T09:05:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/seatd.git/commit/?id=9a7824b7c3ff5c957632671e91454fc84fbcdda8'/>
<id>urn:sha1:9a7824b7c3ff5c957632671e91454fc84fbcdda8</id>
<content type='text'>
This is useful for headless testing, for instance with VKMS:

    modprobe vkms
    export WLR_DRM_DEVICES=/dev/dri/card1
    export WLR_BACKENDS=drm
    export LIBSEAT_BACKEND=noop
    sway

We don't need any of the VT handling in this case.
</content>
</entry>
<entry>
<title>log: Include debug logs in release builds</title>
<updated>2021-03-01T23:27:38+00:00</updated>
<author>
<name>Kenny Levinsen</name>
<email>kl@kl.wtf</email>
</author>
<published>2021-03-01T23:15:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/seatd.git/commit/?id=d8ddf590faf49dec01453adc6ea238d94ba84478'/>
<id>urn:sha1:d8ddf590faf49dec01453adc6ea238d94ba84478</id>
<content type='text'>
</content>
</entry>
</feed>
