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

rendervulkan: Replace flBorderAlpha with nBorderMask of layers

Allows us to fit more layers in push constants. We never use anything other than 0/1 anyway.

89b145dbcae6cbf3d5f4970c83183d5d9a98372e authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Add NoScale window flag

583714cffa08d2a3876d8da9213e2eb8de209948 authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Implement external overlay support

610483bd2319c596c6ac084d47a39082b9df0175 authored about 3 years ago by Trigg <[email protected]>
steamcompmgr: Refactor paint_window to use flags instead of random bools

f65884ee4ed821a69a641fb9322b7488c45b0e26 authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Handle mangoapp for video streaming

b9cfd6dd219c69e529813499056823afc3afb629 authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Add a BlackBorders flag

Replaces the old implicit notification mode logic with something much more explicit.

We don't w...

a8e3a40a03c9ab015a50e9769231717be612bbc8 authored about 3 years ago by Joshua Ashton <[email protected]>
drm: Fix inverted CRTC_Y when rotated

This was doing 90deg logic here, not 270deg.

68a68e6bb25c48377bbdd812637faf69f451f91f authored about 3 years ago by Joshua Ashton <[email protected]>
rendervulkan: Compact descriptor set bindings.

7c94fc3437a1c56cc2971091421cd6837f39c58a authored about 3 years ago by Georg Lehmann <[email protected]>
steamcompmgr: Fix returning valid contents

2accc343f8e4d28c7efda176ab0e9caf9e484fa7 authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Remove valid contents check

We hold onto base commits now -- no need to fhis logic when we can just test the layer count.

b8f66db4960c178198e6fb24e54f28c1e7dc4472 authored about 3 years ago by Joshua Ashton <[email protected]>
rendervulkan: Rework sampler cache.

Less awkward to use and also fixes a texture leak because the shared_ptr
to the texture is no lo...

7c5cc5e67e33e74e2a959ad01257a1d98b71688d authored about 3 years ago by Georg Lehmann <[email protected]>
drm: Don't forget about modesetting + modesetting robustness

Makes it so that we don't forget about any required modesets we need to
undertake, and makes mod...

95eba7e549dce9bc80b5e1b21835e552d51a0359 authored about 3 years ago by Joshua Ashton <[email protected]>
Update SDL window title from the focused window's title

* Update SDL window title from the focused window's title.

Instead of using the default "game...

bbfbf0dd8d457861a06fa939719df74b360d16c6 authored about 3 years ago by badsectoracula <[email protected]>
Drop leftover noop.h include

c1958be1d94dab714c6fece80d4e3d978210e94c authored about 3 years ago by Simon Ser <[email protected]>
Upgrade wlroots to 0.15.0

11f89c1b15eb8cf30cacfef42b092ef11808babb authored about 3 years ago by Simon Ser <[email protected]>
steamcompmgr: Fix undefined state of wayland_commit_queue after move.

072995467478247ba1a9f4c4448391a752d92bc1 authored about 3 years ago by Georg Lehmann <[email protected]>
drm: abort() on fatal flip failure

exit() would get stuck running exit handlers for global locks.

eba963b9fa53ca68d09ff46632f81f19de09854b authored about 3 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: Treat video underlay as a base plane if we have it -- otherwise treat the focus window as one when streaming

Fixes a case where we can get 0 layers.

6f284f2cce1232a7b1b4d8342e4f0ee9b05560be authored about 3 years ago by Joshua Ashton <[email protected]>
rendervulkan: Refactor to use shared_ptr for VulkanTexture_t

589fd61d580f1d8cc83f1cccc16296798defadd1 authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Use video underlay as base held commit if available

ee91053acc491aa179bb156f1139a4e6541902b3 authored about 3 years ago by Joshua Ashton <[email protected]>
drm: Fix n_refs atomic check

50ee71242982a593cf494d1949e4c6e46e0e5d71 authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Use std::move for tmp_queue

No point wasting cycles copying then freeing when we can just transfer ownership

d87fe5a00d5cac7889d86ecced7bae78810185ff authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Always exit out if we don't have valid contents

This is solved by holding onto the base commit now so this isn't a problem.

Avoid situations wh...

8ad367948ff755debdc223a7947e3cc82f2f10a1 authored about 3 years ago by Joshua Ashton <[email protected]>
drm: Handle the same fb_id being held more than once

Ref this properly -- this can happen when a window is recreated sometimes
it seems.

be1a78427874c8693c7562fc3d7f5c149b83863d authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Move commit refs to shared_ptr

This is the right thing to do given a vulkanTexture could refer to muliple commits.

0e7ef385d528dfbf0155ecf0c24e35ea3afae85a authored about 3 years ago by Joshua Ashton <[email protected]>
rendervulkan: Fix release barrier

Need to use our queueFamilyIndex as the src.

ec92dc75e5c2df268e1cf540d29744f4bd6c6dc8 authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: acknowledge screenshot request once it's actually done

a7b484135d886a64a66ec3f562be280c51722017 authored about 3 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: fix touch scaling bugs

We want to scale to remote play main UI plane even when we skip it, since
that's the one that pr...

0a8346384b6306da227f6f1ea6077711f7a28cb8 authored about 3 years ago by Pierre-Loup A. Griffais <[email protected]>
sdlwindow: Only process mouse motion when we're focused

Annoying to have the cursor moving around or the game view having a moment when we're not focuse...

8f67acdeb3d6404d5ae6209263441c84960d06ab authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Fix transient override focus crash

Only should try to find overrides if we have a focus (ie. focusing the right appid) and only of ...

4b48c80ed3a81d87780ed5ce5b65cfa41d6ed24b authored about 3 years ago by Joshua Ashton <[email protected]>
rendervulkan: Clean up some stuff dependent on k_nMaxSamplers

ced63bf255d442cefbea8db337b3b5df03b403fd authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Only release commits when window is gone

c102e49c2f5e3271d6016fd2cc7b686dc0a1f058 authored about 3 years ago by Joshua Ashton <[email protected]>
rendervulkan: Fix dangling YCbCr descriptors

023948e22d458d896bda2066b56aa8d5fc473eef authored about 3 years ago by Joshua Ashton <[email protected]>
rendervulkan: change default YUV mode to limited color range

That's what Remote Play uses, we can add metadata to pick eventually but that'll
work for now.

11a3bfb19968d552b58a14a38bf6869d889e920b authored about 3 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: add programmatic way to take screenshots.

99e7ccf74de99a69b9515babed769b102ab1498d authored about 3 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: Add debugging for commit refs

c85de4a59c0338981b8f1202f3daa094be7c6d4b authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Clean up dangling commits on shutdown

e6726ccc3ac245c7b4fcb3aaa94215811986127e authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Defer focus setting in X event loop

Otherwise we can get BadWindow errors as the window may have been destroyed later in the event l...

966439e84b8d07c61ccd594369550ca717d3b0cc authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Set set_ignore before XDamageSubtract

Seems to be common across X compositors to do this from what I have seen.

ad244097db3de85b06396d8be7ec9fb8b8c4b18a authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Flush XSelectInput before reading properties

ec5881326860d82f8bf9c18e539bae1f062eaf6f authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Release commits on Window destruction

We could still have these hanging out in the commit queue after import doing nothing.

2019359448bd6688a08675a26e83e9e3ea1957e0 authored about 3 years ago by Joshua Ashton <[email protected]>
sdlwindow: Don't hide window in Steam mode

Enables testing held commits, etc better.

bb3fd430ebb93666fae52001f364e658b66f8100 authored about 3 years ago by Joshua Ashton <[email protected]>
Upgrade libliftoff

Fixes a bug with zpos ordering.

5eec694ac0f2b4fbe7dfe04752fc250a01d9f451 authored about 3 years ago by Simon Ser <[email protected]>
steamcompmgr: add missing header for libc++ after 296a3d498d02

src/steamcompmgr.cpp:270:41: error: implicit instantiation of undefined template 'std::array<com...

9553362865bb629064d986721c6be66b7615a26b authored about 3 years ago by Jan Beich <[email protected]>
steamcompmgr: Cache and preserve base commit until we get a new one

Fixes black frames when focusing new windows without commits yet.

06cb10683aac113f0d03f3084f99f983493802c0 authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Implement fades

95baa301c7d5ca6afc1765c5a5e8cf322ac23b5c authored about 3 years ago by Joshua Ashton <[email protected]>
drm: Remove assertion about base layer opacity

We want this for fades.

8a84b4d7e62914c2b83103677bfa53f55984a0e6 authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Fix validContents nullptr deref

We check for this below, we should check it here too otherwise it's pointless

dd22f8db76aa9726b64d7a21095d669aec3b3732 authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Add --fade-out-duration option

Allows controling the fade out duration without recompiling the whole compositor.

cf20a692d88115613b9725961e336cb783ca528c authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Add framework for held commits

296a3d498d02c1277e4de7ed2e67ad537b1d3553 authored about 3 years ago by Joshua Ashton <[email protected]>
rendervulkan: Handle base layer opacity

0252f44ffe50e25cc4ff9f2d0228eda3d989375a authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Avoid deadlock between import_commit and destroy_buffer

Very rarely we can see a deadlock between import_commit and destroy_buffer where:

- destroy_buf...

a5af1a78c1b12f32464da13145c81ec5de74c01e authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Fix crusty cursor in some scenarios

The PNG spec says that alpha is not premultiplied, so we need to do that.

(Although there are s...

952949f1a1f1fed26f3c26dc3d05e6f9ff53fc16 authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Add --cursor-hotspot

Allow setting the hotspot for the custom cursor.

93e4d94a78c1d371f1e2112c6386fe3dfd085bb9 authored about 3 years ago by Joshua Ashton <[email protected]>
rendervulkan: Blend in linear space

We must blend in linear space, not SRGB space or we get these horrible browns.

Gets us closer t...

23430084e2245e226f27dbe1882bd30633a1d50c authored about 3 years ago by Joshua Ashton <[email protected]>
rendervulkan: Do not premultiply color

The surface should already have premultiplied alpha.

Gets us to how we look with planes.

4ee56a1e75a043c6f317ea2f71c96b2061e85cf5 authored about 3 years ago by Joshua Ashton <[email protected]>
Use atomics for CVulkanTexture refcounts.

Otherwise the double access on destruction could be very messy. The
default for all these operat...

c0d745baac68b5da995b7e1e221a53fce8beb93e authored about 3 years ago by Bas Nieuwenhuizen <[email protected]>
Make the drm fb map threadsafe.

It could be accessed both in the pageflip handler and in the main
thread.

5f6940f7d6f36ec460ca264bc85bc26713d461b4 authored about 3 years ago by Bas Nieuwenhuizen <[email protected]>
Add wlr_buffer destroy callback.

Couldn't find a wlr_buffer creation callback, so doing some
work on commit.

5fc9df512caec95c04de02464b5640fd27dd8d0b authored about 3 years ago by Bas Nieuwenhuizen <[email protected]>
Properly lock the id->CVulkanTexture map.

Only locks the map itself, the lifetime of the texture itself has
still to be known to be valid.

3a1776f0f8f5602963b4de5c8b7906b9c7df2f1e authored about 3 years ago by Bas Nieuwenhuizen <[email protected]>
Dedupe and memoize fb_id and vulkan texture per buffer.

Also split lock/unlock from import/drop in drm, because we still
need the lock/unlock semantics ...

7e93200e084f49dc8b68b8d0f85ad15afccf2e9e authored about 3 years ago by Bas Nieuwenhuizen <[email protected]>
steamcompmgr: Position cursor and override windows accordingly

6697abc766c366f3cec8c887d30aadbb5b76f2a8 authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Fix child window cursor barrier

If our input focus is ever a child window, we need to account for its X/Y offset in the check fo...

6402b5cd40c78e0972348133ffe1a57cedbb807c authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Take into account appids for override redirect resolution

584215dc47fc51a3269a1cfc01b04347d36a236e authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Implement support for override redirect windows

7fd1f3c9305e96addd17cedacd54446a8eeeb321 authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Resolve transient override redirects

Fixes dropdowns in Origin.

5d9ace2b00cc89fdc09a226f78f1cfb30e5e01ce authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Cleanup focusable loops

Use for-each to make things much easier to follow here.

df781455cfcba90cef43f3e0d840f18189d4aeaa authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Workaround zpos bug

Super rarely we see bugs when the zposes differ from these values.

For now, let's workaround th...

d4c8880bdfdd911e304031ebb59b8c47c87a05e2 authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Make sure to repaint on focus window change

623c4577213c9ee05c395a40aebc31b32f9382ec authored about 3 years ago by Joshua Ashton <[email protected]>
steamcompmgr: Bail presentation if no windows have valid commits

Fixes some black frames in some seamless boot on Deck as of 39574a86b6d54d786f057a7a1951e690ca49...

72bc8ec56fc28a4c3b86c982c0b1035afe073859 authored about 3 years ago by Joshua Ashton <[email protected]>
rendervulkan: Add --composite-debug

Adds a --composite-debug flag for displaying frame markers on alternating corners of the screen ...

dbdf1095f8e9581149cf201600fffab436e37502 authored about 3 years ago by Joshua Ashton <[email protected]>
Introduce --generate-drm-mode

8be45451d96e7b55869b171c25cfc18d420537dd authored about 3 years ago by Simon Ser <[email protected]>
steamcompmgr: Resolve transient links before determining input focus

Helps with launchers like FO:NV and other games where we end up having the visuals disjoint from...

10dd0322d4459f83528f44d7c1a7e12074e60d6d authored about 3 years ago by Joshua Ashton <[email protected]>
Drop unnecessary typedef

e8dab4efe068745c7f5af0469eb2cb0779b555e7 authored about 3 years ago by Simon Ser <[email protected]>
Switch libliftoff submodule URL to gitlab.fdo

1a2fbd5fea2a3d1432ed88d9d829438356cdf0f5 authored about 3 years ago by Simon Ser <[email protected]>
steamcompmgr: don't repaint on focus change

This'll repaint an empty texture we don't want in a lot of cases.

Reverts part of 7796ffc130381.

6831e6df2c53d36f4de37f833ea906af56204312 authored about 3 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: don't focus random windows

If we don't have -e, everything will have a fake gameID to get focus.

5e7dcd30f8d4de2e21fea7c92e9def8589fba187 authored about 3 years ago by Pierre-Loup A. Griffais <[email protected]>
Disable Xwayland touch pointer emulation

Depends on https://github.com/swaywm/wlroots/pull/3289

b3b8d60c006a0e59bf6275803c424ff12732e074 authored about 3 years ago by Simon Ser <[email protected]>
pipewire: set CORRUPTED flag when buffer params mismatch

78a2496386d37d759ac09f0a3192d726f745c687 authored about 3 years ago by Simon Ser <[email protected]>
Copy Vulkan textures in PipeWire thread

6be82ccabb3b8c013c840d67a503b4d0ca8d48dd authored about 3 years ago by Simon Ser <[email protected]>
Add CVulkanTexture::{m_width,m_height}

e80e4393dea845079456908ac94fa89a428bbe1a authored about 3 years ago by Simon Ser <[email protected]>
Don't use std::unique_ptr for screenshot textures

We need to keep the screneshot textures around if they are still
ref'ed when we re-make the swap...

49fb59ac561a3a4c056161f8fa9be8f6a5f4e545 authored about 3 years ago by Simon Ser <[email protected]>
Set name for screenshot thread

1b9c554f3265e59cb92cc08373b3ed4d10dfeb72 authored about 3 years ago by Simon Ser <[email protected]>
Use PNG for screenshots

Closes: #291

dd5de82c7eedd7d9161f9598334e1b6245a8b274 authored about 3 years ago by Joshua Ashton <[email protected]>
Introduce screenshot saving thread

Fixes hangs/stutters when taking screenshots.

Should be trivial to extend to pipewire too.

0aa6761157dfd97c1c83e809e6e56cf0ecb7def3 authored about 3 years ago by Joshua Ashton <[email protected]>
Add error handling to screenshot saving

c7a22d47777d6acd09115fcec2455721e765af80 authored about 3 years ago by Joshua Ashton <[email protected]>
Name our threads

Unfortunately the name length is limited to 15 characters, and the
executable name is dropped fr...

f3865a73bdc16ca89540687de01fdd94c417fb8e authored about 3 years ago by Simon Ser <[email protected]>
drm: set mode type to USERDEF

Makes it easier to spot it in drm_info, among other things.

cabba8c9212897efd0c783bbceb872568e77d2e2 authored about 3 years ago by Simon Ser <[email protected]>
build: bump min Meson version to 0.55.0

Otherwise we get this warning:

WARNING: Project specifies a minimum meson_version '>=0.54.0...

93bd0e6740e60501f509b2df14c5bdf0d75af836 authored about 3 years ago by Simon Ser <[email protected]>
drm: fix drm_set_refresh when rotated

d3496fd719c3a0c18bef1c44e0656653ae6f97e0 authored about 3 years ago by Simon Ser <[email protected]>
build: check vulkan-headers dependency

dd45be8eec7c954740d8e42b2682ccc07860a0d5 authored about 3 years ago by Simon Ser <[email protected]>
Force a redraw if the window focus changes.

Otherwise if all of the windows in the new situation never redraw
we never update to show the ne...

7796ffc130381059897f73ae788615bad9f257fd authored about 3 years ago by Bas Nieuwenhuizen <[email protected]>
steamcompmgr: publish input change count

26aeebf11d2d195fd2fa75f0d85d11dcd3ee5e69 authored about 3 years ago by Pierre-Loup A. Griffais <[email protected]>
ime: reset keymap after sending emulated key events

This fixes SteamOS' virtual keyboard.

ad26899b20e766f367e268b929e745715d455b71 authored over 3 years ago by Simon Ser <[email protected]>
Implement a subset of input-method-unstable-v2

This allows a Wayland client to send arbitrary UTF-8 text to the
currently focused X11 client. U...

49da53db5501368286ccbba9338cab7b93ebf512 authored over 3 years ago by Simon Ser <[email protected]>
ime: introduce keycode allow-list

Some clients (Chromium…) assume keycodes are always coming from
evdev, and interpret e.g. KEY_ES...

6d2b53197e42916afc3b36665a0dcee9dd3af7ac authored over 3 years ago by Simon Ser <[email protected]>
ime: check for xkb_keysym_get_name errors

2ba6eefad82cc35ac80be5452b18c5e6155c04a3 authored over 3 years ago by Simon Ser <[email protected]>
ime: send void keysym before key sequence

This works around Chromium issues.

6f26dae77e2a36998b4962feafa39da9c91a4158 authored over 3 years ago by Simon Ser <[email protected]>
Switch to vendored protocol

We'll implement some more features on top of input-method, so let's
incubate our own protocol fo...

a3ec65ef06a97d4b5c380b82ca0822bd180269ad authored over 3 years ago by Simon Ser <[email protected]>
ime: remove unicode keysym name workaround

It seems like xkb_keysym_get_name behaves as expected now.

97623694dc3a51aaba6d93f113903149a67fafd0 authored over 3 years ago by Simon Ser <[email protected]>