Dominique Martinet
d5e14ab247
wayland backend: fix use-after free on output destroy
...
==12021==ERROR: AddressSanitizer: heap-use-after-free on address 0x617000015698 at pc 0x7f1a9abe1c09 bp 0x7ffe9068f6b0 sp 0x7ffe9068f6a0
WRITE of size 4 at 0x617000015698 thread T0
#0 0x7f1a9abe1c08 in pointer_handle_leave ../backend/wayland/wl_seat.c:40
#1 0x7f1a96ae7d1d in ffi_call_unix64 (/lib64/libffi.so.6+0x5d1d)
#2 0x7f1a96ae768e in ffi_call (/lib64/libffi.so.6+0x568e)
#3 0x7f1a988e0d8a (/lib64/libwayland-client.so.0+0x8d8a)
#4 0x7f1a988dd927 (/lib64/libwayland-client.so.0+0x5927)
#5 0x7f1a988debe3 in wl_display_dispatch_queue_pending (/lib64/libwayland-client.so.0+0x6be3)
#6 0x7f1a9abdd6d6 in dispatch_events ../backend/wayland/backend.c:28
#7 0x7f1a9a968c11 in wl_event_loop_dispatch (/lib64/libwayland-server.so.0+0x9c11)
#8 0x7f1a9a967449 in wl_display_run (/lib64/libwayland-server.so.0+0x8449)
#9 0x418dff in main ../rootston/main.c:81
#10 0x7f1a99b5ef29 in __libc_start_main (/lib64/libc.so.6+0x20f29)
#11 0x4057c9 in _start (/home/shared/wayland/wlroots/build/rootston/rootston+0x4057c9)
0x617000015698 is located 664 bytes inside of 696-byte region [0x617000015400,0x6170000156b8)
freed by thread T0 here:
#0 0x7f1a9af754b8 in __interceptor_free (/lib64/libasan.so.4+0xde4b8)
#1 0x7f1a9abe01ee in wlr_wl_output_destroy ../backend/wayland/output.c:194
#2 0x7f1a9ac12918 in wlr_output_destroy ../types/wlr_output.c:299
#3 0x7f1a9abe061b in xdg_toplevel_handle_close ../backend/wayland/output.c:255
#4 0x7f1a96ae7d1d in ffi_call_unix64 (/lib64/libffi.so.6+0x5d1d)
#5 0x7f1a96ae768e in ffi_call (/lib64/libffi.so.6+0x568e)
#6 0x7f1a988e0d8a (/lib64/libwayland-client.so.0+0x8d8a)
#7 0x7f1a988dd927 (/lib64/libwayland-client.so.0+0x5927)
#8 0x7f1a988debe3 in wl_display_dispatch_queue_pending (/lib64/libwayland-client.so.0+0x6be3)
#9 0x7f1a9abdd6d6 in dispatch_events ../backend/wayland/backend.c:28
#10 0x7f1a9a968c11 in wl_event_loop_dispatch (/lib64/libwayland-server.so.0+0x9c11)
#11 0x7f1a9a967449 in wl_display_run (/lib64/libwayland-server.so.0+0x8449)
#12 0x418dff in main ../rootston/main.c:81
#13 0x7f1a99b5ef29 in __libc_start_main (/lib64/libc.so.6+0x20f29)
#14 0x4057c9 in _start (/home/shared/wayland/wlroots/build/rootston/rootston+0x4057c9)
previously allocated by thread T0 here:
#0 0x7f1a9af75a38 in __interceptor_calloc (/lib64/libasan.so.4+0xdea38)
#1 0x7f1a9abe0703 in wlr_wl_output_create ../backend/wayland/output.c:272
#2 0x7f1a9abdd8eb in wlr_wl_backend_start ../backend/wayland/backend.c:55
#3 0x7f1a9abbeb49 in wlr_backend_start ../backend/backend.c:28
#4 0x7f1a9abd8ce1 in multi_backend_start ../backend/multi/backend.c:24
#5 0x7f1a9abbeb49 in wlr_backend_start ../backend/backend.c:28
#6 0x418c32 in main ../rootston/main.c:58
#7 0x7f1a99b5ef29 in __libc_start_main (/lib64/libc.so.6+0x20f29)
#8 0x4057c9 in _start (/home/shared/wayland/wlroots/build/rootston/rootston+0x4057c9)
7 years ago
emersion
c41de2d1be
render: split render.h into wlr_renderer.h and wlr_texture.h
7 years ago
emersion
824a95ad19
matrix: use 2D matrices
7 years ago
Scott Anderson
902d6cc240
Use xcb atoms properly
7 years ago
Markus Ongyerth
a65ef8ea86
restore dpms state on drm resume
...
If there is no current mode, set outputs to dpms off in drm resume.
Sets current mode to null on disable to ensure this can be checked.
7 years ago
Drew DeVault
1d9be89e2d
Revert "ELF Visibility"
7 years ago
Drew DeVault
868ad5af69
Merge pull request #647 from ascent12/elf_visibility
...
ELF Visibility
7 years ago
Guido Günther
15afef6cbc
x11 backend: set window title
...
This makes windows identifiable in the window list
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
Drew DeVault
664d7bfe4e
Merge pull request #618 from VincentVanlaer/atomic-gamma
...
Add atomic gamma control
7 years ago
emersion
bf6d245400
Swap buffers with damage
7 years ago
Vincent Vanlaer
ab011406ad
Add atomic gamma lut size fetching
...
Legacy gamma lut size now uses the new legacy_crtc member of
wlr_drm_crtc. This was Previously doen using old_crtc in
wlr_drm_connector, but since this refers to the crtc that was connected to
the ouput, this could give the wrong result.
7 years ago
Vincent Vanlaer
cc1229e75e
Add atomic gamma setting
7 years ago
emersion
bb4aeb3b2f
backend/drm: support updating cursor when session is paused
7 years ago
emersion
51c22d39a4
Merge remote-tracking branch 'upstream/master' into output-damage
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
emersion
0365b587f0
output: add damage tracking via buffer age
7 years ago
emersion
53ba9b4eec
Fix output enable in DRM backend
7 years ago
Tony Crisci
d1dce19253
handle display destroy
7 years ago
Tony Crisci
6c8fd6017e
backend add and remove events
7 years ago
Tony Crisci
ee39dff1e7
rootston: handle backend creation failed
7 years ago
Tony Crisci
a937016e38
remove session from multibackend
7 years ago
Dominique Martinet
fcd7062542
x11 backend: add wlr_input_device_is_x11
7 years ago
Dominique Martinet
169bc9fa10
wl backend: add wlr_input_device_is_wl
7 years ago
Dominique Martinet
d9eaca6c9f
headless backend: add wlr_output_is_headless
7 years ago
Dominique Martinet
be95147385
drm backend: add wlr_output_is_drm
7 years ago
Dominique Martinet
dabfe159de
wl backend: add wlr_output_is_wl
7 years ago
Dominique Martinet
f83b16bc17
x11 backend: add wlr_output_is_x11
7 years ago
emersion
4a36ba4bdd
Destroy multi backend on display destroy
7 years ago
emersion
bc5bdb7793
Add headless input devices
7 years ago
emersion
0256de0002
Add full refresh rate support to custom modes
7 years ago
emersion
b852fb9a2b
Minimal working headless output
7 years ago
emersion
3970264ccf
Initialize headless backend
7 years ago
emersion
75ef7860bb
Merge branch 'master' into display-destroy
7 years ago
emersion
a1302cc4a5
Fix pointer events with multiple outputs in wayland backend
7 years ago
emersion
9d43adaafa
Listen to display destroy in backends
7 years ago
emersion
016744ef4d
Refactor wlr_list inside wlroots
7 years ago
emersion
c3b09f73da
Fix cursor hotspot with rotated outputs on DRM backend
7 years ago
emersion
95566c6bdf
Transform cursor hotspot, fix wayland cursor hotspot
7 years ago
emersion
9d587d759f
Do not set hw cursor if disabled when switching VT
7 years ago
Drew DeVault
16f35ecbea
Merge branch 'master' into heghe/wl_list
7 years ago
Drew DeVault
169b68b17c
Rename remaining refs to wlr_list
7 years ago
Scott Anderson
bdeffad7e5
Remove drm field from wlr_drm_connector
7 years ago
Scott Anderson
4ea84c5765
Remove unnecesary wlr_renderers
7 years ago
Scott Anderson
9b984253e2
Move egl.h to render/egl.h
7 years ago
Heghedus Razvan
d3f0878d71
Replace list_t with wl_list in wlr_wl_backend
...
Now wlr_backend->outputs is a list of wlr_wl_backend_output instead of
wlr_output.
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
7 years ago
Heghedus Razvan
c03e774636
Replace list_t with wl_list in wlr_drm_backend
...
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
7 years ago
Heghedus Razvan
bde25fe020
Replace list_t with wl_list in wlr_multi_backend
...
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
7 years ago
Versus Void
641d08ce7e
Transform hotspot with cursor
...
Fix #188
7 years ago
Scott Anderson
f193623ca1
Change iface prefix to suffix
7 years ago
Scott Anderson
f6f9c40965
Minor fixes
7 years ago
Scott Anderson
009c3747a8
Multi-GPU DRM
7 years ago
Scott Anderson
eaef028976
Add renderer pointer inside drm_surface
7 years ago
Scott Anderson
4101b89700
Rename wlr_drm_output to wlr_drm_connector
7 years ago
Scott Anderson
22e77d9195
Rename backend to drm
7 years ago
Scott Anderson
ec5b95e08f
Add pointer to backend from DRM outputs
7 years ago
Scott Anderson
096249a2a1
Split DRM rendering to its own file
7 years ago
Scott Anderson
d0708b1a3a
Split DRM internal interface to its own header
7 years ago
Scott Anderson
610b0493ac
Rename files to remove pointless drm prefix
7 years ago
Scott Anderson
c8a8ff66f2
Removed unused fields
7 years ago
Scott Anderson
1b18b0a27d
Fix time and transform
7 years ago
Scott Anderson
6bf508df81
Add closing with WM button
7 years ago
Scott Anderson
8027232ae5
Add timer for rendering loop
7 years ago
Scott Anderson
9ca5b0cae8
Add basic input
7 years ago
Scott Anderson
3a5b150df2
Basic rendering
7 years ago
Scott Anderson
bbe90d41bb
Add EGL for X11
7 years ago
Scott Anderson
7ad2a57feb
Open X11 Window
7 years ago
Scott Anderson
a598e6d026
Add X11 backend skeleton
7 years ago
Drew DeVault
7cf4ee128e
Merge remote-tracking branch 'origin/master' into rootston
7 years ago
Drew DeVault
d7d73cd298
Merge pull request #144 from ascent12/drm-dp-mst
...
DisplayPort MST
7 years ago
Drew DeVault
f4387b437f
Merge branch 'master' into rootston
7 years ago
emersion
427bdb5b55
Use more consistent include guard names
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
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
577d2f6fcd
wayland backend: switch to xdg shell
...
Closes #72 and #96 .
7 years ago
nyorain
d7dcbbc175
Add wayland backend cursor support
7 years ago
Dominique Martinet
53e7bebd23
Refactor out wlr_pointer_state
7 years ago
Dominique Martinet
e6ad67911b
Refactor out wlr_input_device_state
7 years ago
Drew DeVault
c8c6619146
Refactor out wlr_output_mode_state
7 years ago
Drew DeVault
41e735242d
Remove wlr_output_state, update backends
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
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
3ea878b76e
wayland backend: free seatName
7 years ago
Dominique Martinet
8427749dd0
wayland backend: emit signal for input/output removal
7 years ago
Drew DeVault
c24351681f
Refactor EGL handling
7 years ago
nyorain
67369173aa
Implement drm (egl) buffer attaching
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
5a636b21ba
Remove old fields
7 years ago
Scott Anderson
5f7042a1f2
Moved headers
7 years ago
Scott Anderson
7b772e1a4b
DRM resource initalisation
7 years ago
Scott Anderson
cb4d50e22c
Changed header paths.
7 years ago
Scott Anderson
2ae5cd6539
Moved session/ into backend/
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
e92a65fee8
Remove use of missing header
7 years ago
Drew DeVault
168f0955ab
Add wl_output globals for wlr_outputs
8 years ago
nyorain
dbde1f7340
Store wayland backend axis source
8 years ago
nyorain
272030652a
Implement absolute motion events for wayland
8 years ago
nyorain
c1520077b6
Implement wayland backend input events
8 years ago
Drew DeVault
f4453d104d
Reorganize wlr-common
8 years ago
Drew DeVault
fd91244e83
Update everyone to use new headers
8 years ago
Scott Anderson
55854565dc
Fixed VT switching
8 years ago
Scott Anderson
091de12bf4
Changed session signal to only emit on DRM changes
8 years ago
Drew DeVault
c2d0090ad7
Support multiple wl backend outputs
8 years ago
Drew DeVault
b9d36c8149
Add dynamic output resizing for Wayland backend
...
This allows outputs to:
- Not support modesetting
- Resize themselves
8 years ago
nyorain
50ce35e9da
Implement wayland backend output
8 years ago
nyorain
62b1421635
Make egl_error function part of the egl interface
...
The function may be useful for backends using egl.
8 years ago
nyorain
792d535225
Rework wayland backend output implementation
8 years ago
nyorain
e65ca967f9
Merge branch 'master' into wayland-backend
8 years ago
Drew DeVault
ecb04afcad
Implement tablet pads
8 years ago
nyorain
8fbf1ca3ff
Continue wayland backend update
...
Update wayland backend to new api.
Start to use the input interfaces.
Compiling now, not tested.
8 years ago
nyorain
41a477375c
Merge branch 'libinput' into wayland-backend
8 years ago
nyorain
904739c405
Start to fix wayland backend
...
Starts to update the wayland backend to the new backend api.
Not yet updated to libinput branch (not yet compiling).
8 years ago
Drew DeVault
7e038a6110
Add (broken) DRM hardware cursors
8 years ago
Drew DeVault
4a9966b1a4
Implement wlr_tablet_tool
8 years ago
Drew DeVault
3f24f8a1be
Flesh out touch events and add demo
8 years ago
Drew DeVault
d6905f86cb
Allocate wlr_touch devices
8 years ago
Drew DeVault
a63230e59c
Implement libinput wlr_pointer
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
f479b7c8c7
Split keyboard code out into its own file
8 years ago
Drew DeVault
0e75d157f5
Initialize keyboards from libinput
8 years ago
Drew DeVault
019fff06be
Fix issues, flesh out event handling somewhat
8 years ago
Drew DeVault
1262f1400c
Initial pass on libinput backend
8 years ago
Drew DeVault
325a331425
Fix some build errors
8 years ago
Drew DeVault
2b06f88f0b
Combine internal DRM headers into one
...
Everything always just included both anyway
8 years ago
Scott Anderson
63c3faa006
Fixed rendering bug: Delay calling gbm_surface_release_buffer until it
...
has been scanned out.
8 years ago
Scott Anderson
632a7acb03
Filled out more wlr_output fields.
8 years ago
Scott Anderson
5df56653ab
Changed invalidate interface.
8 years ago
Scott Anderson
de44994dfc
Udev event device matching
8 years ago
Drew DeVault
40b85d992a
Refactor udev and drm initialization
8 years ago
ascent12
62d612a01e
Merge branch 'master' into session
8 years ago
Drew DeVault
fee409bd0a
Generalize DPMS, remove DRM refs from example
8 years ago
Scott Anderson
f9d363fece
Added device matching
8 years ago
Scott Anderson
7efdd3c9fc
Refactored renderer startup to function.
8 years ago
Scott Anderson
058b8bdf27
Working commit
8 years ago
Scott Anderson
599d1bcbdc
DPMS support
8 years ago
Drew DeVault
00931f2f8f
Generalize output handling
8 years ago
Drew DeVault
15b1ce9e6c
Refactor backend state management
8 years ago
Scott Anderson
4285b0c218
Removed unused fields.
8 years ago
Scott Anderson
ef9768858e
Changed modesetting interface.
8 years ago
Scott Anderson
d196a79b6c
Changed backend to accept wl_display.
8 years ago
Scott Anderson
18387468bb
Renamed 'wlr_drm_display' to 'wlr_drm_output'
8 years ago
Scott Anderson
15d247bf34
Changed drm to use new EGL interface.
8 years ago
Scott Anderson
dbceaee9fa
Added EGL interface for backends.
8 years ago
Scott Anderson
81998fdc98
Removed old session code from DRM backend.
8 years ago
Scott Anderson
e446a5300b
Added example.
8 years ago
Scott Anderson
e9d716fc0c
Changed display to use list_t.
8 years ago
Scott Anderson
115d4ae637
Changed events to use wayland functions.
8 years ago
Scott Anderson
562d43a5ec
Changed logging.
8 years ago
Scott Anderson
41a82fd2fc
Renaming.
8 years ago
Scott Anderson
95a553dc51
Moved headers to the correct place.
8 years ago
Drew DeVault
5ca9d612f4
Flesh out wayland backend registry
8 years ago
Drew DeVault
de01e654ce
Flesh out wayland backend somewhat, add example
8 years ago
Drew DeVault
52e6ed54cb
Initial commit
8 years ago