Joshua Ashton
98d61844d8
main: Reset XDG_SESSION_TYPE to x11
...
We don't support Wayland clients, so let's convince any child apps that are launched that we are just X11.
Fixes QT apps misbehaving.
2022-10-19 15:40:20 +01:00
Simon Ser
0626c7c8f8
Add note that --force-orientation is for internal display only
2022-10-17 13:26:26 +02:00
Simon Ser
45061ad3e3
drm: drop trailing whitespace
2022-10-13 15:50:41 +02:00
Simon Ser
14f0b78f61
drm: cleanup orientation code
2022-10-13 15:49:23 +02:00
ruineka
12bff31008
drm: fix an issue where g_nOutputWidth and g_nOutputHeight weren't updated
2022-10-13 15:43:47 +02:00
Simon Ser
f51b7229ae
drm: de-duplicate connector type logic
2022-10-11 19:05:44 +02:00
ruineka
cf89b2fbae
drm: add support for the panel orientation property
2022-10-11 18:20:14 +02:00
ruineka
647e1d96d0
Add --force-orientation option
...
Co-authored-by: Joaquín Ignacio Aramendía <samsagax@gmail.com>
Co-authored-by: alphonsez1 <alphonsez743@gmail.com>
Co-authored-by: Ruineka <ruineka@pop-os.localdomain>
2022-10-07 15:29:52 +02:00
Joshua Ashton
b87660561f
drm: Fix respecting custom mode refresh rates
...
This was being overwritten by some dynamic refresh code.
2022-10-01 21:10:34 -02:30
Joshua Ashton
20062ec645
steamcompmgr: Add GAMESCOPE_STEAM_MAX_HEIGHT
...
0 to disable, any other value sets the max height of Steam
2022-10-01 20:33:37 -02:30
Simon Ser
79ad108c41
wlserver: fix output global not exposed
...
Fixes: 7c0f65e62d
("wlserver: stop re-creating wl_output global")
2022-10-01 19:11:52 +02:00
Simon Ser
870d54c54e
Force repaint on SDL_WINDOWEVENT_EXPOSED
...
Co-authored-by: Bad Sector <badsector@runtimeterror.com>
2022-10-01 18:42:44 +02:00
Simon Ser
7c0f65e62d
wlserver: stop re-creating wl_output global
2022-09-27 19:03:00 +01:00
Simon Ser
576041c2b3
wlserver: remove trailing whitespace
2022-09-27 19:38:29 +02:00
Joshua Ashton
7f2db65c00
steamcompmgr: Add GAMESCOPE_CURSOR_VISIBLE_FEEDBACK
2022-09-23 20:44:51 +00:00
Joshua Ashton
122ba3dda9
steamcompmgr: Undirty cursor when resolving empty state
...
Otherwise we read this back every single paint, which is bruh.
2022-09-23 20:40:14 +00:00
Joshua Ashton
9a984234ba
steamcompmgr: Avoid duplicate commits
...
Xwayland blits sometimes send us duplicate commits when strange things happen such as connector hotplugs.
2022-09-23 21:26:46 +01:00
Joshua Ashton
777fe39010
steamcompmgr: Be more lenient when failing flips
...
Replaces the abort here to be more lenient.
Some intense connector hotplugging could be occuring and the
connector could become destroyed before we had a chance to use it
as we hadn't reffed it in a commit yet.
2022-09-23 21:26:38 +01:00
Joshua Ashton
554a4af14d
wlserver: Only update first xwayland server wlserver_set_output_info
...
Only [0] should get updated with any of this info.
Games do NOT need to see hotplug because they just crash... The Xrandr interface for crtc stuff is VERY broken with MST and our reconnect spam here.
2022-09-21 23:01:48 +00:00
Simon Ser
b1d928ab6f
rendervulkan: fix inverted wlr_buffer_begin_data_ptr_access() check
2022-09-21 19:42:18 +02:00
Joshua Ashton
8608e017ec
wlserver: Handle wl commits before X11 surface has come up
...
The inverse case of the pending surfaces...
2022-09-19 09:51:57 +01:00
Joshua Ashton
b305a97e9d
drm: Don't re-zero connector CRTCs we already have zero-ed.
...
Fixes an issue where we would use an invalid connector because
the MST connector object got destroyed from our last CRTC set.
This avoids just using it again.
2022-09-16 06:06:50 +01:00
Joshua Ashton
4f62e5d18b
wlserver: Avoid use after free of wlr surface data when wlserver_wl_surface_info is destroyed
2022-09-16 01:08:28 +00:00
Joshua Ashton
8562f4ee5a
steamcompmgr: Workaround X11 bug for ASAN testing
2022-09-16 00:16:50 +00:00
Joshua Ashton
4754b17824
wlserver: Fix stale wlr pointer in x11_surface_info + fix mouse focus surface destruction
...
Stale pointers aaaa
2022-09-16 00:44:22 +01:00
Joshua Ashton
716552b7d6
wlserver: Fix crash in content_override_handle_surface_destroy
...
The x11 surface owned by the window can be destroyed, causing us to access a stale ptr.
Assume server 0 to delete the content override, because thats the only one it can be created on.
We should rev the protocol at some point with support for specifying the DISPLAY... ughghghghghghgh
2022-09-16 00:44:22 +01:00
Joshua Ashton
c8057afbc4
wlserver: Clear out x11_surface ptr when destroyed
2022-09-16 00:44:22 +01:00
Simon Ser
6237c3452b
wlserver: explain why filter_global may need to handle NULL wlr_output
...
1. output plugged in, gamescope creates new wlr_output and sends a
wl_registry.global event
2. client sees it, sends a wl_registry.bind request
3. output plugged out, gamescope sends a wl_registry.global_remove
event and destroys the wlr_output
4. gamescope receives the wl_registry.bind request, but the wlr_output
no longer exists
5. client receives the wl_registry.global_remove event
2022-09-15 08:05:41 +01:00
Joshua Ashton
7b51f5964d
wlserver: Crappy workaround for rare filter_global crash...
2022-09-15 01:59:02 +00:00
Joshua Ashton
215a19b0e8
wlserver: Expose base wl_output to non-xwayland server clients
2022-09-15 01:53:51 +01:00
Ben Jackson
40cbcd87ef
ime: Delay release of last keypress
...
More closely simulate a human pressing by holding the last (or only) key in
key pressed for 30ms before releasing. The key is released automatically
after the timer expires or just in time before a subsequent injected key.
2022-09-13 10:18:00 -07:00
Simon Ser
3303289afa
ime: add move_{up,down} actions
2022-09-13 17:56:33 +01:00
Simon Ser
343e286308
build: bump wayland-server dep version
...
Wayland global filtering requires 1.21 to work properly with
globals which are created and destroyed on-the-fly.
2022-09-10 00:06:44 +00:00
Simon Ser
26bbb53de7
wlserver: create one wl_output global per Xwayland server
...
Closes: https://github.com/Plagman/gamescope/issues/571
2022-09-10 00:06:44 +00:00
Simon Ser
697818a228
wlserver: start all Xwayland processes in parallel
...
The next commit will need to inspect wlserver.wlr.xwayland_servers
to figure out which wl_output global to expose.
2022-09-10 00:06:44 +00:00
Joshua Ashton
ec1ce12f13
steamcompmgr: Add GAMESCOPE_DISPLAY_MODE_LIST_EXTERNAL and GAMESCOPE_DISPLAY_IS_EXTERNAL
2022-09-07 12:58:16 +00:00
Joshua Ashton
5ec3b7cffb
drm, steamcompmgr: Add GAMESCOPE_DISPLAY_MODE_NUDGE
2022-09-07 11:36:44 +00:00
Joshua Ashton
0d171a7346
drm: Add support for a mode set file
2022-09-07 11:31:40 +00:00
Joshua Ashton
88e5980cd9
drm: Use PNP name for make if not in hwids
2022-09-07 12:14:37 +01:00
Joshua Ashton
1c7a2db86d
steamcompmgr: Implement GAMESCOPE_DISPLAY_FORCE_INTERNAL
2022-09-07 11:11:09 +00:00
Joshua Ashton
5f610d8614
main: Fix build
...
Forgot to commit this :s
2022-09-07 11:06:04 +00:00
Joshua Ashton
f0f19b3499
steamcompmgr: Add basic infra for fifo relaxed
2022-09-07 10:47:44 +00:00
Joshua Ashton
440d0f1b53
steamcompmgr: Don't force base plane repaint for cursor movement
2022-09-07 10:40:32 +00:00
Joshua Ashton
6198e1be07
steamcompmgr: Don't tear if Steam Overlay is open
...
Looks bad
2022-09-06 17:01:22 +01:00
Joshua Ashton
21ce7baf0f
steamcompmgr: Use presentation hints to determine whether to tear
2022-09-06 17:01:22 +01:00
Joshua Ashton
d9cab62e80
steamcompmgr: Store per-commit tearing state in commit_t
2022-09-06 17:01:22 +01:00
Joshua Ashton
55f764fa7f
wlserver: Add wlserver_surface_is_async
2022-09-06 17:01:22 +01:00
Joshua Ashton
2e62575518
wlserver: Grab presentation hints
2022-09-06 17:01:22 +01:00
Joshua Ashton
6dde7bd8bc
wlserver: Add wlserver_wl_surface_info
...
A stop gap before x11_surface_info which is held by steamcompmgr
2022-09-06 17:01:22 +01:00
Joshua Ashton
dad0939bed
wlserver: Rename wlserver_surface to wlserver_x11_surface_info
2022-09-06 17:01:22 +01:00