Commit graph

1275 commits

Author SHA1 Message Date
Lilium
7bd30dd6d8
add the ability to use inverse tone mapping on apps that output SDR (#751) 2023-01-17 05:37:09 +00:00
Joshua Ashton
5113fa225d vr_session: Hook up icon 2023-01-17 02:35:09 +00:00
Joshua Ashton
9718999e9a steamcompmgr: Only call updatePosition for the active cursor
Avoids a bunch of pointless churn waking up other Xwaylands to query their position.
2023-01-16 23:41:12 +00:00
Joshua Ashton
5347e94226 sdlwindow: Implement icon passthru
Also refactor cursor/title to use shared ptr to avoid dup-ing allocations across to sdlwindow thread.
2023-01-16 23:41:12 +00:00
Joshua Ashton
daf4037b1b sdlwindow: Make sure to free cursor surface 2023-01-16 23:41:12 +00:00
Joshua Ashton
dc498638c3 drm: Hook up "content type" property 2023-01-16 21:49:05 +00:00
Joshua Ashton
5fd65fd5f5 steamcompmgr: Implement --cursor-scale-height 2023-01-16 05:03:08 +00:00
Joshua Ashton
4668680555 steamcompmgr: Initial groundwork for cursor scale 2023-01-16 05:03:08 +00:00
Alex Maese
81a32b85fb Add support for grabbing the keyboard 2023-01-15 23:34:17 +00:00
Joshua Ashton
eff0ac001e wlserver: Add some locking assertions 2023-01-12 17:56:06 +00:00
Joshua Ashton
4281cea0e4 sdlwindow: Add missing lock around wlserver_touchmotion
Closes: #745
2023-01-12 17:46:28 +00:00
Joshua Ashton
bf61af1f82 ime: Fix local_ime segfault
Error in rebasing
2023-01-12 15:07:12 +00:00
Joshua Ashton
c2e9b5f50f sdlwindow: Use fake timestamp instead of passing thru
Fixes Wayland value too large errors.
2023-01-12 01:40:03 +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
cae9b3efb7 vr: Fix usage of HAVE_OPENVR macro 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
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
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
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