Commit graph

1508 commits

Author SHA1 Message Date
Joshua Ashton
4cc3367ccf ci: Add libxmu 2023-01-12 01:29:54 +00:00
Joshua Ashton
2d7ec208c4 sdlwindow: Forward cursor in absolute mode to host compositor 2023-01-12 01:29:25 +00:00
Joshua Ashton
86ff9cfc58 main: Fix compilation 2023-01-12 00:55:02 +00:00
Joshua Ashton
054458fdaf sdlwindow: Default to non-relative mouse when a cursor image exists
Add --force-grab-cursor to keep old behaviour
2023-01-12 00:52:38 +00:00
Joshua Ashton
f8e66bf4fb sdlwindow: Refactor user events
Allows us to have more user events, and submit them nicely instead of ugly derping into one big user event.
2023-01-12 00:33:21 +00:00
Joshua Ashton
d3424703a8 steamcompmgr: Load host cursor by default in nested 2023-01-12 00:17:20 +00:00
Joshua Ashton
b124200e36 steamcompmgr: Default to left_ptr from cursor font
Avoids having ugly X cursor by default.

Based in part on #280.
2023-01-12 00:11:04 +00:00
Joshua Ashton
f2a4533cce steamcompmgr: Avoid leaking title in get_win_title 2023-01-11 22:43:19 +00:00
Joshua Ashton
45552dfdec ci: Add novr build 2023-01-11 21:20:24 +00:00
Joshua Ashton
cae9b3efb7 vr: Fix usage of HAVE_OPENVR macro 2023-01-11 21:20:24 +00:00
Joshua Ashton
8b01fbefd9 build: Use openvr_api as subproject 2023-01-11 21:20:24 +00:00
Joshua Ashton
33f1103155 vr_session: Add Steam UI integration 2023-01-11 21:20:24 +00:00
Joshua Ashton
48d726c72b steamcompmgr: Make get_appid_from_pid more robust
Was some undefined value ptrs going on here, and not checking if the PID stat opened successfully.
2023-01-11 21:20:24 +00:00
Joshua Ashton
f4f0239b31 vr_session: Initial implementation 2023-01-11 21:20:24 +00:00
Joshua Ashton
b0f2b7e89f ime: Add support for local IMEs 2023-01-11 21:20:24 +00:00
Joshua Ashton
1c186cd286 ime: Fix warnings on newer compilers
Should unbreak CI.
2023-01-11 19:19:03 +00:00
Joshua Ashton
201d5feb39 steamcompmgr: Add --force-windows-fullscreen
Useful for browsers or nested desktop environments.

Also adds GAMESCOPE_FORCE_WINDOWS_FULLSCREEN atom per-xwayland.
2023-01-11 19:14:12 +00:00
Joshua Ashton
041ee8dcd8 drm: Simplify some hdr_output_metadata logic 2023-01-11 00:22:47 +00:00
Joshua Ashton
a9541332b7 drm: Set Colorspace+HDR_OUTPUT_METADATA on non-modeset path too 2023-01-11 00:21:58 +00:00
Joshua Ashton
bb523af686 build: Remove stb submodule that somehow got here 2023-01-07 12:26:31 +00:00
Joshua Ashton
501cb45150 layer: Handle lack of gamescope socket with grace 2023-01-07 12:09:12 +00:00
Joshua Ashton
79ce85b4cb layer: Check if VkFormat is supported for underlying surface in CreateSwapchainKHR 2023-01-07 10:35:38 +00:00
Joshua Ashton
d19872963e steamcompmgr: Support Xwayland resizing in nested 2023-01-07 10:09:46 +00:00
Joshua Ashton
10ca15cc1c steamcompmgr: Handle commit size != window size for layer 2023-01-07 10:02:45 +00:00
Joshua Ashton
5054054768 drm, steamcompmgr: Implement 3DLUT + SHAPERLUT support 2023-01-06 15:54:31 +00:00
Joshua Ashton
dc6d755ada drm: Use 'contains' on map to simplify property code
May as well use C++20 for everything now we need it for the
layer.
2023-01-06 15:25:04 +00:00
Joshua Ashton
67d79cfee7 steamcompmgr: Always composite when debug heatmap is enabled. 2023-01-06 14:21:50 +00:00
Joshua Ashton
d2c14e78b7 steamcompmgr: Fix GAMESCOPE_DEBUG_HDR_HEATMAP 2023-01-06 14:21:50 +00:00
Joaquín Ignacio Aramendía
45c9ffd088
steamcompmgr: add basic handling of system() ffmpeg call 2023-01-05 12:11:42 +01:00
Joshua Ashton
054dcec856 steamcompmgr: Replicate gamescopeHDROutputFeedback to other servers properly 2023-01-05 06:26:33 +00:00
Joshua Ashton
a1bff9fc70 shaders: Fix primaries for scRGB content
Need to go from 709 -> 2020.
2023-01-04 08:40:46 +00:00
Joshua Ashton
1e9ccbd05c layer: Remove duplicate largestObscuringWindowSize check 2023-01-04 07:44:05 +00:00
Joshua Ashton
da33453174 steamcompmgr: Add GAMESCOPE_HDR_SDR_CONTENT_BRIGHTNESS atom 2023-01-03 14:53:00 +00:00
Joshua Ashton
7251fdd878 shaders: Improved heatmap code frol Lilium 2023-01-03 14:03:06 +00:00
Joshua Ashton
d1fd41fd5b rendervulkan: Apply tonemapping to HDR content on SDR outputs
Also add a debug flag for Reinhard.
2023-01-03 14:02:54 +00:00
Joshua Ashton
905376f036 steamcompmgr: Add GAMESCOPE_DEBUG_HDR_HEATMAP 2023-01-03 12:43:38 +00:00
Joshua Ashton
0c3653d159 color_helpers: Handle naughty clients/EDIDs with more grace
Avoid asserting and simply clamping to deal with broken EDIDs like
on LG OLED panels for now.
2023-01-03 12:14:32 +00:00
Joshua Ashton
d2cc74c570 main: Add heatmap debug to help 2023-01-03 06:00:39 +00:00
Joshua Ashton
8a16fa346f subprojects: Update vkroots 2023-01-03 05:57:17 +00:00
Joshua Ashton
ae02e05e4b layer: Clean up return logic in QueuePresentKHR 2023-01-03 03:50:11 +00:00
Joshua Ashton
6d6cc98f0f layer: Return result from QueuePresentKHR when not forcing suboptimal 2023-01-03 03:48:20 +00:00
Joshua Ashton
acbb71966f layer: Enable VK_KHR_xcb_surface extension
Needed for fallback surface.
2023-01-02 06:41:16 +00:00
Joshua Ashton
ece20d0120 layer: Add Reply audo-delete helper for XCB replies 2023-01-02 06:08:32 +00:00
Joshua Ashton
89456dd976 layer: Free reply in getToplevelWindow when root is reached
I need to write some wrapper here, this crappy xcb api is rife for errors liek this.
2023-01-02 06:00:06 +00:00
Joshua Ashton
d84d0fcfc9 layer: Free attributeReply after use
Oops!
2023-01-02 05:58:48 +00:00
Joshua Ashton
6a6a89c818 layer: Add fallback to XCB surface when we cannot safely flip 2023-01-02 05:57:44 +00:00
Joshua Ashton
b5e2602f69 layer: Move XCB helpers to header 2023-01-02 04:13:16 +00:00
Joshua Ashton
eb29ba4af5 main: Add hdr-sdr-content-nits argument 2023-01-02 04:04:15 +00:00
Jan Beich
50d5ea83b6 steamcompmgr: reap children like Linux on some BSDs
DragonFly and FreeBSD adopted a similar API to Linux. Other sytems
maybe interested as well, so add a warning.

src/steamcompmgr.cpp:51:10: fatal error: 'sys/prctl.h' file not found
 #include <sys/prctl.h>
         ^~~~~~~~~~~~~
src/steamcompmgr.cpp:3118:9: error: use of undeclared identifier 'PR_SET_CHILD_SUBREAPER'
        prctl( PR_SET_CHILD_SUBREAPER, 1, 0, 0, 0 );
               ^
2023-01-01 19:40:07 +00:00
Jan Beich
241df252fd main: don't renice as non-root on non-Linux
On BSD systems only the super-user may lower priority values.

meson.build:40:0: ERROR: Dependency "libcap" not found, tried pkgconfig and cmake

src/main.cpp:7:10: fatal error: 'sys/capability.h' file not found
 #include <sys/capability.h>
          ^~~~~~~~~~~~~~~~~~
src/main.cpp:244:2: error: unknown type name 'cap_t'
        cap_t caps = cap_get_proc();
        ^
src/main.cpp:244:15: error: use of undeclared identifier 'cap_get_proc'
        cap_t caps = cap_get_proc();
                     ^
src/main.cpp:247:3: error: unknown type name 'cap_flag_value_t'
                cap_flag_value_t nicecapvalue = CAP_CLEAR;
                ^
src/main.cpp:247:35: error: use of undeclared identifier 'CAP_CLEAR'
                cap_flag_value_t nicecapvalue = CAP_CLEAR;
                                                ^
src/main.cpp:248:23: error: use of undeclared identifier 'CAP_SYS_NICE'
                cap_get_flag( caps, CAP_SYS_NICE, CAP_EFFECTIVE, &nicecapvalue );
                                    ^
src/main.cpp:248:37: error: use of undeclared identifier 'CAP_EFFECTIVE'
                cap_get_flag( caps, CAP_SYS_NICE, CAP_EFFECTIVE, &nicecapvalue );
                                                  ^
src/main.cpp:250:24: error: use of undeclared identifier 'CAP_SET'
                if ( nicecapvalue == CAP_SET )
                                     ^
2023-01-01 19:40:07 +00:00