Victor Brekenfeld
fa42a0a223
docs: Add a more fleshed out backend::drm module documentation
2020-06-07 22:42:33 +02:00
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
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
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
8f543eb597
backend.input: rework libinput as a calloop source
2020-05-12 08:46:34 +02:00
Victor Brekenfeld
28166ce002
Merge pull request #206 from Smithay/fix/drm_connector
...
Fix drm mode and connector handling
2020-05-01 16:46:36 +02:00
Victor Brekenfeld
26cae39598
lint: clippy
2020-05-01 16:30:11 +02:00
Victor Brekenfeld
9300e35093
lint: fmt
2020-04-30 19:03:02 +02:00
Victor Brekenfeld
31b6d84442
WIP: Rework egl and glium errors
2020-04-30 00:24:35 +02:00
Victor Berger
31f1f4f9e0
backend.udev: rework as an event source
2020-04-28 11:13:25 +02:00
Victor Berger
b3aae074e4
Update calloop to 0.6
2020-04-28 11:13:25 +02:00
Victor Brekenfeld
6c4a3817d3
atomic: fix set_connector/mode functions
2020-04-27 21:52:30 +02:00
Victor Brekenfeld
91b03f1e37
drm: Make DRM errors print the actual access error
2020-04-27 19:48:42 +02:00
Victor Brekenfeld
b9201cd0b5
atomic: Make screen setting less log spamming
2020-04-27 19:48:42 +02:00
Victor Brekenfeld
d1ac9c94db
atomic: Remove verbose property mapping from log
2020-04-27 19:48:42 +02:00
Victor Brekenfeld
8a040630a0
fallback: Allow forcing legacy modeset via env-variable
2020-04-27 19:48:42 +02:00
Victor Brekenfeld
5fb73a497e
gbm: cleanup session rendering loop restart
2020-04-27 19:48:42 +02:00
Victor Brekenfeld
5e530b8263
drm: better describe add_connector usage
2020-04-27 19:48:42 +02:00
Victor Brekenfeld
1a40ed6079
atomic: fixup rendering loop after tty switch
2020-04-27 19:48:41 +02:00
Victor Brekenfeld
378686611c
drm: Let swap_buffers return real error
2020-04-27 19:48:41 +02:00
Victor Brekenfeld
e486f7b87c
legacy: fixup rendering loop after tty switch
2020-04-27 19:48:41 +02:00
Victor Brekenfeld
c7a98cee21
atomic: do not allow removal of the last connector
2020-04-27 00:45:58 +02:00
Victor Brekenfeld
da18c3a5f3
atomic: honor dev.active
2020-04-27 00:45:58 +02:00
Victor Brekenfeld
33149b17e2
atomic: disable connectors on surface drop
2020-04-27 00:45:58 +02:00
Victor Brekenfeld
c560aef666
legacy: do not allow removal of the last connector
2020-04-27 00:45:58 +02:00
Victor Brekenfeld
4786db633b
legacy: disable/enable connectors on remove/add
2020-04-27 00:45:58 +02:00
Victor Brekenfeld
7199640ad9
legacy: honor dev.active
2020-04-27 00:45:58 +02:00
Victor Brekenfeld
3d2e9aeff2
legacy: disable connectors on surface drop
2020-04-27 00:45:58 +02:00
Victor Brekenfeld
d6fa2e96cf
drm: Require all surfaces to always have a mode set
2020-04-27 00:45:58 +02:00
Victor Brekenfeld
b6087bf2d2
legacy: move create_surface into Surface constructor
2020-04-27 00:45:58 +02:00
Victor Brekenfeld
77875f71c6
fallback: add disable_connectors to `FallbackDevice` initialization
2020-04-27 00:45:58 +02:00
Victor Brekenfeld
50f94d013a
legacy: disable connectors on device creation
2020-04-27 00:45:58 +02:00
Victor Brekenfeld
8c8f5e0d59
atomic: disable connectors on device creation
2020-04-27 00:45:58 +02:00
Victor Berger
548a929d1c
wayland.compositor: Correct frame callback handling
2020-04-22 12:12:57 +02:00
Victor Berger
1736db27b4
anvil: set saner values for key repeat rate
2020-04-21 23:04:23 +02:00
Victor Brekenfeld
260bfd9f86
clippy fixes
2020-04-21 20:18:35 +02:00
Victor Brekenfeld
dcd6934d08
legacy: remove outdated comment
2020-04-21 20:18:35 +02:00
Victor Brekenfeld
11bb910224
atomic: flesh out trace logs
2020-04-21 20:18:35 +02:00
Victor Brekenfeld
ef05dacc0d
atomic: Move out `add/map_props` to `Dev`
2020-04-21 20:18:35 +02:00
Victor Brekenfeld
df951b5de7
common: add fallback device/surface types
2020-04-21 20:18:35 +02:00
Victor Brekenfeld
35943fc56a
typo: ctrc -> crtc in drm/mod.rs
2020-04-21 20:18:34 +02:00
Victor Brekenfeld
57e5494941
legacy: bugfix, add null-commit to free pipeline
2020-04-21 20:18:34 +02:00
Victor Brekenfeld
ea44343315
drm: add set_connectors to Surface
2020-04-21 20:18:34 +02:00
Victor Brekenfeld
d3b8563f65
gbm: Try to re-create resources and commit if restarting the rendering loop fails
2020-04-21 20:18:34 +02:00
Victor Brekenfeld
d30bd4555e
anvil: use atomic modesetting
2020-04-21 20:18:34 +02:00
Victor Brekenfeld
365b7e6496
drm: Add atomic modesetting support
2020-04-21 20:18:34 +02:00
Victor Brekenfeld
e8cb940aab
drm legacy: small cleanups + additional logging
2020-04-21 20:18:34 +02:00
Victor Brekenfeld
1b259e2deb
typo: priviledged -> privileged
2020-04-21 20:18:34 +02:00
Victor Brekenfeld
41696f5364
drm: trigger vblank on commit
2020-04-21 20:18:34 +02:00
Victor Brekenfeld
ed257e8991
drm: move legacy::Error into common module
2020-04-21 20:18:34 +02:00
Victor Brekenfeld
df27224372
gbm: implement CursorBackend generically
2020-04-21 20:18:34 +02:00
Victor Brekenfeld
cde06eb99a
cursor: simplify trait by removing barely utilized lifetimes
2020-04-21 20:18:34 +02:00
Sergey Smirnykh
ce1b7ae8e4
Fix clippy::cognitive-complexity warning ( #198 )
...
Use helper functions in <LibinputInputBackend as InputBackend>::dipatch_new_events
to simplify the code
Move said helper functions to libinput/helpers.rs
Move libinput.rs to libinput/mod.rs
2020-04-21 14:53:59 +02:00
Sergey Smirnykh
a5cd2978b3
Fix clippy::unnecessary::filter-map warning
2020-04-21 11:15:26 +02:00
Sergey Smirnykh
a774d8c52e
Implement Error trait for KeyboardError using thiserror
2020-04-21 11:14:59 +02:00
Victor Brekenfeld
2101f17b7b
Merge pull request #192 from Smithay/fix/primary_gpu
...
Fix primary_gpu
2020-04-18 18:26:49 +02:00
Victor Brekenfeld
bcb2aa3864
Fix egl_to_texture check
2020-04-18 15:03:20 +02:00
Victor Brekenfeld
39500f1d05
Fix primary_gpu
2020-04-18 13:41:54 +02:00
Victor Brekenfeld
8678738d01
Merge pull request #188 from csnewman/egl-refactor
...
Refactor EGL backend
2020-04-18 13:15:48 +02:00
Chandler Newman
28eb4dd943
Fix vsync attribute
2020-04-16 16:03:10 +01:00
Chandler Newman
4b97ed8eba
Reduce choose_config complexity
2020-04-16 16:02:36 +01:00