Commit graph

1231 commits

Author SHA1 Message Date
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
Joshua Ashton
ba467640a8 shaders: Fix output scaling of heatmap 2022-12-31 10:53:12 +00:00
Joshua Ashton
5b805dda00 rendervulkan: Framework for configurable SDR on HDR content brightness 2022-12-31 10:39:41 +00:00
Joshua Ashton
1fea04e073 steamcompmgr: Fix cached value of ST2084 support 2022-12-31 09:59:18 +00:00
Joshua Ashton
8f0008e3a6 rendervulkan: Add Lilium's HDR heatmap 2022-12-30 03:21:55 +00:00
Joshua Ashton
31c94f8869 rendervulkan: Add HDR heatmap debug + way to force support but not PQ output 2022-12-30 03:21:55 +00:00
Joshua Ashton
c25a368193 rendervulkan: Turn composite debug into flags rather than bool 2022-12-30 03:21:55 +00:00
Joshua Ashton
269bbc8444 rendervulkan: Expose 16161616_UNORM format for surfaces 2022-12-30 03:21:55 +00:00
Joshua Ashton
6bc6a85d6d build: Add options for building layer/executable 2022-12-30 03:21:55 +00:00
Joshua Ashton
a4f30a87ff layer: Only expose HDR formats when gamescope HDR output is enabled and it isn't blacklisted for this app 2022-12-30 03:21:55 +00:00
Joshua Ashton
acf76d6cff steamcompmgr: Add GAMESCOPE_HDR_OUTPUT_FEEDBACK
Exposes whether HDR output is currently enabled.
2022-12-30 03:21:55 +00:00
Joshua Ashton
418a84dfb7 steamcompmgr, rendervulkan: Add force wide gammut option 2022-12-30 03:21:55 +00:00
Joshua Ashton
06c7c3efff drm: Respect connector HDR capabilities 2022-12-30 03:21:55 +00:00
Joshua Ashton
0d86168480 drm: Respect app's HDR metadata 2022-12-30 03:21:55 +00:00
Joshua Ashton
70b74e73be drm: Hook up Colorspace and HDR_OUTPUT_METADATA 2022-12-30 03:21:55 +00:00
Joshua Ashton
b5bb169889 drm, rendervulkan: Hook up composite ST2084 output 2022-12-30 03:21:55 +00:00
Joshua Ashton
24a7c40c47 steamcompmgr, main: Add hdr atoms + startup options 2022-12-30 03:21:55 +00:00
Joshua Ashton
22806541e2 drm: Parse out HDR/colorimetry metadata from EDID 2022-12-30 03:21:55 +00:00
Joshua Ashton
7fffcc813c protocol, wlserver: Add override_window_content2 2022-12-30 03:21:55 +00:00
Joshua Ashton
87b75026f8 protocol: Add set_hdr_metadata to gamescope_xwayland 2022-12-30 03:21:55 +00:00
Joshua Ashton
b83516ed4e rendervulkan: Expose R8G8B8A8 surfaces 2022-12-30 03:21:55 +00:00
Joshua Ashton
a1d5c0583d shaders: Convert primaries for non-HDR10PQ formats when outputting to HDR10PQ 2022-12-30 03:21:55 +00:00
Joshua Ashton
47069426f7 rendervulkan: Handle manual sRGB->Linear for formats without SRGB views
We need these for 1010102 formats.
2022-12-30 03:21:55 +00:00
Joshua Ashton
c2665304c3 rendervulkan: Hook up colorspace mask 2022-12-30 03:21:55 +00:00
Joshua Ashton
49a6c0f451 wlserver, steamcompmgr: Track swapchain feedback per-commit 2022-12-30 03:21:55 +00:00
Joshua Ashton
31e9e4b345 wlserver: Use swapchain feedback for tearing 2022-12-30 03:21:55 +00:00
Joshua Ashton
2aa4791ba0 layer, wlserver: Implement swapchain feedback 2022-12-30 03:21:55 +00:00
Joshua Ashton
49aeaf31b8 rendervulkan, shaders: Support PQ+scRGB colorspaces + HDR10 output 2022-12-30 03:21:55 +00:00
Joshua Ashton
d3aa886373 shaders: Add colorimetry helpers 2022-12-30 03:21:55 +00:00
Joshua Ashton
7009ff4a9a rendervulkan: Expose 16161616F format
For scRGB.
2022-12-30 03:21:55 +00:00
Joshua Ashton
a162024467 rendervulkan: Expose 1010102 formats 2022-12-30 03:21:55 +00:00
Benjamin Cheng
67a908584d sdlwindow: request HiDPI window
If we ask for a HiDPI SDL window on Wayland, we can output
higher-resolution buffers to support the HiDPI case.

Closes: #551
2022-12-28 06:22:12 +00:00
Joshua Ashton
10e4c8d1e7 main: Force disable AMDVLK switchable graphics layer
This layer sucks butts and has done nothing but cause constant problems to me for the past 2 years.

Goodbye!

Closes: #725
2022-12-27 18:28:27 +00:00
Joshua Ashton
f863708a1f steamcompmgr: Disable NV12 screenshot hack
Closes: #716
2022-12-21 11:42:09 +00:00
Simon Ser
9f3e152d13 Wait for POLLIN instead of POLLOUT
POLLIN waits for the buffer to be ready for reading, POLLOUT waits
for writing.

In gamescope we're reading client buffers, so we need to use POLLIN.

We were using POLLOUT to workaround an amdgpu bug, but that got
fixed in kernel 5.15, so shouldn't be necessary anymore.
2022-12-20 10:12:52 +00:00
Simon Ser
bdd08a7b44 rendervulkan: print DRM format name 2022-12-09 13:32:18 +01:00
Joshua Ashton
7aef264dfc wlserver: Fix crash on Steam startup sometimes
Don't leave the pending surface list entry on the x11_surface_info in a bad state when it's only destroyed on the wayland side.
2022-12-07 18:47:54 +00:00
Sam Lantinga
d5ea069dc3
Merge pull request #701 from slouken/master
Fixed NV12 format negotiation
2022-12-06 15:38:29 -08:00
Sam Lantinga
2d885378fd Fixed stride calculation for NV12 pipewire stream 2022-12-06 10:39:06 -08:00
Sam Lantinga
5038f50f10 Make sure we don't set the pipewire state to running if there was an error during startup 2022-12-06 10:37:55 -08:00
Joshua Ashton
c0cb4c336c steamcompmgr, drm: Add GAMESCOPE_DISPLAY_EDID_PATH atom 2022-12-06 01:25:38 +00:00
Joshua Ashton
dff1b3f390 wlserver: Allow late binding of content overrides 2022-12-06 01:25:38 +00:00
Joshua Ashton
d394ae402f wlserver: Rename wlr in wlserver_x11_surface_info to main_surface 2022-12-06 01:25:38 +00:00
Joshua Ashton
eec3517fde wlserver: Move commit handler to wl_surface_info 2022-12-06 01:25:38 +00:00
llyyr
212638e9d0 wlserver: fix pointer scroll in nested mode 2022-12-05 11:56:53 +01:00
Simon Ser
5a9bf10c81 drm: make g_drmEffectiveOrientation atomic
It's accessed from multiple threads.
2022-11-29 11:19:05 +01:00
Simon Ser
3f03b0c392 drm: fix enum mixup in g_drmEffectiveOrientation 2022-11-29 11:15:48 +01:00
Simon Ser
bb67298e95 wlserver: stop using surface role
Instead use a regular commit listener.

Fixes the following error:

    (EE)
    Fatal server error:
    (EE) [destroyed object]: error -1: surface was destroyed before its role object
    (EE)
2022-11-29 11:09:09 +01:00