nyorain
7b52388424
Rework session handling
...
Sessions can now be retrieved from a backend in a more general manner.
Multi-backend gets back its `session` field that contains the session
if one was created, removing the interfacing from multi backend with the
drm backend directly. This adds the possibility to use sessions even
without the drm backend.
It additionally fixes the bug that 2 session objects got created when
WLR_BACKENDS were set to "libinput,drm".
To allow vt switching without drm backend (and drm fd) on logind, start
listening to PropertiesChanged signals from dbus and parse the session
"Active" property when no master fd was created (this does not change
current drm backend behaviour in any way).
2018-09-24 23:35:09 +02:00
Drew DeVault
4b096fc114
Revert "Merge pull request #1153 from emersion/include-config"
...
This reverts commit ef0a6ea4d2
, reversing
changes made to 8d03bc9178
.
2018-07-21 09:44:20 -04:00
emersion
41094a7df5
Always include config.h
2018-07-21 13:08:23 +01:00
emersion
7cbef15206
util: add wlr_ prefix to log symbols
2018-07-09 22:49:54 +01:00
Dominique Martinet
e5348ad7d3
backend autocreate: fix leak when WLR_BACKENDS is set
...
Found through static analysis
2018-06-30 11:45:57 +09:00
Ilia Bozhinov
24cf70ae96
backends: implement custom EGL and renderer initialization
...
Compositors now have more control over how the backend creates its
renderer. Currently all backends create an EGL/GLES2 renderer, so
the necessary attributes for creating the context are passed to a
user-provided callback function. It is responsible for initializing
provided wlr_egl and to return a renderer. On fail, return 0.
Fixes #987
2018-05-25 14:56:52 +03:00
emersion
75b10cd621
backend: support creating DRM and libinput via WLR_BACKENDS
2018-05-19 09:32:08 +01:00
emersion
007d83c6ee
backend: allow multiple backends in WLR_BACKENDS
2018-05-19 09:09:03 +01:00
emersion
a1631dd9ee
backend: add WLR_BACKEND env variable
2018-05-19 09:08:59 +01:00
emersion
d2ebbd103c
backend: remove wlr_backend_get_egl
2018-04-08 11:00:56 -04:00
Tancredi Orlando
68ad7e5092
Add ifdef to build without X11
2018-04-04 19:59:47 +02:00
Drew DeVault
56deff41b6
Implement input inhibit in rootston
2018-04-03 15:09:53 -04:00
emersion
5111f7df84
backend/x11: fix extra output
2018-03-30 23:51:20 -04:00
emersion
0a7a8cbd1c
backend/x11: add WLR_X11_OUTPUTS support
2018-03-30 23:51:19 -04:00
Dominique Martinet
a0b52a0dff
Fix x11 backend
...
Need to include wlr/config.h before using the various WLR_HAS_xxx defines
2018-03-27 09:20:21 +02:00
Drew DeVault
706f77e3c7
Address review feedback
2018-03-26 23:15:21 -04:00
Cedric Sodhi
51141dd11e
Minor corrections
2018-03-23 10:28:36 +01:00
Cedric Sodhi
ebdabc2030
Make X11 fully optional
...
Make X11 Backend (in addition to XWayland) optional and small bug fix on XWayland includes.
2018-03-09 15:17:15 +01:00
Drew DeVault
1d9be89e2d
Revert "ELF Visibility"
2018-02-19 18:01:27 -05:00
Scott Anderson
86269052eb
Explicitly export EFL symbols
2018-02-19 14:26:40 +13:00
Scott Anderson
f27c0b44b8
Remove usec_to_msec from public API
2018-02-19 10:43:25 +13:00
emersion
c2e1474010
Reformat all #include directives
2018-02-12 21:29:23 +01:00
emersion
10ecf871f2
Remove wlr_backend.events.{output_remove,device_remove}
2018-02-12 10:36:43 +01:00
emersion
babdd6ccf7
backend: fix use-after-free when destroying backends
...
The backend destroy signal is emitted before the output_remove
signal is. When the destroy signal is emitted listeners remove
their output_remove listener, so the output_remove signal is never
received and listeners have an invalid output pointer.
The correct way to solve this would be to remove the output_remove
signal completely and use the wlr_output.events.destroy signal
instead. This isn't yet possible because wl_signal_emit is unsafe
and listeners cannot be removed in listeners.
2018-01-30 19:45:57 +01:00
emersion
4fa90b0511
Backport screenshooter fixes from the renderer redesign v1
...
This backports some changes to #319 to fix the screenshooter data
format. This also adds wlr_backend_get_renderer which will be
useful to support multiple renderers.
2018-01-23 22:06:54 +01:00
Markus Ongyerth
c00e9d1416
adds remote argument to wayland backend create
...
Add a remote display name argument to wlr_wl_backend_create.
If NULL is passed to the wayland backend at all times, creating a
wayland backend *after* the compositor was started up, would require
changing the WAYLAND_DISPLAY environment variable.
2018-01-13 21:20:15 +01:00
Tony Crisci
4cec7f54e2
only add first backend to multi autocreate
2017-12-21 18:38:58 -05:00
Tony Crisci
b4159c52d5
autocreate backend returns null instead of empty
2017-12-21 08:33:34 -05:00
Tony Crisci
ca6a0ef1bb
always return multibakend from autocreate
2017-12-19 19:07:33 -05:00
Tony Crisci
a937016e38
remove session from multibackend
2017-12-19 18:25:46 -05:00
Tony Crisci
4e804ef40f
add backend destroy event
2017-12-19 18:14:47 -05:00
emersion
4a36ba4bdd
Destroy multi backend on display destroy
2017-12-19 18:28:47 +01:00
Tony Crisci
875a5b446f
remove time usec
2017-10-30 15:43:06 -04:00
Scott Anderson
009c3747a8
Multi-GPU DRM
2017-10-01 22:29:25 +13:00
Scott Anderson
fa3d0ed929
Change wlr_session to open every GPU
2017-10-01 16:47:05 +13:00
Scott Anderson
7ad2a57feb
Open X11 Window
2017-09-29 16:12:13 +13:00
Scott Anderson
a598e6d026
Add X11 backend skeleton
2017-09-29 16:12:13 +13:00
Scott Anderson
fb93628bda
Merge wlr_udev into wlr_session
2017-08-26 14:02:04 +12:00
Scott Anderson
46823152ea
Rename functions to be consistent with #93
2017-08-26 11:56:43 +12:00
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
2017-08-14 16:22:31 +02:00
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.
2017-08-13 10:19:57 -04:00
Drew DeVault
60d1131df2
Re-enable backend autoselection
2017-08-12 19:56:55 -04:00
Drew DeVault
81cd90297d
Refactor out wlr_backend_state from wl/multi
2017-08-12 11:43:36 -04:00
Drew DeVault
c24351681f
Refactor EGL handling
2017-08-10 22:15:37 -04:00
Drew DeVault
f1a069d50d
Log that the X11 backend is unimplemented
2017-08-05 23:03:56 -04:00
Scott Anderson
cb4d50e22c
Changed header paths.
2017-08-06 13:25:26 +12:00
Scott Anderson
ae4478e17f
Changed ownership of wlr_session to the multi backend.
...
Currently breaks VT switching for examples.
2017-08-06 13:25:26 +12:00
Drew DeVault
f4453d104d
Reorganize wlr-common
2017-06-21 12:10:07 -04:00
Drew DeVault
c2d0090ad7
Support multiple wl backend outputs
2017-06-20 18:22:21 -04:00
nyorain
e22626ef6a
Adapt codestyle
2017-06-19 22:39:20 +02:00
nyorain
10526de444
Fix furhter wayland backend issues
2017-06-19 19:40:58 +02:00
Drew DeVault
e257afeb7e
Establish multi backend support
2017-06-13 08:10:36 -04:00
Drew DeVault
7a5f35b5bb
Reassign ownership of libinput handle
2017-06-13 08:10:36 -04:00
Drew DeVault
0e75d157f5
Initialize keyboards from libinput
2017-06-13 08:10:36 -04:00
Drew DeVault
af69591e62
Add error handling and init in backend_autocreate
2017-06-13 08:10:36 -04:00
Drew DeVault
325a331425
Fix some build errors
2017-06-12 22:45:25 -04:00
Drew DeVault
7d82476590
Refactor type implementations
2017-06-04 19:30:50 -04:00
Drew DeVault
40b85d992a
Refactor udev and drm initialization
2017-06-01 20:29:10 -04:00
Drew DeVault
c7f6981d9c
Clean up outputs on exit
2017-05-31 16:17:04 -04:00
Drew DeVault
fee409bd0a
Generalize DPMS, remove DRM refs from example
2017-05-31 15:38:26 -04:00
Drew DeVault
00931f2f8f
Generalize output handling
2017-05-07 12:26:48 -04:00
Drew DeVault
15b1ce9e6c
Refactor backend state management
2017-05-07 10:12:54 -04:00