Victor Berger
05992b9d11
wayland.seat: Send key event before modifier event
2020-05-23 21:37:35 +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
2d5e829e12
Merge pull request #214 from Smithay/feature/nvidia
...
Add support for nvidia's EGLStream API
2020-05-23 15:47:28 +02:00
Victor Brekenfeld
c186bbb4c4
ci: add backend_drm_eglstream to feature matrix
2020-05-23 00:29:32 +02:00
Victor Brekenfeld
0c19a461b6
anvil: use fallback-device for gbm/nvidia
2020-05-23 00:29:32 +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
38d3db565a
anvil: do not double initialize surfaces with multiple matching encoders
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
1a39c208c4
Merge pull request #209 from Smithay/fix/egl_glium_errors
...
Rework rendering loop
2020-05-14 00:45:20 +02:00
Victor Brekenfeld
0486c567ac
fix ci
2020-05-14 00:36:22 +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
7518f8c0f7
anvil: retry initial renderings
2020-05-12 19:47:10 +02:00
Victor Brekenfeld
1a5cc59983
drm: do not ignore events for inactive devices
2020-05-12 19:46:18 +02:00
Victor Brekenfeld
49215f6a3d
gbm: do not implicitly restart rendering loop
2020-05-12 19:46:18 +02:00
Victor Brekenfeld
64fc1aa0da
gbm: do not block buffer forever if commit/page_flip fails
2020-05-12 19:46:18 +02:00
Victor Brekenfeld
0a716438e3
gbm: split out clear_framebuffers
2020-05-12 19:46:18 +02:00
Victor Brekenfeld
eaa3a0ca87
egl: fix broken egl check
2020-05-12 19:46:18 +02:00
Victor Berger
b708f88da6
anvil: Fuse InputHandler into AnvilState
2020-05-12 08:46:34 +02:00