Pierre-Loup A. Griffais
88596b9645
steamcompmgr: get rid of set_win_hidden
...
The HIDDEN state was originally just a hint for Panorama windows. It can confuse
other clients. The other states can actually be harmful too, like setting
FULLSCREEN was technically incorrect in many cases.
We might want to always set the FOCUS state on every window, but we never needed
it before so I'm inclined to wait and see there.
2021-06-29 17:50:25 -07:00
Joshua Ashton
00622fff62
rendervulkan: Implement NV12 compositing
...
Dependent on latest Mesa for my commit to support unnormalized ycbcr:
855cb78d46
2021-06-29 16:34:07 -07:00
Joshua Ashton
39fff770f4
rendervulkan: Use Vulkan 1.1
...
Less hastle going forward for stuff promoted, and we don't want to be running on stuff that doesn't support this anyway...
2021-06-29 16:34:07 -07:00
Simon Ser
d176770c15
steamcompmgr: add comment about our iconic handling
2021-06-29 19:02:35 +02:00
Simon Ser
f8fbd06af4
steamcompmgr: never put windows in iconic state
2021-06-29 18:35:11 +02:00
Simon Ser
5e201b3c08
steamcompmgr: reject WM_CHANGE_STATE messages
2021-06-29 18:30:26 +02:00
Simon Ser
5b3ea51f7b
drm: disable all CRTCs on startup
...
If the CRTC we've selected is being used on another connector,
our modeset fails.
2021-06-22 16:39:56 +02:00
Simon Ser
3e17ea2e6f
Add enum for g_nTouchClickMode
...
Makes it clearer what the values mean.
2021-06-18 10:44:13 +02:00
Simon Ser
2807bb27c1
Fix NULL g_XWLDpy
...
The previous commit stopped using the X11 server for nudging the
XWM. Thus g_XWLDpy has been dropped. However we still need it to
send XTest events.
2021-06-16 09:17:45 +02:00
Simon Ser
33f207d6a1
Replace nudge X11 events with pipe
...
Avoids the roundtrip through the X11 server. Avoids having to connect
to the X11 server from multiple threads.
2021-06-10 14:49:02 +02:00
John Schoenick
0194432185
Tag 3.8.3
2021-06-09 13:23:05 -07:00
Simon Ser
d187c2241e
steamcompmgr: improve wait thread robustness
2021-06-09 19:16:22 +02:00
Simon Ser
24b5611478
Terminate wlserver when steamcompmgr stops
...
Closes: https://github.com/Plagman/gamescope/issues/167
2021-06-09 19:10:32 +02:00
Simon Ser
470756029d
Stop using X11 events for vblankmanager
...
Instead, use a pipe. Check if the pipe is readable in the
steamcompmgr event loop.
This avoids a roundtrip through the X11 server.
Closes: https://github.com/Plagman/gamescope/issues/201
2021-06-09 18:42:38 +02:00
Simon Ser
d8dacddaea
steamcompmgr: flush display after sending nudge event
2021-06-09 18:18:56 +02:00
Simon Ser
03d14fd67d
Set O_CLOEXEC on stats FD
2021-06-09 17:40:52 +02:00
Simon Ser
7c3dff8d57
Log error on fork/exec failure
2021-06-09 17:39:45 +02:00
Simon Ser
df6b48776e
Set O_CLOEXEC on ready FD
2021-06-09 17:38:31 +02:00
Simon Ser
8123bc4f36
steamcompmgr: split child spawning logic into separate function
2021-06-09 17:36:39 +02:00
Simon Ser
bd9590506a
Split X11 event dispatching into a function
2021-06-09 17:31:15 +02:00
Simon Ser
f51a05b2dc
steamcompmgr: use poll() to wait for X11 events
...
References: https://github.com/Plagman/gamescope/issues/201
2021-06-09 17:22:53 +02:00
Pierre-Loup A. Griffais
08f41f2046
steamcompmgr: only consider overlays for input focus
...
Also prctl subreaper tweaks from smcv
2021-06-07 19:10:08 -07:00
Simon Ser
93ab1ada2f
readme: add install command
...
Closes: https://github.com/Plagman/gamescope/issues/26
2021-06-02 11:28:11 +02:00
Pierre-Loup A. Griffais
e4798e27c9
steamcompmgr: protect against possible out of bounds read
...
It's possible no layers get drawn due to no contents.
2021-05-28 15:39:42 -07:00
Pierre-Loup A. Griffais
0396468a1d
steamcompmgr: scale touch coordinates to the right window
...
Was erroneously using base layer size even if overlay had touch input focus.
2021-05-28 13:57:11 -07:00
Pierre-Loup A. Griffais
9a20f630ad
steamcompmgr: extend input focus concept to allow mouse-only focus
2021-05-26 16:53:11 -07:00
Simon Ser
9d40b61645
wlserver: prevent list corruption on double wlserver_surface_set_wl_id
2021-05-20 17:40:20 +02:00
Simon Ser
cd4c1a4d7d
Stop importing DMA-BUFs into EGL
...
Make renderer_texture_from_dmabuf a no-op, since we handle client
DMA-BUFs with Vulkan. We're using wlr_buffer_get_dmabuf to directly
access the client-submitted FDs.
2021-05-20 17:08:19 +02:00
Pierre-Loup A. Griffais
7adcd2fb20
steamcompmgr: publish focused Window and appID back to control process
2021-05-18 19:34:11 -07:00
Pierre-Loup A. Griffais
6dc6ff83fe
steamcompmgr: support a list of GAMESCOPE_FOCUSABLE_APPS
2021-05-18 19:17:06 -07:00
Pierre-Loup A. Griffais
d053a5582e
steamcompmgr fix new bug where we'd always run the focus switching code
2021-05-17 20:48:32 -07:00
Pierre-Loup A. Griffais
7e27bacc06
steamcompmgr: fix bug where we wouldn't repaint streaming video
...
Would just sit there if only the video underlay committed.
2021-05-17 19:42:58 -07:00
Pierre-Loup A. Griffais
d4c93c3b06
steamcompmgr: add external focus control mechanism
2021-05-17 19:42:58 -07:00
Pierre-Loup A. Griffais
f4db52a3fa
steamcompmgr: move to stable_sort
...
It preserves original order like the old logic.
2021-05-17 19:42:58 -07:00
Pierre-Loup A. Griffais
0b92aee977
steamcompmgr: delete STEAM_UNFOCUS and isSteamPopup
...
now-unused test code
2021-05-17 19:42:58 -07:00
Pierre-Loup A. Griffais
a9216b398b
steamcompmgr: fix appID getting stomped if reaper but no prop
2021-05-17 19:42:58 -07:00
Pierre-Loup A. Griffais
5c0e1ff4c7
steamcompmgr: publish focusable appids through root property
2021-05-17 19:42:58 -07:00
Simon Ser
fa433a3ebc
Include <wayland-server-core.h> outside of extern "C"
...
Closes: https://github.com/Plagman/gamescope/issues/190
2021-05-17 19:21:51 +02:00
Pierre-Loup A. Griffais
756b3a6afc
steamcompmgr: streaming_client is kind of like an overlay
...
but not really
2021-05-08 01:47:50 -07:00
Pierre-Loup A. Griffais
fe4501c633
steamcompmgr: more obscure focus fixes
2021-05-08 01:20:18 -07:00
Simon Ser
177205dca4
Block NV12 LINEAR when rotated
2021-05-07 12:21:36 +02:00
Pierre-Loup A. Griffais
9e6a6aa77d
steamcompmgr: some focus regression fixes for cornercases
...
An overlay going away wasn't getting considered. Steam also doesn't
set the 'games running' property if Big Picture isn't running, and
we have more robust appID tracking now, so we can start to phase it out.
2021-05-06 12:57:33 -07:00
Pierre-Loup A. Griffais
7b97f6e4e8
steamcompmgr: add support for streaming_client video underlay
...
It'll split its YUV and RGB content into two windows. YUV one uses a
content override.
2021-05-05 23:00:40 -07:00
Pierre-Loup A. Griffais
074ee9c719
rendervulkan: remove 'fence' concept
...
Doesn't make sense now that we poll() the DMA-BUF fd directly. We can
do that directly from steamcompmgr. Vulkan's fence used to be an actual
fence we made up with an empty submission.
2021-05-05 18:46:19 -07:00
Pierre-Loup A. Griffais
e25f871d87
wlserver: avoid accessing mouse_focus_surface after destruction
...
We should also set the focus to something else that makes sense, which
means there's another bug in a higher-level layer somewhere, but at least
don't crash.
2021-05-05 16:37:51 -07:00
Simon Ser
a4f3a19480
Fix VkDescriptorPoolCreateInfo.poolSizeCount
...
This caused a read past the array end on anv.
2021-05-04 18:34:11 +02:00
Simon Ser
b6f5471b62
Allow toggling g_bRotated more easily
...
Allow just changing the default variable value to enable rotation.
2021-05-04 16:40:58 +02:00
Pierre-Loup A. Griffais
902fce73b0
steamcompmgr: flip the meaning of -x
...
It wasn't actually causing crashes and the memory stomp is fixed.
The option only existed for a very short time and didn't do anything
useful, so should be safe.
2021-05-02 23:51:37 -07:00
Pierre-Loup A. Griffais
580a17d462
steamcompmgr: get the appID from the process tree
...
In case we can't get it proactively from the app process.
2021-05-02 23:51:37 -07:00
Joshua Ashton
8afb3c3f30
Handle swapchain recreation for out of date and suboptimal
2021-05-01 16:51:00 -07:00