Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/ChimeraOS/gamescope

SteamOS session compositing window manager
https://github.com/ChimeraOS/gamescope

drm: log flipcount in drm_atomic_commit if logs are enabled

35a0eff0c40914554d06150015e383f90d0ac6f1 authored over 3 years ago by Simon Ser <[email protected]>
drm: log flipcount as integer in page_flip_handler

da58d14ddafe5e0da97adb79d1157baee8176703 authored over 3 years ago by Simon Ser <[email protected]>
Switch to poll

epoll doesn't offer any benefit for our use-case. select is old.
Let's just make things consiste...

5fedd45d2f9e70a09732494f06fc09bd4a972683 authored over 3 years ago by Simon Ser <[email protected]>
rendervulkan: document bNeedsSwizzle

9a6b72f712fe3c2f2cdcc49738be3d5b1a1f66cf authored over 3 years ago by Simon Ser <[email protected]>
rendervulkan: add back VK_FORMAT_R8G8B8A8_UNORM

This format is used for the cursor. Regressed by 8b7063799874 ("Use
VK_FORMAT_B8G8R8A8_UNORM no ...

c9e8634e13560850e1227b6b939e636b1d56828a authored over 3 years ago by Simon Ser <[email protected]>
drm: fetch formats for all planes

We were stopping at the primary plane, but we can also scanout
on the overlay planes.

5d12da3d22f107fe942de56b099a2da283a0a1fe authored over 3 years ago by Simon Ser <[email protected]>
drm: log selected connector

8828f7218bd60bb18d3f62b759f1851b87865efd authored over 3 years ago by Simon Ser <[email protected]>
Use VK_FORMAT_B8G8R8A8_UNORM no swizzle for DRM_FORMAT_ARGB8888

We use this as an input not as the output so we can just use the DRM format as this exactly with...

8b7063799874fc5f1968cfdd985722357aba3d5d authored over 3 years ago by Joshua Ashton <[email protected]>
Use VK_FORMAT_R8G8B8A8_UNORM for DRM ARGB formats

DRM formats are not endian-dependent, therefore we should not use the PACK32 formats for this.

860f4d6384324bad3107ed6991c1344156265fce authored over 3 years ago by Joshua Ashton <[email protected]>
drm: sort mode list for all connectors

We'll add multi-output support in the future, so we'll need to pick
a mode for an arbitrary conn...

7a55cb80b9dade4c1a745024e8a668088a3c5f30 authored over 3 years ago by Simon Ser <[email protected]>
drm: allow selecting a connector via -O

References: https://github.com/Plagman/gamescope/issues/211

e5e0ebf5a4339f00392336622975aaf85c135f87 authored over 3 years ago by Simon Ser <[email protected]>
wlserver: improve wlr_session_create error handling

52063b385871b8dfda62472d9348df9fc3c86a90 authored over 3 years ago by Simon Ser <[email protected]>
wlserver: remove unnecessary wlr_backend_is_headless check

A headless backend will always pass this check.

96346bd5f12834985eb856704da03ec1a786ff32 authored over 3 years ago by Simon Ser <[email protected]>
drm: take struct arg in add_{connectopr,crtc,plane}_property

ebfdad512f6b57dc0deef12412ec46df0d82e811 authored over 3 years ago by Simon Ser <[email protected]>
drm: remove get_prop_value

11927253d5cc7b923dc56b749713e398e2bf92d6 authored over 3 years ago by Simon Ser <[email protected]>
drm: save initial object prop values

593fe90695ce5159dd5d8f311f5a996b09d70480 authored over 3 years ago by Simon Ser <[email protected]>
drm: de-indent loop in find_primary_plane

637e5341d4d1ec48b30ace0dcba3b8f1d10e6fe3 authored over 3 years ago by Simon Ser <[email protected]>
drm: populate plane/crtc/connector from vectors

69caa325c4d5b222fc442aa8020120c60ac895b9 authored over 3 years ago by Simon Ser <[email protected]>
drm: drop {crtc,plane,connector}_id fields

b2f016dfe5f2ecbe7d1ce6985d1701863d82049c authored over 3 years ago by Simon Ser <[email protected]>
drm: stop calling drmModeGetPlaneResources in find_primary_plane

97853e2ecb276db9e6976fd03f27831e73fc8e1f authored over 3 years ago by Simon Ser <[email protected]>
drm: make find_crtc_for_connector return a crtc pointer

defd14d39d0a42dfc5a8a1e9453791f2fcd07eae authored over 3 years ago by Simon Ser <[email protected]>
drm: remove duplicate drmModeGetResources

d5097e2a216250b6358da41e3eb15e0ca755cfcf authored over 3 years ago by Simon Ser <[email protected]>
drm: stop trying to use previous encoder/CRTC

Just pick one, simplifies our logic. Now that we disable all CRTCs
on startup, we don't risk ste...

70d3dda4d41c6be65c62b3bfbb16a7caa4924571 authored over 3 years ago by Simon Ser <[email protected]>
drm: use drmIsKMS to detect KMS-capable devices

c9af23c75097b95e70386367b51720efea816ea2 authored over 3 years ago by Simon Ser <[email protected]>
drm: fetch all connectors, CRTCs and planes on init

We need to fetch the props anyways to select the right objects.

930ceb271b8e5fbbbcf53978acb7adc6b1960869 authored over 3 years ago by Simon Ser <[email protected]>
drm: fix find_crtc_for_connector error return value

The return type is uint32_t so we can't return -1. 0 is a perfectly
fine error guard since DRM o...

a2ba2b1b5bb08996ac3b35c4ea5d22297a731b13 authored over 3 years ago by Simon Ser <[email protected]>
build: lookup a native glslangValidator executable

f021460c90356e5ea6dea1395ea0c13373df23bb authored over 3 years ago by Simon Ser <[email protected]>
build: remove C from language list

a691f08171e009577d5af9d0d47def0cf31bbb94 authored over 3 years ago by Simon Ser <[email protected]>
build: stop linking against math

0c33a70f11a0b7bcd9c64d3322e4d3413f5c72d1 authored over 3 years ago by Simon Ser <[email protected]>
build: whitespace inconsistency fixes

bfd02dc5505dd220402eb8cd54e56431669be5f9 authored over 3 years ago by Simon Ser <[email protected]>
build: remove duplicate cc assignment

09980c11fdad837c63d607e54c676f9df60819d1 authored over 3 years ago by Simon Ser <[email protected]>
build: use force_fallback_for

This allows users to more easily control how dependencies are
looked up. By default, a subprojec...

cf395c765b143f9ece2c8f6de7209fa1d1ea831c authored over 3 years ago by Simon Ser <[email protected]>
build: cleanup source files indent

17ba657dd62bd43f6d9c922be3eebea04d177a64 authored over 3 years ago by Simon Ser <[email protected]>
drm: allow to switch refresh rate at runtime

References: https://github.com/Plagman/gamescope/issues/206

b380f3fbf24e78a039e9acfe0181f996238b2ddc authored over 3 years ago by Simon Ser <[email protected]>
drm: embed drm_t.mode

This will allow us to store a custom mode there, instead of a
mode that comes from the EDID.

852d3b12a9548e7e517d782a51e13f7507a72642 authored over 3 years ago by Simon Ser <[email protected]>
drm: sort modes

This allows the best mode to be selected even if a constraint is
specified (such as the width or...

127b1b510e1d044587f9e574e538854d60c69f55 authored over 3 years ago by Simon Ser <[email protected]>
drm: select mode based on g_nNestedRefresh

g_nOutputRefresh is not set by CLI flags.

a3144601c37645a22c3d138716e4a67b01012eeb authored over 3 years ago by Simon Ser <[email protected]>
drm: pick mode based on CLI args

17edd12b3faad3ada915478e8e326731a1c07010 authored over 3 years ago by Simon Ser <[email protected]>
drm: move mode selection to get_preferred_mode function

953c5ec3772b4e7cf1401fae3517e9e4f4150f50 authored over 3 years ago by Simon Ser <[email protected]>
drm: remove mode_str and vrefresh args from init_drm

We'll change these at runtime, so let's stop taking them as init
args. They were unused.

af1ba566bac23845b61c6b744b6d0556c6b4f5da authored over 3 years ago by Simon Ser <[email protected]>
Simplify g_nSubCommandArg logic

getopt() will eat the "--" separator if there's one. Rely on the
value of optind after the getop...

a22e9d3c0d4997965597454ff9540ca9366f72c8 authored over 3 years ago by Simon Ser <[email protected]>
readme: simplify example command

4cc32ca8a6e0018e3d1ed1562a80ddde4cb21aba authored over 3 years ago by Simon Ser <[email protected]>
Add 16:9 defaults for -W/-w

97ae60154d2cb3712640b2dbe8e394deabb8c923 authored over 3 years ago by Simon Ser <[email protected]>
Use inodes to compare DMA-BUFs

The file descriptions are only equal to each other if the producer
has dup'ed the same FD.

84dd1e6542d51fe7fe28f97917b7a246cfece614 authored over 3 years ago by Simon Ser <[email protected]>
Bump libliftoff to 0.1.0

eb5972ccf61707c9549cea7d2551ed8f904158fb authored over 3 years ago by Simon Ser <[email protected]>
steamcompmgr: fight clients over focus if we have to

A client can call SetInputFocus at arbitrary times and some do, like Chrome webviews.

9842f2f807dd9e5a4fa8747ee10c3d64fea622c1 authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: report input focus as focused app, not necessarily main plane

45c801e0acdc0a4c8344313ace68c55f430ece4f authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: fix copy paste error

f7e1cb2e2e594c367aac5d6e1d9b3bf51ec2ac1a authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: get rid of set_win_hidden

The HIDDEN state was originally just a hint for Panorama windows. It can confuse
other clients. ...

88596b96451e22c664ffb64df12b4876da8d3bfc authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
rendervulkan: Implement NV12 compositing

Dependent on latest Mesa for my commit to support unnormalized ycbcr:

https://gitlab.freedeskto...

00622fff62da98f782ab480d78521f1a4180815a authored over 3 years ago by Joshua Ashton <[email protected]>
rendervulkan: Use Vulkan 1.1

Less hastle going forward for stuff promoted, and we don't want to be running on stuff that does...

39fff770f482b7a363adc1e525a0accbecaef5ee authored over 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: add comment about our iconic handling

d176770c151e99d226c0fc4194d16b5cc9bbd957 authored over 3 years ago by Simon Ser <[email protected]>
steamcompmgr: never put windows in iconic state

f8fbd06af4c9319a0fcb8bbe8b79fc00807a80e6 authored over 3 years ago by Simon Ser <[email protected]>
steamcompmgr: reject WM_CHANGE_STATE messages

5e201b3c0836ccea55d84e7a3a8e384fd66e55b5 authored over 3 years ago by Simon Ser <[email protected]>
drm: disable all CRTCs on startup

If the CRTC we've selected is being used on another connector,
our modeset fails.

5b3ea51f7bcb74d55e7f37356bc0ca823aa2e602 authored over 3 years ago by Simon Ser <[email protected]>
Add enum for g_nTouchClickMode

Makes it clearer what the values mean.

3e17ea2e6f7459309fa2d9df45c844893d287120 authored over 3 years ago by Simon Ser <[email protected]>
Fix NULL g_XWLDpy

The previous commit stopped using the X11 server for nudging the
XWM. Thus g_XWLDpy has been dro...

2807bb27c1610b24774c91aeda9a39b4e8e547cc authored over 3 years ago by Simon Ser <[email protected]>
Replace nudge X11 events with pipe

Avoids the roundtrip through the X11 server. Avoids having to connect
to the X11 server from mul...

33f207d6a155a83a21cb2922f41c2b3fba27cef1 authored over 3 years ago by Simon Ser <[email protected]>
Tag 3.8.3

0194432185b89d8b87c31e8537013d86e12d7fdc authored over 3 years ago by John Schoenick <[email protected]>
steamcompmgr: improve wait thread robustness

d187c2241e33db612f0bf91e684567562004b01d authored over 3 years ago by Simon Ser <[email protected]>
Terminate wlserver when steamcompmgr stops

Closes: https://github.com/Plagman/gamescope/issues/167

24b561147831fafc00f65e16a858c0eff5efef1f authored over 3 years ago by Simon Ser <[email protected]>
Stop using X11 events for vblankmanager

Instead, use a pipe. Check if the pipe is readable in the
steamcompmgr event loop.

This avoids ...

470756029dcfb440bcf721718d5c33f8833d975c authored over 3 years ago by Simon Ser <[email protected]>
steamcompmgr: flush display after sending nudge event

d8dacddaeab228221ffa9c63d41b1023e1d2a1f3 authored over 3 years ago by Simon Ser <[email protected]>
Set O_CLOEXEC on stats FD

03d14fd67d1b13ca6c57ad2fb6044566b164a827 authored over 3 years ago by Simon Ser <[email protected]>
Log error on fork/exec failure

7c3dff8d57aedfd81c85c82e16d477f1baaf5e99 authored over 3 years ago by Simon Ser <[email protected]>
Set O_CLOEXEC on ready FD

df6b48776eb9a10a1e6fbaa27de31a2a83966fff authored over 3 years ago by Simon Ser <[email protected]>
steamcompmgr: split child spawning logic into separate function

8123bc4f36eea4977a1c69e8247a33c4ca355b3c authored over 3 years ago by Simon Ser <[email protected]>
Split X11 event dispatching into a function

bd9590506ae48d0669259d9c08f3634a8a2980fd authored over 3 years ago by Simon Ser <[email protected]>
steamcompmgr: use poll() to wait for X11 events

References: https://github.com/Plagman/gamescope/issues/201

f51a05b2dcfbae0b807547c2d24c708ce7caddca authored over 3 years ago by Simon Ser <[email protected]>
steamcompmgr: only consider overlays for input focus

Also prctl subreaper tweaks from smcv

08f41f2046b4f392656de6a3ccd4fffb1999b812 authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
readme: add install command

Closes: https://github.com/Plagman/gamescope/issues/26

93ab1ada2ffd32ca31adbfca007a8b8e5adcb80a authored over 3 years ago by Simon Ser <[email protected]>
steamcompmgr: protect against possible out of bounds read

It's possible no layers get drawn due to no contents.

e4798e27c9035d9cdac319f00a44ca66548794f9 authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: scale touch coordinates to the right window

Was erroneously using base layer size even if overlay had touch input focus.

0396468a1d0deb3de9ad7deaf8dbf293f59edf86 authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: extend input focus concept to allow mouse-only focus

9a20f630ad08ebe0bec2a7f428c3fc131557c78b authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
wlserver: prevent list corruption on double wlserver_surface_set_wl_id

9d40b616456e6f1d5085c9431e40f20783ebeace authored over 3 years ago by Simon Ser <[email protected]>
Stop importing DMA-BUFs into EGL

Make renderer_texture_from_dmabuf a no-op, since we handle client
DMA-BUFs with Vulkan. We're us...

cd4c1a4d7d5c59a8733e233b92b60544a60961e8 authored over 3 years ago by Simon Ser <[email protected]>
steamcompmgr: publish focused Window and appID back to control process

7adcd2fb205a6c9e11659002fb68c92f1bf7f351 authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: support a list of GAMESCOPE_FOCUSABLE_APPS

6dc6ff83fee385bd4ad2f6c49b74f9d9f3e9079c authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr fix new bug where we'd always run the focus switching code

d053a5582efad3ebf4fc0c991a8605cd5c5b2ffd authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: publish focusable appids through root property

5c0e1ff4c7f81206d45e4e74f8207e49ef38656d authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: fix appID getting stomped if reaper but no prop

a9216b398b39f4e2b045f33ffb52e0b9e5eec762 authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: fix bug where we wouldn't repaint streaming video

Would just sit there if only the video underlay committed.

7e27bacc06902940b429da4934041bd0aa0f5b01 authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: delete STEAM_UNFOCUS and isSteamPopup

now-unused test code

0b92aee977fd17b524a63c748ef0cfb84d28d351 authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: move to stable_sort

It preserves original order like the old logic.

f4db52a3fa738d3b8c04e38b4cadd0e5c8fd03b2 authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: add external focus control mechanism

d4c93c3b06ea675c9d3cdc95f396122102542670 authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
Include <wayland-server-core.h> outside of extern "C"

Closes: https://github.com/Plagman/gamescope/issues/190

fa433a3ebc61d578512a8bd8d127b35344b5778a authored over 3 years ago by Simon Ser <[email protected]>
steamcompmgr: streaming_client is kind of like an overlay

but not really

756b3a6afc6b6670c2c874adeb9c10997a690c2c authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: more obscure focus fixes

fe4501c63350b9b28b14c7849b4b58076a6aac24 authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
Block NV12 LINEAR when rotated

177205dca43dd1ae9a83916b92cd941fae3bf388 authored over 3 years ago by Simon Ser <[email protected]>
steamcompmgr: some focus regression fixes for cornercases

An overlay going away wasn't getting considered. Steam also doesn't
set the 'games running' prop...

9e6a6aa77d5518fbef93903ccb8dec7cdf8fa6b4 authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
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.

7b97f6e4e8606685f21618f46f2180a4c11d29b1 authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
rendervulkan: remove 'fence' concept

Doesn't make sense now that we poll() the DMA-BUF fd directly. We can
do that directly from stea...

074ee9c71965ea510a3878f9edc01d1d6ca9c7b8 authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
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...

e25f871d87a8015344a6cbc0859e4f8fc07998df authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
Fix VkDescriptorPoolCreateInfo.poolSizeCount

This caused a read past the array end on anv.

a4f3a19480bcb6a113a709d1c0f6a0eec7ca8faa authored over 3 years ago by Simon Ser <[email protected]>
Allow toggling g_bRotated more easily

Allow just changing the default variable value to enable rotation.

b6f5471b6252bde3da50688b4fe3fda053a6e8a7 authored over 3 years ago by Simon Ser <[email protected]>
steamcompmgr: flip the meaning of -x

It wasn't actually causing crashes and the memory stomp is fixed.
The option only existed for a ...

902fce73b00c502225c2296ef1824efaf1afa665 authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: get the appID from the process tree

In case we can't get it proactively from the app process.

580a17d46222ab0289f6c5a94e1f28d1b969971b authored over 3 years ago by Pierre-Loup A. Griffais <[email protected]>
Handle swapchain recreation for out of date and suboptimal

8afb3c3f30e73f5f8be94784aaac3dfd3d46de43 authored over 3 years ago by Joshua Ashton <[email protected]>
Use SOA instead of AOS for layers

Produces better code as the shader compiler can load
multiple layers with a single buffer_load a...

f537a404830f5a777a64e5ae38c20a3b219239c0 authored over 3 years ago by Joshua Ashton <[email protected]>
Move to combined samplers and rewrite composite shader in GLSL

Cleans up the composite shader significantly as well as it uses
arrays of descriptors/samplers n...

e818aec7441f12f11ba9216a9c99855fc9e9694e authored over 3 years ago by Joshua Ashton <[email protected]>