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
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
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
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
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
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
Jonas Platte
a77e29d9b5
lib: Use nested imports
2018-10-07 22:39:18 +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
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
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
525c9b60c4
rustfmt
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
495c492e50
Fix trying to become drm master on logind session
2018-02-20 19:19:22 +01:00
Drakulix
b16c62b19f
Add logind session
2018-02-20 19:19:22 +01:00
Drakulix
8a30689015
Add getter for current `DrmBackend` mode
2018-02-18 22:04:13 +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
5d7e96103d
Rework EGL module
2017-12-24 14:29:45 +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
ae5df5039d
Fix drm example and tests
2017-12-03 22:33:21 +01:00
Drakulix
bd83bc5b2d
Restore drm state correctly
2017-12-02 17:07:52 +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
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
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
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