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

wlserver: some more basic tweaks for touch logic.

Add primitive hold-n-drag.

bb52b60301e3e3bdd55d0251c4ad294da4c447e1 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: fix a bug where the cursor would only unhide if clicked

Ideally we'd get actual MotionNotify and redraw if needed, but probably
grabbed in this case. Th...

3f51eb4d25c6283b88a58aa38a1c33ec24f5f393 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
wlserver: wire kb+mouse+touch input coming from wlr, mainly libinput.

Add the concept of a cursor coordinate when that initializes when focusing
a surface.

Put some ...

56b2aa2d925dc677bb88125093a173ff63ff7660 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: fix launchers/etc not displaying at first.

If a window already has a buffer attached by the time we figure out it
exists and sets its role,...

3eacb24d01b47b47d5ad42ed46b77711e98501fb authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: Remove skipping all frames if no main plane.

If the base game is stuck before having rendered anything, we still want
to show overlay layers ...

bb945da160ca3a0229eee6f43ba9d2bed6b67cdd authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Update README

ba4fbb3b304974eec7da425ec8b587167f5cf074 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Update README

9b39124301edb979ecc87eb7e64130139b1dc75b authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Update README

c1c739a52073a3da7fe1e082f77b726b89133ff5 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Update README

3353b5845fe9c21f70ae040d9811443f7a77d2a0 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
drm: drmModeAtomicCommit can return -ENOSPC, make non-fatal.

It's non-fatal, presumably we messed up source coordinates for that flip
but needs root-causing....

dd6d0d5ad8c8ffa19288d0536a9450ad93b6d220 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
wlserver: handle EINTR in the main loop epoll.

Fixes the server going away when we need it most, or when attaching GDB.

c0a793e2905b5c8b3792e7f094e74308339692da authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: flush output to startup pipe with a newline.

1b0f273f2147d148dd6a7f964ef83f2e0457c5fd authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: add option to send DISPLAY back to invoker.

So the session script can read it back and know when gamescope is ready.

bdbdabe19b897743fc6c1d00c4c69342f4b6b3cd authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Rename project and executable to gamescope.

We're a superset of steamcompmgr now, but have a wider scope, so new
name to reflect it.

e1c4298d2a11fa65ec1bf288ca92d4d6d52416cb authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
composite.hlsl: This seems a bit faster on Raven?

83ccb4d74d7041a7021f7db470ccce36a68e453b authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
wlserver: anti-fd exhaustion measures.

If we only take the first commit, we leave a bunch in the queue, which
makes us that much more l...

901103af3f95b0dfacc1fca77c773955b5e64f74 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: use next wayland buffer.

Not last. Prevents non-vsynced clients from getting too far ahead.

fb496011383b3e4ed6f921f42dc730db929acd6d authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
drm: more logging.

94ecdfdc6e25577beb3cbdb8737b6e629a76206f authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
drm: workaround for flip failures launching The Witcher 3.

Tries to flip a 1x1 surface, apparently amdgpu doesn't like it

In a liftoff future it would sur...

1a1fa8629f69d1c9ca8cca644deea42d5b5433af authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
drm: re-add non-liftoff path, with logging.

8827ea367e65677e7a1e7026d1c05e8336f3147a authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: small fixes to not fix damage until we really painted.

3a17f3eed71f11646581c6cd2775cd0f2ffbfadd authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: gpuvis frame cadence debugging.

Now that things are generally more stable, let's take a look.

e637bdad102acff121abde48c3da6b374d575ca2 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
rendervulkan: always write all layers in the descriptor.

Use an empty dummy texture for unbound slots, as the driver can't know
what the shader will samp...

c77df96523faf04a2a4013c1e6e5640d96f16933 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: Added a debug option to always composite.

This way we never flip anything but our own buffers, to facilitate bug
isolation.

807b24f731ed72181180b5fdd1275dfe61ed93ff authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
DRM: Protect ourselves against a race condition in flip accounting.

The flip handler could try to deref before we had added the refs.

6efedbb5878e9c96b5855d2e4beb716749f2f59e authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: we weren't hiding the Steam window anymore.

Also fix the mouse focus edge condition to actually be correct.

2092afd078e5a40bf55e56cfb93f319204213dd2 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: Handle early WL_SURFACE_ID notification.

Untested for now as it only happens when we lose a race, leaving a
printout to confirm if it wor...

5598fcfa57f41554b3b16063868b478c8b5f8993 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Reconcile new cursor DRM code and nested path.

94c4c05e407ff72ef65985615db4aea63f086c17 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
DRM: Make liftoff layers conditional for now.

Can't get them to be useful, might need library and amdgpu DC fixes.

4d6602ba4be851c34ba94f140eae701533816a55 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
DRM: multi-plane support via libliftoff.

Import libliftoff as subproject and plumb our planes through it.

Wait for a flip to complete im...

6b3e2ddf68adc515b6a54c29df284a7987689c8c authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: let's go with -e instead, for embedded.

As opposed to nested.

a8d96fb2274b8991ed6d1d43fe44d689d10b2d57 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
rendervulkan: Fix corruption at the bottom of the compute path.

Thread group size doesn't have to be aligned with image dimensions, as
is the case with 16x16 on...

d5e90511d5a9b0227f7eae50d03b9456950f1a3c authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: Don't composite the cursor when it's empty.

0565c32a55ff1b0b6643a8f21b71f8d5055f1b7c authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
rendervulkan: Some attempted fixes, in vain.

Only set implicit_sync on in-bound buffers, we'll sync our scanout image
ourselves by exporting ...

c4321e54b27b49a42f5f03a02bb81c3e31dad376 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Fix DRM output, initializing SDL apparently breaks it.

We don't want SDL input in the non-nested case at any rate.

db940555114f83bd39b836756648a8d47704cee8 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: Add command-line argument for relying on Steam GameIDs.

So we can easily test single-app scenarios by generating placeholder
ones. Will also make it mor...

83683d270ccced9542ac9878f52446d95f1aa761 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Add some code to detect if the cursor becomes fully hidden.

That should come in handy for auto-grabbing in the nested case.

97aac0bbf93acd031591eeeeb0a90f1b7bfd3cc1 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Don't like this 2013 cursor rescaling logic anymore.

It worked well enough with the Big Picture cursor, and seeing it change
scales between Steam and...

8a8eea1df3873868e1df25ef4d5ac66d183c7f52 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Add SDL input handling in the nested case, plumb basic mouse stuff.

Relative mouse broken right now.

d357278b9884baaafafb6d14d025a6a029ae0a8e authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
fix: handle terminate better

b11f46d4e7e5726b1f5ef37e5b34b14058b7f93c authored almost 5 years ago by Roman Gilg <[email protected]>
steamcompmgr: re-add cursor painting.

We're in sole control of the cursor now, there's no "fake" cursor anymore.

Don't attempt to hid...

81e5e1b2f8e17a8bd36d2ddaaa20e96131e83023 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Make direct DRM flipping match composite description.

Also overload VulkanPipeline_t some more. :/

8db29e4c24886c2f96a4a5a7f7d5d447cfd64ae6 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
wlserver: Add naive locking to try to see if that fixes hangs for good.

Change the wl event loop to busy-wait for now as that's easiest to make
unlock periodically.

24c10095e5f45d62d44040bba837a64b9f51bdc0 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
build: do install executable

In order to launch the binary with for example Mesa being installed not into
the regular /usr pr...

bc042c70f5af55343a43fccdaafb95c7aa324217 authored almost 5 years ago by Roman Gilg <[email protected]>
docs: add back license file

The project was licensed under BSD-2-Clause. Add this information back again.

a537a04b10412d184226fdd02103b158f15eb468 authored almost 5 years ago by Roman Gilg <[email protected]>
Helper HUD to know if we're compositing layers with the GPU or not.

97c81ee9fcdd90aa671ff1fed2d97a6375c04387 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
rendervulkan: Use FIFO present mode for now in the nested case.

That's a good enough proxy for a real vblank cadence and helps my Envy
not catch on fire.

898e653c39c1a330a5c4717651288110e6a31918 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Vulkan: free imported textures, removing the small last leak of GTT.

Some more leading whitespace for good measure.

7f4d791c208f3447c745c8a1a3d3703547b43e88 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
wlserver: I think that worked, now make it not destroy a core.

56c1fd217e1b9c995cf25ee81a5739e9a857a7fb authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
wlserver: Flush clients on any unlock.

This should make steamcompmgr messages actually go when we send them.

We're pulling too many fr...

010ba4069191d758afddaa8aeed4ee9ef912ba23 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Ding dong the witch is dead!

30d8582b6227287b0c8b97573bd12a2340088af8 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Vulkan: Can have a normal-sized descriptor pool now.

4209391fe13e942157d479c6142bc4890c6c95af authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Select a non-SRGB swapchain format to fix washed out colors. Thanks Bas!

d3e0b3c96360dadaf67180a3f3732547be4f5573 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Vulkan: descriptor cache.

Doesn't help running out right now, as the DMA-BUFs from a new app
frame get imported as differe...

9d49e1a682a3e755d86d25f3c725772b835a78fa authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Vulkan: compress layer slots into contiguous texture slots.

Otherwise we can crash if what we get passed has holes, like when the
main layer loses its textu...

0915d864c0995ce8ed912977be310b25744b74e9 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Plumb steamcompmgr window painting to Vulkan compute.

ec34dad8a9468bd8d43186717d1f0f37575b9293 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
x11: With great power comes great responsibility, I guess.

The WL_SURFACE_ID messages force us to register SubstructureRedirectMask,
which means we have to...

7bf4d963b490aa14e81958c952a189163cded5fc authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Vulkan: try to collate output-specific things together.

Main motivation was to have a clean-ish spot to add a ping-pong
command-buffer instead of alloca...

85cab977378d32ec2b7f12d5cce2712a9a798764 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Bas rightfully points out the system wlroots dep isn't needed anymore.

445844e83f50bb8cdf8872be3bf6212971151bfe authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Some primitive rotation support as a test.

60ce06b4cd273f3d794d9900ee90c660b0025862 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Make all output paths coexist in harmony.

c186dc28cfe81e25fd0f0b117f7bb333f4ff1f78 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr: disable fadeout for now.

It causes use-after-free bugs since the current logic is based
on GLX TFP hold/release semantics...

2a9a4c399324c876c70db71eb03f8e36f41c6df6 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Add more float comparisons. Every project should have at least 4.

ed52f586af759e55f3d15fe4bb31585b90333b37 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Don't need the workaround to recreate overlay ARGB pixmaps anymore.

7d97f096d48464c66411f60f19008dae545901e6 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Fix swapped channels on glxgears rendering. Still super dark though.

622f198549c79af322b4d8e7f520508d279adf15 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
I think I've come to terms with not building wlr stuff as C++.

Might as well clean up some of the initial madness.

c70e71d1e21f7484228d1aab21c7b8a392bfa652 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Some more GL leftover stuff was hiding.

2934681b5619fab13152b28e3fe10b5c37c1df22 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
feat: add signal handlers

b966a74e0cfb18d20460778ca0b7b39265513234 authored almost 5 years ago by Roman Gilg <[email protected]>
Vulkan: set scanout bit on memory for imported images.

As Bas points out, their original WSI allocated them expecting them to
get scanned out, so this ...

8e4a4101f5ea26c2b163b25d13145744ca590000 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Vulkan: just cache various samplers for now, use a single descriptor.

Caching descriptors is useless when we're importing different images
every draw.

46427fd8105ec223c2344c8a36b4b2b13c552c5e authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
I guess HLSL does weird padding with float2s?

With this and some more fixes, output pipeline looks pretty much perfect.

9d359e32136fec473539494b87ac7f90d50d8e90 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Kill EGL with fire, rest of GL will follow shortly.

Working nested Vulkan path now using surface from SDL2 window.

For some definition of working, ...

bfd02982abeb17159d13b11f0174b859f62b88eb authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Importing into DRM.

4e324dd6eb6d2da89b8a73fb544362c064f735a1 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Try to fix hangs in Portal when it isn't vsynced.

4a7fe18845c87d2c033ac88a685efdaf26997039 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
steamcompmgr only makes sense in the nested X display in this scenario.

4a1550b7b036e76f1a729510b44e3d7f234c5926 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Remove a wlroots patch not needed on mesa git anymore.

487f9887a3aa7875ce1b1c4354bb9a2f4b70f4f5 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Vulkan: start of actual rendering code.

Getting corruption on screen at 7FPS!

d7dc7b435dd0dfccf57f8fe1bb7c51c25e6ab96a authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Keep track of in-flight flips in DRM-land to defer frees of fbids if needed.

This makes output sane now for Xwayland buffers.

df5244f547fbdff99c4a2bbefbd9c2ee6d391748 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Windows render again now that WL_SURFACE_ID is plumbed through steamcompmgr.

d740ac4d57d107bdef43c767409f2833014935d5 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Merge with rootston.

Enable C++ for bits of the code, but nothing that includes wlroots as that
doesn't want to build...

86efc186c553ea4825d98862739ea51130a28944 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Vulkan: some surgery on image code to make it import textures as well.

586bc69f5f220bef4e121d54362026aadf61dd08 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Fix up frame cadence ordering a bit.

e36f1f6c5b17b08317d585309ca1bd6a31969928 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Only do libinput if we're not hosted in X.

3cf1bd219d0bf7106f79ba4b0f79a21e500fe13a authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Get working input, but steamcompmgr now randomly takes down my X server when

exiting.

3aac5b9015c458fe3a7f35bb580f4a933ecbcfa2 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Enough Vulkan stuff to render to an image and flip it on screen.

No texturing yet, that's next after some surgery on the lump of code.

e61b20710ec243da025bdc1886b70616056b26b1 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Process doesn't go away when closing clients anymore.

3a091e864ac39d06afea304dbd802315a0ae15d4 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Finish removing glX stuff, remove path_rendering stuff (with prejudice),

add some freeing of resources.

382004513a1b8f9317dac60591e6a06db35346f4 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Register GL error callback instead of checking by hand.

32fe2d5bfbfc349e5d55f8d1d76049b077b0127a authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Fix warnings on my setup.

5b1154f863b49107894fad53d830f97125e67187 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Reinstate normal GameID detection logic, so we can run Steam now.

306583be945172883cacc0a3f38eeba4df824452 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Taking about 0.5ms at 1080p on a HP Envy Raven laptop with this.

Sometimes we're running _before_ the app according to gpuvis, beware.

9517ace5c0ee18fcda852d227f7d582ac0f96b74 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Use headless backend, give it a dummy output, keyboard and pointer.

I can render an app with the only GPU work coming from steamcompmgr now.

5bf32a3335f150fa6f14267fcf6a509aad74dba7 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Hook up steamcompmgr output pipeline.

Get steamcompmgr's GL context from EGL and rip out GLX, as we need EGL to
import dma-bufs.

When...

b39c5a67d472bf0912151b7465b30916f616a688 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Start of Vulkan compute rendering code. Getting FBIDs (glxgears still OK).

2be0bdbcbbd175347d6404d1ecc7cf0e9a0fa6f3 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Some cleanup,

2bdbd019022f762e629882e864d6b86b23c9dd94 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
More DRM flipping/importing, getting half of glxgears on screen.

Lower half is getting eaten by something, presumably underflow as it's black.

Make EGL and DRM ...

bc7207c69db7ec46270afee2e94a680294789405 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Chop off some more concepts that were higher-level than I thought initially.

95e132179d160d7200241ae561060a9160fff9e1 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
chop (glxgears still works)

ef8f14b05e616561d056c833cabd9938c2ace0a6 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Make the wayland commit side master of who has valid contents.

And fix a bug that would make overlays flicker.

825db84b136b81b517bd36e678243d924b944083 authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>
Add placeholder GameID to every window so I can easily test with glxgears.

617174e4b49da5582752cd2797d7010f7d2b3c3e authored almost 5 years ago by Pierre-Loup A. Griffais <[email protected]>