Victor Berger
1871b5ddae
Make slog-stdlog into an optional dependency
...
slog-stdlog has a significant dependency tree and is basically unsued if
the downstream crate of Smithay always provides a logger (like anvil),
so it is not really needed.
2020-07-12 16:38:05 +02:00
Victor Brekenfeld
9c3c3d939e
cargo fmt & lint
2020-06-28 00:25:15 +02:00
Victor Brekenfeld
107b18a4c1
logind: do not include dbus code without dbus dependency
2020-06-28 00:23:24 +02:00
Victor Brekenfeld
51b5b39b75
cursor: allow cursor clearing on CursorBackend
2020-06-28 00:23:24 +02:00
Victor Brekenfeld
d603a9ccfb
egl: Do not store and release WlBuffer for EGLImages
2020-06-28 00:23:24 +02:00
Victor Brekenfeld
7b4459f649
drm: Make surfaces `Send`
2020-06-11 18:57:05 +02:00
Victor Brekenfeld
cc67764c23
make clippy happy
2020-06-11 12:16:43 +02:00
Victor Brekenfeld
3c048075f4
docs: Add more explanations to various graphics code
2020-06-07 22:42:33 +02:00
Victor Brekenfeld
a3459cda31
docs: Add more explanations to the eglstream-drm-code
2020-06-07 22:42:33 +02:00
Victor Brekenfeld
978415987f
docs: Add more explanations to the gbm-drm-code
2020-06-07 22:42:33 +02:00
Victor Brekenfeld
dcb3bb79a7
docs: Add more explanations to the atomic-drm-code
2020-06-07 22:42:33 +02:00
Victor Brekenfeld
7e8f6b2955
docs: Add more explanations to the legacy-drm-code
2020-06-07 22:42:33 +02:00
Victor Brekenfeld
fa42a0a223
docs: Add a more fleshed out backend::drm module documentation
2020-06-07 22:42:33 +02:00
Victor Berger
a717fa36cd
backend.session: Migrate to using Signaler
...
Change the session backend to rely on Signaler to propagate its
signals. Also introduce the Linkable trait to allow generic composition
of objects needing to listen for signals.
2020-05-23 21:37:22 +02:00
Victor Berger
c3859d999b
backend.session: use pkg-config to find logind lib
...
Introduce the `backend_session_elogind` cargo feature which pulls
`backend_session_logind` and makes the logind session backend seek
`libelogind.so` instead of `libsystemd.so`.
Fixes #127
2020-05-23 21:37:22 +02:00
Victor Berger
b05c2ccbba
backend.session: rework as calloop event sources
...
Rework the Session Notifiers so that they are calloop event sources
by themselves, allowing them to be inserted by the user without the
`bind_session` dance.
Also update the logind backend to use the current dbus-rs API, rather
than the deprecated one.
2020-05-23 21:37:22 +02:00
Victor Brekenfeld
9acd109a04
fallback: support FallbackDevice<GbmDevice, EglStreamDevice> for automatic nvidia support
2020-05-23 00:29:32 +02:00
Victor Brekenfeld
53f5753943
udev: Add function to query the loaded driver of a device
2020-05-23 00:29:32 +02:00
Victor Brekenfeld
69c1116d82
eglstream: initial backend implementation
2020-05-23 00:29:32 +02:00
Victor Brekenfeld
eb1dc5de4f
egl: do not fail if desired swap interval cannot be selected
2020-05-23 00:17:19 +02:00
Victor Brekenfeld
e8926da56c
graphics: Log underlying error of SwapBuffers
2020-05-23 00:17:19 +02:00
Victor Brekenfeld
d3a60e03c9
egl: differenciate display creation failures
2020-05-23 00:17:19 +02:00
Victor Brekenfeld
73447bd668
egl: Pass clonable display handle to native-impls
2020-05-23 00:17:19 +02:00
Victor Brekenfeld
cc6e3569f0
gbm: Do not try to use eglGetDisplay
2020-05-23 00:17:19 +02:00
Victor Brekenfeld
997895b3c7
drm: allow crate internal impls to access crtc and plane
2020-05-23 00:17:19 +02:00
Victor Brekenfeld
f9aef43ac2
egl: move loading into separate function
2020-05-23 00:17:19 +02:00
Victor Brekenfeld
19ef1ed3c0
egl: move eglSwapBuffers call into NativeSurface
2020-05-23 00:17:19 +02:00
Victor Brekenfeld
0565e5fd79
egl: NativeSurface: replace recreate with create
2020-05-23 00:17:19 +02:00
Victor Brekenfeld
0267703e91
egl: move surface creation into `NativeSurface`
2020-05-22 23:19:19 +02:00
Victor Brekenfeld
4647141770
egl: Allow displays to specify surface_type
2020-05-22 23:19:17 +02:00
Victor Brekenfeld
726624cbd8
egl: allow display creation to specify attributes
2020-05-22 23:18:49 +02:00
Victor Brekenfeld
64a57a4cc8
downgrade some recoverable errors to warnings
2020-05-12 20:03:03 +02:00
Victor Brekenfeld
9610f31e44
drm: log initial surface parameters
2020-05-12 20:03:03 +02:00
Victor Brekenfeld
2128f68847
egl: log hidden egl errors
2020-05-12 20:03:03 +02:00
Victor Brekenfeld
bf3e8b4d10
egl: check for surface creation failure
2020-05-12 20:03:03 +02:00
Victor Brekenfeld
7c4ca4e524
atomic: do not revert on failing state
2020-05-12 20:03:03 +02:00
Victor Brekenfeld
f1c40f7306
lint: fmt & clippy
2020-05-12 20:03:03 +02:00
Victor Brekenfeld
20b373470f
drm: permission denied is also temporary
2020-05-12 19:47:16 +02:00
Victor Brekenfeld
25f2610ea6
gbm: Do not unpack drm-rs errors on conversion
2020-05-12 19:47:16 +02:00
Victor Brekenfeld
a0c65114fb
drm: Do not unpack drm-rs errors on conversion
2020-05-12 19:47:16 +02:00
Victor Brekenfeld
12a57f799a
logind: ignore gone events
2020-05-12 19:47:16 +02:00
Victor Brekenfeld
44ebed3446
gbm: only clear recreation state on successful commits
2020-05-12 19:47:16 +02:00
Victor Brekenfeld
a6863af496
egl: force surface creation on resume
2020-05-12 19:47:16 +02:00
Victor Brekenfeld
140185f6f5
atomic: clear invalid cursor buffers
2020-05-12 19:47:16 +02:00
Victor Brekenfeld
163533a72a
atomic: avoid too excessive trace logging
2020-05-12 19:47:16 +02:00
Victor Brekenfeld
b4cbecd369
atomic: do not set current state if commit fails
2020-05-12 19:47:16 +02:00
Victor Brekenfeld
f3dabe2cea
atomic: clear broken resources on resume
2020-05-12 19:47:16 +02:00
Victor Brekenfeld
9bbd9edb0c
egl: track backends
2020-05-12 19:47:16 +02:00
Victor Brekenfeld
7bca463934
atomic: do not cache cursor fb info
2020-05-12 19:47:16 +02:00
Victor Brekenfeld
1a5cc59983
drm: do not ignore events for inactive devices
2020-05-12 19:46:18 +02:00