Scott Anderson
419400ae00
Send failure code on partial atomic commit
7 years ago
Scott Anderson
a466c86fba
Set state properly
7 years ago
Drew DeVault
0699aa62d8
Initial pass on roots_input
7 years ago
Scott Anderson
db5e9385d4
Simplify retry_pageflip
7 years ago
Scott Anderson
025b3ee515
Add error recovery for failed page flips
7 years ago
Scott Anderson
459d138fa2
Add timeout to DRM cleanup
...
This prevents a potential infinite loop preventing us from closing
properly.
7 years ago
Drew DeVault
b6d7c3ed8e
Initialize display, backend; add frame handling
7 years ago
Scott Anderson
8cbade355f
Print connector name on atomic commit failure
7 years ago
Scott Anderson
4a53aab466
Allow forcing legacy DRM interface
7 years ago
dudemanguy
175f89f4ff
Add elogind support
...
Resolves SirCmpwn/wlroots#146
7 years ago
Drew DeVault
9fa822c666
Fix minor typos
7 years ago
Scott Anderson
1682c0d983
Remove non-blocking flag on modesetting commits
...
This seems to make hotplugging DisplayPort MST connectors more reliable.
7 years ago
Scott Anderson
6717b78bd6
Retry atomic commit on failure
...
So we don't lose any previously "good" properties that were set.
7 years ago
Scott Anderson
0aa00da1f3
Check for disappearing DRM connectors
...
DisplayPort MST connectors will disappear when they're disconnected, so
we need to check for that.
7 years ago
emersion
6f98b5a337
Add set_gamma and get_gamma_size to wlr_output_impl
7 years ago
Tony Crisci
368f74e4df
Refactor meson build files
...
Use tabs for indentation and break up function calls over 80 col.
7 years ago
Drew DeVault
6daf9e9ab2
Merge pull request #120 from acrisci/feature/wlr-cursor
...
wlr_cursor
7 years ago
Tony Crisci
df0ee7f25f
implement tablet tool devices
7 years ago
Tony Crisci
c914697676
add device to touch events
7 years ago
Tony Crisci
98f4cdfccb
implement wlr_cursor_map_input_to_output
7 years ago
Tony Crisci
e3d47376dc
add wlr_cursor basic implementation
7 years ago
Scott Anderson
d16b2977f6
Remove single GPU assumptions from wlr_session
7 years ago
Scott Anderson
fb93628bda
Merge wlr_udev into wlr_session
7 years ago
Scott Anderson
46823152ea
Rename functions to be consistent with #93
7 years ago
Dominique Martinet
062d923b0a
wayland backend: wl_event_source_remove on destroy
7 years ago
Dominique Martinet
f24b3df980
wlr renderer/texture: rename init to create when it does alloc
7 years ago
Dominique Martinet
12782eabfe
libinput: wl_event_source_remove on destroy
7 years ago
Dominique Martinet
58efb8f90a
wayland backend: remove explicit scale = 1
...
This is now set correctly in the wlr_output init
7 years ago
Dominique Martinet
0252c8e072
drm realloc_crtcs: check we found an output
...
This follows-up on #105 that just initialized to 0.
Instead, make sure we actually found an output that matches
7 years ago
Tony Crisci
784cf65635
fix uninitialized warning
...
`index` might be uninitialized. Warning can be produced with gcc and `-01` flag.
7 years ago
Dominique Martinet
e2e149784b
wayland backend: fix xdg-shell for weston
...
- xdg toplevel configure can be called with 0 width/height,
in that case we are free to do as we like (so do nothing)
- need a display roundtrip after everything is setup but before
we start attaching buffers to the surface
7 years ago
Dominique Martinet
3377e5e4f2
wayland backend: fix xdg-shell for gnome
...
Calling wl_surface_commit after setting up the xdg_toplevel is
apparently good enough for them.
Still missing something for weston.
7 years ago
Dominique Martinet
fb05923eaa
wayland backend: Fix shell title/app_id to wlroots
7 years ago
Dominique Martinet
4f3d21c3ff
wayland output: add error handling for xdg shell
...
Note that this does not go on to the next backend, because
attempt_wl_backend does not check if we have any output created.
We cannot test simply because (right now) a run of our examples will go
in this function twice, the first of which will (rightly?) return no
display but needs to return backend creation success.
7 years ago
Dominique Martinet
577d2f6fcd
wayland backend: switch to xdg shell
...
Closes #72 and #96 .
7 years ago
Drew DeVault
e7fa4f12e1
Fix DRM problem introduced in 901c14c
7 years ago
Drew DeVault
beb84940cf
Improve no device detection support
7 years ago
Drew DeVault
3ac10a81bd
Merge pull request #94 from martinetd/libinput_no_device
...
libinput: fail if no input found on init
7 years ago
Calvin Lee
901c14c409
Prevent alloc errors from crashing in `list_t`
...
This commit changes the `list_t` api so that alloc errors can be
detected and worked around. Also fixes errors not found in 5cc7342
7 years ago
Dominique Martinet
880c239657
libinput: fail if no input found on init
...
This runs through events pending at init on initialization so we can
tell if some devices are available.
Note that with the way wlr_device_lists is managed, this checks that
there is at least one device we handle - it doesn't have to be a
keyboard, but there is at least a mouse or tablet_pad or something
that we care about.
Instead of failing inconditionally it might be better to leave the
decision to the user, e.g. add a "backend_has_devices" function to
call later.
(Tested by moving /dev/input off)
Fixes #24 .
7 years ago
Drew DeVault
27c13d621d
Merge pull request #88 from 4e554c4c/alloc_crashing
...
Prevent alloc errors from crashing
7 years ago
Drew DeVault
d2e796edb7
Merge pull request #86 from nyorain/master
...
Fix style issues
7 years ago
Calvin Lee
5cc7342606
Prevent alloc errors from crashing
...
Resolves #76
7 years ago
nyorain
d7dcbbc175
Add wayland backend cursor support
7 years ago
nyorain
f998bb8299
Fix style issues
7 years ago
Dominique Martinet
e922e62924
wayland input_device_destroy: add missing braces
7 years ago
Dominique Martinet
4bbf718e7d
impl->destroy cleanup:
...
- remove trivial destroy() function
- make sure we check impl and impl->destroy before calling
- always call free if not implemented
7 years ago
Dominique Martinet
ba20d5b3ca
Refactor out wlr_touch_state
7 years ago
Dominique Martinet
bd67849c03
Refactor out wlr_tablet_tool_state
7 years ago
Dominique Martinet
a289940bff
Refactor out wlr_tablet_pad_state
7 years ago
Dominique Martinet
53e7bebd23
Refactor out wlr_pointer_state
7 years ago
Dominique Martinet
0a3246ad97
Refactor out wlr_keyboard_state
7 years ago
Dominique Martinet
e6ad67911b
Refactor out wlr_input_device_state
7 years ago
Dominique Martinet
9a9dd15d5f
Fix wlr_multi_backend_add incorrect assert
7 years ago
Drew DeVault
c8c6619146
Refactor out wlr_output_mode_state
7 years ago
Calvin Lee
de66bdb867
Add backend detection functions
...
Resolves #80
7 years ago
Drew DeVault
41e735242d
Remove wlr_output_state, update backends
7 years ago
Drew DeVault
4386816889
wlr_backend_init -> wlr_backend_start
...
Also renames create to init. We'll use create for anything that
allocates and init for anything that takes a pointer and initializes it.
7 years ago
Drew DeVault
43fb40e949
Merge pull request #79 from martinetd/libinput_renaming
...
Libinput renaming
7 years ago
Drew DeVault
e6a7817e45
Fix build on systems without systemd
7 years ago
Dominique Martinet
5c82d2f5c3
libinput backend: massive renaming
...
- 'libinput' (backend's) to libinput_context
- 'device' (libinput_device) to libinput_dev
- 'dev' (wlr_device) to wlr_dev
- 'devices' lists tangling of libinput devices to wlr_devices
- 'devices' list of wlr_devices in backend state to wlr_device_lists
7 years ago
Dominique Martinet
08a2afdf6f
libinput backend: match logging for removal and add
...
Only log removal of devices once, but also log it for devices
that we do not care about.
7 years ago
Dominique Martinet
701e147b9b
libinput: remove useless get_context call
...
That function is literally just "return event->device->seat->libinput"
We do not use context, so do not fetch it.
7 years ago
Dominique Martinet
f2e2794365
wayland backend: do not watch wayland fd for writable
...
Wayland fd is always writable and will busy-loop.
The dispatch function gets called with 0-mask when we need to flush
display anyway, so this saves CPU at no visible impact.
7 years ago
Drew DeVault
60d1131df2
Re-enable backend autoselection
7 years ago
Drew DeVault
234b2104e4
Refactor wlr_backend_state out of DRM backend
7 years ago
Drew DeVault
c95a108d2f
Update libinput backend with new state design
7 years ago
Drew DeVault
81cd90297d
Refactor out wlr_backend_state from wl/multi
7 years ago
Dominique Martinet
3e2cb5b5cf
libinput: fix segfault when handling non-wlr device removal
7 years ago
Dominique Martinet
3ea878b76e
wayland backend: free seatName
7 years ago
Dominique Martinet
8427749dd0
wayland backend: emit signal for input/output removal
7 years ago
Dominique Martinet
de86965174
Use libinput_event_destroy/xkb_*_unref
...
Also sneak in a missing drmModeFreePlaneResources
7 years ago
Dominique Martinet
e1293a7853
libinput: signal input remove on libinput backend destroy
...
This lets the upper crust cleanup and free their own states
7 years ago
Dominique Martinet
be3a0ad065
libinput backend: fill in handle_device_removed
...
And fix input_remove_notify accordingly
7 years ago
Dominique Martinet
c42674bc25
Fix libinput destroy for devices with multiple capabilities
7 years ago
Dominique Martinet
0354aaeff2
Complete a few destroy functions
...
This adds missing free calls for:
- drm outputs
- libinput backend in general
- final udev free
- output mode state
7 years ago
Dominique Martinet
0663b6d1e1
Build libinput events on the stack instead of allocating
7 years ago
Drew DeVault
62d8b252c0
Refactor meson and move xdg-shell into wlroots
7 years ago
Drew DeVault
6569c2b626
Merge pull request #53 from nyorain/drm_buffer
...
Implement drm (egl) buffer attaching
7 years ago
Drew DeVault
c24351681f
Refactor EGL handling
7 years ago
Scott Anderson
fe2fbd0fad
Fix possible use of CRTC after monitor is unplugged
7 years ago
Drew DeVault
4aaf76cb66
wlr_output_update_matrix during wl backend init
7 years ago
nyorain
073dff63da
Fix style issues
7 years ago
nyorain
67369173aa
Implement drm (egl) buffer attaching
7 years ago
Scott Anderson
a77fac0760
Added null check on crtc
7 years ago
Scott Anderson
af67966d92
Atomic modesetting
7 years ago
nyorain
e167f41fde
Rename wlr_surface -> wlr_texture; attach -> upload
7 years ago
Scott Anderson
d09ca20a4d
Use gbm_bo_map for cursor
7 years ago
Scott Anderson
dbe66d1963
Style changes
7 years ago
Scott Anderson
5f7042a1f2
Moved headers
7 years ago
Scott Anderson
d307c2f2c2
Renamed some variables to be less generic
7 years ago
Scott Anderson
1db97a9af9
Updated DRM cursor rendering
7 years ago
Scott Anderson
aedfa27d3a
Clean up resources when plane is reassigned
7 years ago
Scott Anderson
2f8b5c4448
More cleanups
7 years ago
Scott Anderson
dd7a349295
Various cleanups
7 years ago
Scott Anderson
d1ca1ec16e
Split off some functions into drm-util
7 years ago
Scott Anderson
c46605d605
Use plane for rendering
7 years ago
Scott Anderson
e16c5504cd
Add planes.
7 years ago
Scott Anderson
67b51f0922
Upgraded CRTC and Encoder matching
7 years ago
Scott Anderson
31867a1b2e
Various changes/cleanups
7 years ago