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
7 years ago
emersion
75b10cd621
backend: support creating DRM and libinput via WLR_BACKENDS
7 years ago
emersion
007d83c6ee
backend: allow multiple backends in WLR_BACKENDS
7 years ago
emersion
a1631dd9ee
backend: add WLR_BACKEND env variable
7 years ago
emersion
d2ebbd103c
backend: remove wlr_backend_get_egl
7 years ago
Tancredi Orlando
68ad7e5092
Add ifdef to build without X11
7 years ago
Drew DeVault
56deff41b6
Implement input inhibit in rootston
7 years ago
emersion
5111f7df84
backend/x11: fix extra output
7 years ago
emersion
0a7a8cbd1c
backend/x11: add WLR_X11_OUTPUTS support
7 years ago
Dominique Martinet
a0b52a0dff
Fix x11 backend
...
Need to include wlr/config.h before using the various WLR_HAS_xxx defines
7 years ago
Drew DeVault
706f77e3c7
Address review feedback
7 years ago
Cedric Sodhi
51141dd11e
Minor corrections
7 years ago
Cedric Sodhi
ebdabc2030
Make X11 fully optional
...
Make X11 Backend (in addition to XWayland) optional and small bug fix on XWayland includes.
7 years ago
Drew DeVault
1d9be89e2d
Revert "ELF Visibility"
7 years ago
Scott Anderson
86269052eb
Explicitly export EFL symbols
7 years ago
Scott Anderson
f27c0b44b8
Remove usec_to_msec from public API
7 years ago
emersion
c2e1474010
Reformat all #include directives
7 years ago
emersion
10ecf871f2
Remove wlr_backend.events.{output_remove,device_remove}
7 years ago
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.
7 years ago
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.
7 years ago
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.
7 years ago
Tony Crisci
4cec7f54e2
only add first backend to multi autocreate
7 years ago
Tony Crisci
b4159c52d5
autocreate backend returns null instead of empty
7 years ago
Tony Crisci
ca6a0ef1bb
always return multibakend from autocreate
7 years ago
Tony Crisci
a937016e38
remove session from multibackend
7 years ago
Tony Crisci
4e804ef40f
add backend destroy event
7 years ago
emersion
4a36ba4bdd
Destroy multi backend on display destroy
7 years ago
Tony Crisci
875a5b446f
remove time usec
7 years ago
Scott Anderson
009c3747a8
Multi-GPU DRM
7 years ago
Scott Anderson
fa3d0ed929
Change wlr_session to open every GPU
7 years ago
Scott Anderson
7ad2a57feb
Open X11 Window
7 years ago
Scott Anderson
a598e6d026
Add X11 backend skeleton
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
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
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
60d1131df2
Re-enable backend autoselection
7 years ago
Drew DeVault
81cd90297d
Refactor out wlr_backend_state from wl/multi
7 years ago
Drew DeVault
c24351681f
Refactor EGL handling
7 years ago
Drew DeVault
f1a069d50d
Log that the X11 backend is unimplemented
7 years ago
Scott Anderson
cb4d50e22c
Changed header paths.
7 years ago
Scott Anderson
ae4478e17f
Changed ownership of wlr_session to the multi backend.
...
Currently breaks VT switching for examples.
7 years ago
Drew DeVault
f4453d104d
Reorganize wlr-common
8 years ago
Drew DeVault
c2d0090ad7
Support multiple wl backend outputs
8 years ago
nyorain
e22626ef6a
Adapt codestyle
8 years ago
nyorain
10526de444
Fix furhter wayland backend issues
8 years ago
Drew DeVault
e257afeb7e
Establish multi backend support
8 years ago
Drew DeVault
7a5f35b5bb
Reassign ownership of libinput handle
8 years ago
Drew DeVault
0e75d157f5
Initialize keyboards from libinput
8 years ago
Drew DeVault
af69591e62
Add error handling and init in backend_autocreate
8 years ago