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 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
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
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
Chandler Newman
f8c97baf1d
Prevent display being destroyed until all resources have been dropped
2020-04-16 13:44:32 +01:00
Chandler Newman
c4016af67b
Add default settings for surface creation
2020-04-16 12:33:28 +01:00
Chandler Newman
f7c05fa064
Rename WaylandEGLDisplay to EGLBufferReader
2020-04-15 21:19:20 +01:00
Chandler Newman
a4d2043b7e
Fix clippy warnings
2020-04-15 12:27:01 +01:00
Chandler Newman
3c6877f094
Fix formatting
2020-04-15 12:24:31 +01:00
Chandler Newman
b8df85e744
Mark get_proc_address as safe
2020-04-15 12:16:02 +01:00
Chandler Newman
a684f5d8d6
Refactor EGL backend
2020-04-15 12:01:01 +01:00
Victor Berger
b54d95c15d
Fix most clippy warnings ( #185 )
...
* Add missing documentation
* Fix most clippy warnings
2020-04-15 09:28:22 +02:00
Victor Brekenfeld
b43c0db115
Update to udev 0.4
2020-04-13 17:07:08 +02:00
Victor Berger
6a7d933553
Replace `failure` and `error-chain` by `thiserror`
2020-04-13 13:20:59 +02:00
Chandler Newman
d92aa6dafe
Only listen to removal signal for own session ( #182 )
2020-04-12 17:00:19 +02:00
Sergey Smirnykh
f966e28fe5
Update wayland-client & wayland-egl ( #181 )
...
Update wayland-client to 0.25.0
Add wayland-egl 0.25.0
2020-04-12 13:11:10 +02:00
Victor Brekenfeld
f6b3d630ce
rustfmt
2020-04-10 19:18:58 +02:00
Victor Brekenfeld
e8e8667d89
Upgrade to the upcoming drm-rs 0.4
2020-04-10 16:58:49 +02:00
Sergey Smirnykh
e798259be9
Calculate pointer location correctly
2020-04-08 15:21:21 +02:00
Sergey Smirnykh
3bc1c728a8
Remove excess type conversions
2020-04-08 15:21:21 +02:00
Sergey Smirnykh
9e1bce7c66
Unhide cursor for now
2020-04-08 15:21:21 +02:00
Sergey Smirnykh
73345375ac
Update winit dependency to version 22.0
2020-04-08 15:21:17 +02:00
Dorota Czaplejewicz
178a447394
winit: Don't resize in resize handler
...
The resize handler with a window resize request causes oscillations between two window sizes (presumably the inner and the outer). While it's not clear what part of the stack causes it, checking `window.get_inner_size()` already presents the correct size.
Either way, changing the same property in its change handler is a recipe for feedback loops as this one and should be avoided whenever possible, and then carefully fortified too.
2020-04-06 10:35:27 +02:00
Jonas Platte
b8c20ebf30
Update wayland-rs to 0.25 ( #171 )
...
Update wayland-rs to 0.25 and calloop to 0.5
Co-authored-by: Victor Berger <victor.berger@m4x.org>
2020-04-05 19:01:08 +02:00
Victor Berger
63702a308a
backend.libinput: fix tracking of removed devices
2020-04-01 11:03:54 +02:00
Ivan Molodetskikh
46348367b1
backend.egl: add egl_buffer_dimensions
...
Allows to retrieve just the dimensions, without creating images and
whatnot.
2020-02-03 12:41:35 +03:00
nycex
0140de89fb
fix some clippy warnings ( #147 )
...
This commit removes some clippy warnings (to advance #45 ) by doing the following:
- replace usage of `mem::uninitialized()` with `MaybeUninit`
- replace usage of `nix::libc::{uint64_t, int32_t}` with `{u64, i32}`
- replace functions inside of `Option::ok_or` with `Option::ok_or_else`
- replace functions inside of `Result::unwrap_or` with `Result::unwrap_or_else`
- replace occurrences of pass-by-reference with pass-by-value when
appropriate
- replace unused variables in pattern-matching with wildcards
- replace `match` expressions that have only one case with `if let`
expressions
- replace UpperCamelCase names of consts with SCREAMING_SNAKE_CASE
- remove `clone()` on types that implement Copy
- remove redundant imports
- remove `fn main()` from doctests
- remove let binding for variables that are returned afterwards
2020-01-01 11:43:16 +01:00
Christophe Biocca
834f3d2e65
Upgrade to dbus 0.8, change imports to match.
2020-01-01 11:42:28 +01:00
Pierre Chevalier
0b2e4b42db
Fix clippy warnings with cargo fix
...
Simply ran:
```
rustup run nightly cargo fix --clippy -Z unstable-options
```
followed by
```
cargo fmt
```
No manual change in this commit.
2019-10-23 14:13:10 +02:00
Victor Berger
c604a48dce
wayland.compositor: user UserDataMap to store per-surface data
2019-04-27 21:38:24 +02:00
Victor Berger
9f9e6d4329
wayland.compositor: rework the subsurface tree
...
Rework the subsurface tree by:
- forbidding subsurface loops
- storing the relative depth of a parent to its children,
finally respecting the wl_subsurface specification.
closes #23
2019-04-22 17:20:46 +02:00
Jonas Platte
f34cf4b068
Upgrade anvil to wayland-server 0.23
2019-02-24 08:23:51 +01:00
Victor Berger
3f2857fbf3
Update smithay to wayland-server 0.23
2019-02-24 08:23:51 +01:00
Victor Berger
89dce178c8
Make wayland support optional
2019-02-06 09:29:56 +01:00
Victor Brekenfeld
e5f8c351c7
Check for rust_2018_idioms
2018-12-16 19:31:38 +01:00
Victor Brekenfeld
71bd64a6bf
Fix source code for 2018 edition
2018-12-16 19:31:38 +01:00
Victor Brekenfeld
dc97e0ad03
Add reexports module
2018-12-14 14:26:50 +01:00
Victor Brekenfeld
04aee7cbc9
Replace documentation links with intra rustdoc links
2018-12-13 15:14:25 +01:00
Victor Brekenfeld
a3acd48cc3
fmt: rust 1.31
2018-12-08 18:31:08 +01:00
Victor Brekenfeld
a1b8d2bf47
docs: clarify get_framebuffer_dimensions
2018-12-08 17:26:05 +01:00
Victor Brekenfeld
c24619861e
egl: style: move constraints into where clause
2018-12-08 17:26:05 +01:00
Victor Berger
7dc3d64b6e
docs: typo fixes
...
Co-Authored-By: Drakulix <github@drakulix.de>
2018-12-08 13:47:22 +01:00
Victor Brekenfeld
a8343edbd7
legacy: add legacy drm example
2018-12-05 22:51:41 +01:00
Victor Brekenfeld
bbe767002d
comments: add more explainations to new code
2018-12-05 22:48:10 +01:00
Victor Brekenfeld
a3734da9da
gbm: update to gbm 0.5
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
8fbce616a6
libinput: update to 0.4.1
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
aa2090c079
docs: add session/multi
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
2bc45d4053
docs: fix backend_session_logind
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
36b265400a
docs: add graphics/gl
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
6609754d13
docs: add drm/egl
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
1f8a7e7335
docs: add drm/gbm
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
3b92e351b1
docs: added drm/legacy
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
174c150887
docs: added drm
2018-12-03 23:29:30 +01:00
Victor Brekenfeld
b160a91f8a
drm: remove mode & connector arguments of create_surface
2018-12-03 23:29:30 +01:00
Victor Brekenfeld
f8a5e8bfde
anvil: allow for non-egl builds
2018-12-03 23:29:30 +01:00
Victor Brekenfeld
f2466c5c50
drm: Fix drop order
2018-12-03 23:29:30 +01:00
Victor Brekenfeld
2c73651327
logind: fix dbus spamming the event queue
2018-12-03 23:29:30 +01:00
Victor Brekenfeld
51f0050d68
drm: fix dropping master when killed from another tty
2018-12-02 22:01:45 +01:00
Victor Brekenfeld
8abcc145d7
egl: EGLContext borrow native to circumvent RefCell runtime error
2018-12-02 22:01:45 +01:00
Victor Brekenfeld
0ed69bf2da
session: Add multiplexer
2018-12-02 22:01:45 +01:00
Victor Brekenfeld
5741ccdd46
gbm: fix EGLSurface recreation
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
d6e7fb591e
direct: fix udev feature name
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
e7575d08b8
gbm: fix calling lock_front_buffer without eglSwapBuffers
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
9a82de6fae
graphics: Move PixelFormat out of gl module
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
d07c66985f
gbm: CursorBackend depends on backend_drm_legacy
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
59e0ad87f9
gbm: do not expose egl support, if backend_egl is not enabled
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
de526f4b23
drm: Add functions to query device state
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
2675cf94dc
egl_surface: fix CursorBackend implementation
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
f17e37465b
drm: Remove associated Return type from Device
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
f8499e533a
libinput: fix warning when not building backend_session
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
9e5dad4c23
session: export OFlag
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
f74af7ba18
udev: use same order for bind arguments
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
9ee44672a0
cargo fmt
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
bd5690bd77
Refactor drm backend
...
- Split `DrmDevice` into `LegacyDrmDevice`, `GbmDevice` and `EglDevice`
- Provide common `Device` and `RawDevice` traits
- Change `DrmBackend` into `Surface` (and `RawSurface`) implementations of each `Device` (or `RawDevice`)
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
b537237a74
Refactor udev backend
...
- Do not open devices for `UdevHandler` anymore
- `UdevBackend` does not require `LoopHandle` or `Session` anymore
- Type of the created device can be choosed freely by the handler
- `UdevBackendObserver` is not needed anymore
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
505791e336
Upgrade backends to calloop 0.4 and renamed gl-traits
2018-11-29 16:13:05 +01:00
Victor Brekenfeld
38ec44f70c
Hide SoftwareRenderer behind feature flag
...
- Don't let backend depend on `CursorBackend` (used to be `GraphicsBackend`) anymore
2018-11-29 16:12:11 +01:00
Victor Brekenfeld
ccc7abc94f
Create general SwapBuffersError
2018-11-29 16:12:11 +01:00
Victor Brekenfeld
bbf28655d1
Rename GraphicsBackend to CursorBackend
2018-11-29 16:12:11 +01:00
Victor Brekenfeld
ac0dc42e9e
Add seperate GL module
...
- Move parts of glium & egl module into own module
- Add raw GL loader as an alternative
2018-11-29 16:12:11 +01:00
Victor Brekenfeld
c9e67cdfef
Move egl module
...
- Remove gbm code
- rename EGLWaylandExtensions to EGLGraphicsBackend
- remove OpenGL specific code where possible
2018-11-29 16:12:11 +01:00
Pablo Stebler
630b659ae6
Upgrade calloop and winit ( #114 )
...
* Fix compilation with calloop 0.4
* Use `Into` instead of changing signatures
* Bump winit to 0.18
* Fix logind for calloop 0.4
* Cargo fmt
2018-11-17 18:01:04 +01:00
Colin Benner
734d2ce996
Fmt, spelling and capitalisation fixes ( #113 )
...
* Rename priviledged to privileged in backend/drm/mod.rs
* Fix a number of typos in comments
* Fix typos in string literals
* Wrap identifiers with backticks in doc comments
* Spelling and capitalisation in doc comments
* Use XWayland in comments
This seems to be the standard capitalisation, even though the executable
is called `Xwayland`.
* Use Glium instead of glium in comments
* Use DRM and API in comments
* Fix remaining occurrence of 'priviledged'
* Reformat code to appease Travis' rustfmt
2018-10-30 13:56:30 +01:00
Victor Berger
9f0a1fb244
backend.winit: remove the moved() event
...
This event poses issues regarding its semantic (what space are the
coordinates in?) and arguably won't be used anyway. So let's remove it
for now, it can still be added afterwards if it appears to be really
needed.
2018-10-15 11:15:10 +02:00
Victor Berger
df12fa4e8b
backends.winit: only expose physical sizes
...
Unify winit with the other backends in only ever dealing with physical
sizes. All dimensions and coordinates are provided in the physical space
(transformed by the dpi factor provided by winit), and the user is
responsible for dealing with the dpi scaling if they want.
A compositor using it can deal with it either by following the scaling
transmitted by the backend or using some value retrieved by other means
(like a command line argument, like weston does).
This means that a non-hidpi aware implementation will appear very small
on an hidpi screen, but not broken. This is now the current state of
anvil.
This also changes the WinitEventsHandler trait to merge the resized()
and hidpifactorchanged() callbacks into a single one, providing the
physical size and the dpi factor whenever either changes.
2018-10-15 11:15:10 +02:00
Jonas Platte
a77e29d9b5
lib: Use nested imports
2018-10-07 22:39:18 +02:00
Lucas Timmins
2e9096923e
Update changelog and make the argument of `WinitEventsHandler fn moved()` a LogicalPosition
2018-09-30 19:24:13 +08:00
Lucas Timmins
673f0cd0aa
Use physical size to resize egl surface and change `WinitEventsHandler fn resized()` to take a LogicalSize
2018-09-30 19:22:35 +08:00
Lucas Timmins
ffdf245259
Upgrade winit backend to 0.17
2018-09-30 19:22:35 +08:00
Victor Berger
bd08f78acd
Return the backends to the user if binding fails.
2018-09-28 18:01:33 +02:00
Victor Berger
7f8d32429b
cargo fmt
2018-09-27 21:17:10 +02:00
Victor Berger
6328f68b71
fix yet even more errors with logind backend
2018-09-25 11:55:30 +02:00
Victor Berger
95d55f4b96
fix yet more errors with logind backend
2018-09-25 11:20:17 +02:00
Victor Berger
97e960a0f1
fix more logind backend errors
2018-09-25 10:29:35 +02:00
Victor Berger
53d27264a2
fix some logind backend errors
2018-09-25 09:44:07 +02:00
Victor Berger
269c9a5c7c
fix doc copy/paste error
2018-09-25 09:43:49 +02:00
Victor Berger
454f874284
cargo fmt
2018-09-25 00:32:09 +02:00
Victor Berger
605895e30f
update to wayland-rs 0.21
2018-09-25 00:31:58 +02:00
Colin Benner
6d31e9e5ff
address more clippy warnings
...
Not sure how much of an improvement these are.
2018-06-29 12:30:42 +02:00
Colin Benner
4598ba0b48
address a bunch of clippy warnings
2018-06-28 11:33:49 +02:00
Victor Berger
89764bf442
wayland.backend.egl: derive Debug for Format
2018-05-19 19:48:13 +02:00
Victor Berger
de373074fd
Update winit to 0.14
2018-05-12 12:55:37 +02:00
Victor Berger
422e8b33e0
backend.winit: migrate to wayland-rs 0.20
2018-04-18 09:58:32 +02:00
Victor Berger
53242bd974
backend.libinput: migrate to wayland-rs 0.20
2018-04-18 09:53:54 +02:00
Victor Berger
31a3d40589
backend.drm: update doc examples
2018-04-18 09:44:22 +02:00
Victor Berger
7f6af94733
backend: migrate drm & udev
2018-04-18 09:38:35 +02:00
Victor Berger
f9dbabce56
backend.graphics: port no-feature code to wayland-rs 0.20
2018-04-17 19:17:11 +02:00
Victor Berger
cb4b783dc2
backend.session.logind fixes
2018-04-17 19:08:54 +02:00
Victor Berger
b80093ffda
backend.session: migrate to wayland_rs-0.20
2018-04-17 18:39:07 +02:00
Victor Berger
e44b0e596e
wayland.seat: migrate to wayland_rs-0.20
2018-04-15 11:55:16 +02:00
Drakulix
c36c511c53
[glium] Remove unnecessary mutable self reference for borrowing
2018-03-29 15:31:25 +02:00
Drakulix
d051e141cf
Refactor PointerAxisEvent to handle multiple axis
2018-03-22 16:10:32 +01:00
Drakulix
d005cd4fc6
Replace time stub with proper timestamps
2018-03-17 18:15:34 +01:00
Drakulix
4ee34fe43a
Fix winit transformed input for negative positions
2018-03-13 18:41:37 +01:00
Drakulix
81375a085f
Allow relative mouse movement to be negative
2018-03-13 15:06:52 +01:00
Drakulix
a6d8b2a802
Fix winit transformed input
2018-03-09 17:37:27 +01:00
Drakulix
bdb653042c
Update glium integration to allow mutable borrowing
2018-03-09 11:50:01 +01:00
Drakulix
9cb409de9b
Add missing derives for AutoId
2018-02-26 18:56:28 +01:00
Drakulix
5cfdf931fb
Update for wayland-server 0.14
2018-02-21 21:02:14 +01:00
Drakulix
f4d3061b2b
Fix tests & examples
2018-02-21 14:52:43 +01:00
Drakulix
85bac997e0
Fix merge with latest logind bug fixes
2018-02-21 14:52:31 +01:00
Drakulix
4a2658090b
Code formatting
2018-02-21 14:24:37 +01:00
Drakulix
5d66f8fdb3
Give EventLoopHandle to DrmHandler
2018-02-21 14:24:20 +01:00
Drakulix
b80674bdf5
Introduce SessionObserver
...
`DrmDevice` and `UdevBackend` now do not need to be wrapped into `StateToken`s anymore, but can return a separate `SessionObserver` object using the new `AsSessionObserver` trait.
This change was motivated by allowing the `UdevHandle` to obtain a mutable reference to an `EventLoopHandle` to create wayland object, e.g. a `wl_output` object.
Previously this was not possible.
Depends on https://github.com/Smithay/wayland-rs/pull/164
2018-02-21 14:24:20 +01:00
Drakulix
0ad723a71b
Allow `DrmBackend` to act as `drm::control::Device`
2018-02-21 13:31:05 +01:00
Drakulix
2294e79814
Reset drm device into text mode on tty switch
2018-02-20 19:19:22 +01:00
Drakulix
e3113caa72
Add new travis feature for logind
2018-02-20 19:19:22 +01:00
Drakulix
525c9b60c4
rustfmt
2018-02-20 19:19:22 +01:00
Drakulix
20e10612b9
Add documentation for logind/auto session
2018-02-20 19:19:22 +01:00
Drakulix
310bc94a20
Fix disappearing cursor after tty switch
2018-02-20 19:19:22 +01:00
Drakulix
5411209bb5
Fix libinput panic on tty switch
2018-02-20 19:19:22 +01:00
Drakulix
495c492e50
Fix trying to become drm master on logind session
2018-02-20 19:19:22 +01:00
Drakulix
a768e298f2
Add auto backend
2018-02-20 19:19:22 +01:00
Drakulix
b16c62b19f
Add logind session
2018-02-20 19:19:22 +01:00
Drakulix
4971278a25
Remove unused type parameter
2018-02-20 19:19:22 +01:00
Victor Berger
036633541a
Remove trailing code fence in documentation
2018-02-20 19:08:23 +01:00
Drakulix
ef0cfb9f2c
Add names to backend seats
2018-02-19 12:49:55 +01:00
Drakulix
d3a454ad72
Add winit events handler
2018-02-18 23:42:33 +01:00
Drakulix
b53ff34aab
Add option to access underlying window
2018-02-18 23:42:02 +01:00
Drakulix
8a30689015
Add getter for current `DrmBackend` mode
2018-02-18 22:04:13 +01:00
Drakulix
a9c75656a2
Add event_loop to `InputBackend` and `InputHandler` traits
2018-01-12 16:41:33 +01:00
Drakulix
32f48b3cd2
Fix some clippy lints
2018-01-09 14:12:31 +01:00
Drakulix
b125ce8005
Fix backend_drm feature
2018-01-07 23:44:21 +01:00
Drakulix
66c011c942
Use new rustfmt-preview
2018-01-07 22:30:38 +01:00
Drakulix
25c1e30fb3
Fix drm doc-test for new egl buffer changes
2018-01-07 22:12:34 +01:00
Drakulix
aaa68b1cce
Add documentation for the egl buffer features
2018-01-07 22:12:14 +01:00
Drakulix
efaadb8882
Fix a bunch of warnings
2018-01-07 20:24:40 +01:00
Drakulix
c5f475ebb5
Make unbind_egl_display into Drop implementation for EGLDisplay
2018-01-07 13:02:26 +01:00
Drakulix
a527456ba6
Fixup drm backends for egl hardware-acceleration
...
- Decouple DrmBackend and DrmDevice through Weak references
- Move EGL-WlBuffer related functionality into it's own trait
- Impl new trait by every struct that can theoretically bind the display although it is no rendering target (no EGLGraphicsBackend), e.g. DrmDevice
- Move texture binding into own struct `EGLDisplay` created by `bind_wl_display` that can be passed around freely
- Add device num to DrmDevice for HashMap storage
- Fixup and enable acceleration on drm and udev examples made possible by the previous changes.
2018-01-05 20:04:46 +01:00
Drakulix
6c6d54064d
Get it to work...
2017-12-28 15:30:53 +01:00
Drakulix
726991367d
Rework egl image api
2017-12-27 12:20:16 +01:00
Drakulix
5d7e96103d
Rework EGL module
2017-12-24 14:29:45 +01:00
Drakulix
5c846d550c
Start EGL wl_buffer image retrieval
2017-12-24 14:12:51 +01:00
Drakulix
14fc36bf54
Add binding/unbinding wayland display on EGLContext
2017-12-24 14:12:51 +01:00
Drakulix
a9d30374dc
Add EGL_WL_bind_wayland_display bindings
2017-12-24 14:12:51 +01:00
Drakulix
e1b2c88c83
Use global gl_generator generator
2017-12-24 14:12:51 +01:00
Drakulix
d0046e4c60
Fix rare hot-plugging bug
2017-12-21 16:25:21 +01:00
Drakulix
4207611e6d
rustfmt code
2017-12-15 19:22:44 +01:00
Drakulix
c9e7624a33
Remove (incomplete) logind support for now
2017-12-07 15:25:21 +01:00
Drakulix
5f59ded3f0
Fix udev example
2017-12-07 15:20:33 +01:00
Drakulix
40ef1236ea
Update to released udev/libinput versions
2017-12-06 02:06:00 +01:00
Drakulix
71f107118f
Make libinput backend work without the session feature
2017-12-03 22:44:45 +01:00
Drakulix
ae5df5039d
Fix drm example and tests
2017-12-03 22:33:21 +01:00
Drakulix
c5e66176c6
Document DirectSessionNotifier Id type
2017-12-02 17:09:34 +01:00
Drakulix
bd83bc5b2d
Restore drm state correctly
2017-12-02 17:07:52 +01:00
Drakulix
33286df0d6
Make it impossible to pass invalid `SessionObserver` ids.
...
- Add an associated type to the `SessionNotifier` trait for the returned Id's instead of using usize.
- Create a new Id type for the `DirectSessionNotifier`'s implementation, wrapping the previously used usize.
- Derive necessary traits of the new wrapper, make internal value inaccessible and Id's not publically constructable.
2017-12-02 14:24:39 +01:00
Drakulix
612436e42d
Correctly scan for any encoders
2017-12-02 13:51:08 +01:00
Drakulix
13be5b1634
Add documentation
2017-11-29 22:28:14 +01:00
Drakulix
0350dca972
Automatically add udev backend to the event loop store
2017-11-29 22:28:14 +01:00
Drakulix
ef2e0571e7
Swap session signal to usr2, because xwayland may use usr1
2017-11-29 22:28:14 +01:00
Drakulix
b4be5a5786
Comment out logind integration for now
2017-11-29 22:28:14 +01:00
Drakulix
24f2d499f3
Add more logging to session
2017-11-29 22:28:14 +01:00
Drakulix
606efebe1b
Remove unnecessary mutexes
2017-11-29 22:28:14 +01:00
Drakulix
96bb3570ba
Get input working
2017-11-29 22:28:14 +01:00
Drakulix
c7682e77de
Udev backend
2017-11-29 22:28:13 +01:00
Victor Berger
c31d966fd4
Upgrade wayland-server to 0.12
2017-11-03 17:31:51 +01:00
Demur Rumed
ce844ba9f8
Cargo.toml: include repo, update nix/image
2017-10-09 15:17:19 +02:00
Jonas Platte
4946017c0c
Apply a bunch of clippy suggestions
2017-10-07 18:40:59 +02:00
Drakulix
51886fbf00
Update to stable drm-rs version
2017-10-01 22:25:52 +02:00
Victor Berger
5a0713feb9
Fix winit backend on wayland
...
We were trying to swap_buffers while the xdg_surface had not been
configured yet, which is a protocol error.
2017-09-29 17:22:19 +02:00
Drakulix
7f45283759
cargo fmt
2017-09-21 20:50:10 +02:00
Drakulix
d2617becbf
Fix drm doc test and Deref impl
2017-09-21 19:05:59 +02:00
Drakulix
f09bdd0a30
cargo fmt
2017-09-20 20:06:58 +02:00
Drakulix
518f7dbdfc
Store DrmBackend in EventLoop state
2017-09-20 19:48:58 +02:00
Drakulix
0758ec98ba
Fix the drm backend for wayland-rs 0.10
2017-09-20 17:09:37 +02:00
Drakulix
457d6d1c35
Free framebuffers correctly
2017-09-20 15:56:57 +02:00
Drakulix
fa6742fb5f
The glory of error-chain
2017-09-20 15:56:11 +02:00
Drakulix
a04bfcdd11
Add encoder detection to runtime manipulation
2017-09-20 15:54:16 +02:00
Drakulix
174e4b9d0b
Fix encoder detection
2017-09-20 15:53:19 +02:00
Drakulix
d3fca34475
Do a better job at finding a crtc in the example
2017-09-20 15:52:47 +02:00
Drakulix
bdb91fc1f1
Better explaination of the drm module
...
- Explain the types involved and their role
- Link to the drm-rs documentation
2017-09-20 15:51:59 +02:00
Drakulix
67b3621be3
drm: reformat
2017-09-20 15:51:59 +02:00
Drakulix
ab77a87725
drm: Check for valid encoder
2017-09-20 15:51:59 +02:00
Drakulix
10fd94f963
drm: add more logging
2017-09-20 15:51:39 +02:00
Drakulix
73d262e292
drm: reformat
2017-09-20 15:51:39 +02:00
Drakulix
9c71793b0e
drm: Add more inline comments explaining the drm code
2017-09-20 15:51:39 +02:00
Drakulix
7bf4105050
drm: Add error for multi-use of a single crtc
2017-09-20 15:51:39 +02:00
Drakulix
f2bff6172b
drm: Documentation
2017-09-20 15:51:38 +02:00
Drakulix
0698775153
drm: Introduce the Drm Backend
...
- new backend rendering via egl via gbm directly on a drm device
- refine EGLContext and EGLSurface dependencies through lifetimes
- fixup the old winit backend to work with these changes
- add new example using the drm backend instead
- change GliumDrawer to be static for the drm example
2017-09-20 15:50:14 +02:00
Victor Berger
88773cf1b3
cargo fmt
2017-09-05 19:51:05 +02:00