Commit graph

1142 commits

Author SHA1 Message Date
Simon Ser
5fca0702ab drm: parse make/model from EDID 2022-07-27 09:30:45 +02:00
Simon Ser
09a53dc416 drm: change wl_output.description for internal screens 2022-07-26 17:46:51 +02:00
Simon Ser
cce6a29a24 wlserver: ignore commit if buffer didn't change 2022-07-25 17:09:48 +02:00
Joshua Ashton
7167877bca wlserver: Fix creating headless backend when nested
Otherwise we don't have it and it segfaults.

Closes: #553
2022-07-15 23:46:59 +00:00
Joshua Ashton
71717b2ce3 wlserver: Fix pending surfaces getting xwayland server set
Fixes Warhammer 40,000: Dawn of War II (15620)
2022-07-15 10:45:08 +02:00
Joshua Ashton
8b99305352 wlserver: Fix type of wl_id, x11_id
These are uint32_t
2022-07-15 10:45:08 +02:00
Simon Ser
fde74ee8d0 Update wl_output info after hotplug 2022-07-14 16:20:14 -07:00
Joshua Ashton
12ef7685eb shaders: If running with composite debug, show colored borders 2022-07-14 23:13:50 +00:00
Clément Guérin
f999685153 add --prefer-vk-device option
allows selecting a preferred Vulkan device for compositing, for example
to use the iGPU over the dGPU.

should help #498.
2022-07-14 17:26:35 +01:00
Ben Jackson
8c816a4685 ime: Force Hangul Compat Jamo codepoints to use generic keysyms 2022-07-12 13:11:48 -07:00
Clément Guérin
1b3ad77181 handle SDL touch events
disable SDL mouse emulation to avoid getting mouse events.
2022-06-20 08:59:18 +02:00
Joshua Ashton
1b34a570a5 drm: Implement COLOR_ENCODING + COLOR_RANGE and hook up to env var for now
There is no way to tel a NV12 buffer in Wayland's color space. Why?
What a glaring omission.

Even then, the color management protocol that has supposedly been in
development for 2 years is missing basic features like setting the
color range. Great!

For now we are just setting an env var both us and Remote Play Together
are going to listen to and call it a day until the situation is
properly resolved.
2022-06-16 01:31:47 +00:00
Ben Jackson
27ab72ec72 ime: Avoid keymap reset on each injection. 2022-06-14 14:56:56 -07:00
trigg
541ea8fa53 Always use the newest external overlay window
Currently creating a new external overlay window will not show up until all others close or are killed.

With this change when the user starts a new external overlay it will take precedence until a newer one appears or it is closed or killed.

This will help alleviate a lot of bugs where overlays 'don't start' because another overlay is already in the slot and not drawing into it.
2022-06-09 13:36:22 +02:00
trigg
8ee041c5f4 Drop reference to last known overlay window
Once external overlay windows set their XAtom `GAMESCOPE_EXTERNAL_OVERLAY` to 0 they should be removed from the pool of known external overlays, but reference is kept until they are closed and is never replaced as all current overlays use maximum opacity.

This change is untested and written in a coffee break.
2022-06-09 13:34:47 +02:00
Pierre-Loup A. Griffais
ee043b2ca9 drm: add more EDID make/model combinations as Steam Deck displays
Needed for a future Deck EDID update.
2022-06-08 10:49:54 -07:00
Georg Lehmann
b1c38598ee Remove useless extensions from shaders. 2022-05-26 23:11:25 +00:00
Georg Lehmann
009d4959d1 Use array for descriptor bindings. 2022-05-26 23:11:25 +00:00
Georg Lehmann
3a1f4fbacd Move some code for a more logical order 2022-05-26 23:11:25 +00:00
Georg Lehmann
e2139bc0bb Use more designated initalizers. 2022-05-26 23:11:25 +00:00
Georg Lehmann
166395a619 Use VK_NO_PROTOTYPES 2022-05-26 23:11:25 +00:00
Georg Lehmann
11760e8bd8 rewrite compositing with CVulkanCmdBuffer 2022-05-26 23:11:25 +00:00
Georg Lehmann
7f1e55dd96 Introduce CVulkanCmdBuffer 2022-05-26 23:11:25 +00:00
Georg Lehmann
0a0a000a89 Use vulkan_create_texture_from_bits for NIS images. 2022-05-26 23:11:25 +00:00
Georg Lehmann
b406bba47e Only use two descriptors for samplers 2022-05-26 23:11:25 +00:00
Georg Lehmann
9a2c4af585 fix shader generator 2022-05-26 23:11:25 +00:00
Georg Lehmann
326d7e1f96 Use CVulkanTexture for swapchain images 2022-05-26 23:11:25 +00:00
Georg Lehmann
fa26f16fa9 Introduce CVulkanDevice. 2022-05-26 23:11:25 +00:00
Joshua Ashton
549d22094b drm: Implement gamma and degamma exponent 2022-05-26 23:08:34 +00:00
sad-goldfish
e4892543a0 Add realtime flag for SCHED_RR
Use sched_get_priority_min for priority

Accommodates other unixes with odd minimum priorities.

Manually handle save/restore of scheduling.

Add space. (formatting)

Exit on failure to get scheduler parameters.

Add missing braces.

Copy and edit existing sched_parm rather than new.

May be relevant on some exotic unixes.
2022-05-25 19:01:18 +02:00
Simon Ser
ef234d1a80 reamde: clarify and move up instructions for NVIDIA proprietary driver 2022-05-25 14:28:17 +02:00
Eric
a515153a93 rendervulkan: Add support for NVIDIA image scaling 2022-05-18 01:41:01 +00:00
Eric
0dac3ceac4 nis: Import NIS SDK
The docs, and samples directories have been removed along with the
third_party_licenses.txt file.

Source downloaded from: https://github.com/NVIDIAGameWorks/NVIDIAImageScaling/archive/refs/tags/v1.0.2.tar.gz
2022-05-18 01:41:01 +00:00
Joshua Ashton
3c59167b67 steamcompmgr, drm: Add GAMESCOPE_COLOR_MATRIX to control CTM matrix 2022-05-18 01:20:49 +00:00
Joshua Ashton
231f4fb221 readme: Document what is needed to run on NVIDIA 2022-05-18 01:19:00 +00:00
Georg Lehmann
97288b8b1a remove unused wlr egl/gles includes 2022-05-12 11:32:05 +00:00
Georg Lehmann
867308b010 remove dead code 2022-05-12 11:32:05 +00:00
Georg Lehmann
9ba37d923c Make actual cursor extent a CVulkanTexture property 2022-05-12 11:32:05 +00:00
Georg Lehmann
2c47fc57f0 Remove CVulkanTexture::m_bTransitioned
No real reason to overcompilicate things.
2022-05-12 11:32:05 +00:00
Georg Lehmann
2f111b0b98 Stop accessing CVulkanTexture members directly. 2022-05-12 11:32:05 +00:00
Georg Lehmann
d29d83f792 Remove those two terrible structs 2022-05-12 11:32:05 +00:00
Joshua Ashton
d760586543 main: Set XWAYLAND_FORCE_ENABLE_EXTRA_MODES 2022-05-12 09:44:57 +00:00
Joshua Ashton
1c731b61c8 steamcompmgr: When window_wants_no_focus_when_mouse_hidden, move to width -1, height -1 instead 2022-05-12 08:29:15 +00:00
Joshua Ashton
ff14b6a5dd steamcompmgr: Add workaround for Warframe (230410) launcher's language dialog 2022-05-09 01:12:14 +00:00
Joshua Ashton
27eaf5f926 steamcompmgr: Add support for retrieving motif hints 2022-05-09 01:12:14 +00:00
Joshua Ashton
964a9b15cf steamcompmgr: Initialize maybe_a_dropdown 2022-05-09 01:12:14 +00:00
James Jones
22660ce088 drm: Skip gamma LUT on CRTCs that don't support it
On hardware and drivers that don't support a gamma
LUT property, don't attempt to generate or set
one. Log the lack of gamma LUT support at the
informational level.
2022-05-06 22:45:44 +02:00
James Jones
e24348da39 main: Raise the file descriptor limit at launch
Gamescope currently uses 1024 VkFence objects to
synchronize CPU and GPU work. The NVIDIA Vulkan
driver currently creates a file descriptor for
each VKFence object created. To ensure there are
sufficient file descriptors, attempt to raise the
limit to 2048 file descriptors if it is currently
lower than that. Failure to raise the limit for
any reason is non-fatal, as the increased limit
is not required on some drivers.
2022-05-06 22:45:44 +02:00
Sam Lantinga
a32244de62 Switched the default YUV color conversion to full range BT.709
This matches the hardware color conversion on Steam Deck
2022-05-05 01:03:46 +00:00
Joshua Ashton
2855219311 wlserver: Add WLSERVER_TOUCH_CLICK_DISABLED 2022-05-03 23:55:08 +00:00