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

Repaint when taking screenshot

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

0536dc0bb0d49411539a7837639330bfc7c13c82 authored over 3 years ago by Simon Ser <[email protected]>
Check correct channel for no cursor check

This was checking if the cursor has no blue before, when it should be checking the alpha.

7812e0a726186e65ba936563f6f85207beff856a authored over 3 years ago by Joshua Ashton <[email protected]>
Fix RGB/BGR of the cursor's Vulkan image

This was ABGR before, when it should be ARGB.

76292f01cb38a4c14ad2318e6d4efae67a5f6a1c authored over 3 years ago by Joshua Ashton <[email protected]>
Sort options by embedded/nested mode

39c44a9e3c7dc48a3c7d5fc486caf1f8d85ba3c0 authored over 3 years ago by Simon Ser <[email protected]>
Build optstring on the fly

Instead of having to maintain two lists of options, just generate
one from the other.

5904078b2ca49efa5981f44f401934c498fd9e1c authored over 3 years ago by Simon Ser <[email protected]>
Add long options

This will allow us to introduce new long options which don't have
any short option equivalent.

13f792ab15b6fa0a3d80aec928d05ba47cdc39b7 authored over 3 years ago by Simon Ser <[email protected]>
Enable getopt error messages

These print something like "invalid option 'foo'". Previously
disabled because of the split main...

f36d436a713cc883ca27625d6f7215eeb0e74ac7 authored over 3 years ago by Simon Ser <[email protected]>
Error out on unknown option

38b65a8b2207892be6fc3f330f51832d2f3b85f0 authored over 3 years ago by Simon Ser <[email protected]>
drm: compute per-connector CRTC mask

f18723d489a68ae6b217deb99ab872022e375388 authored over 3 years ago by Simon Ser <[email protected]>
drm: fix crash when -O isn't provided

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

b230ec29ab3b2885b264343d9e77cf7d4cb6bbb6 authored over 3 years ago by Simon Ser <[email protected]>
pipewire: check pw_stream_queue_buffer return value

3c11ea20c3165d82dd8768997ab5bcea6ae4d8e4 authored over 3 years ago by Simon Ser <[email protected]>
pipewire: don't destroy buffers immediately when copying

When a buffer is being copied by the steamcompmgr thread, we
shouldn't destroy it immediately in...

fad2b9d42cce8f6f7c2850c7f12c194a68192878 authored over 3 years ago by Simon Ser <[email protected]>
pipewire: add doc comments for {in,out}_buffer

b2679838ab7eedee0792ecf22e92ad2a0e515aad authored over 3 years ago by Simon Ser <[email protected]>
pipewire: add doc comment for pipewire_buffer

56d3629b9be4c0fd9b7a2a0959287c38816fe7eb authored over 3 years ago by Simon Ser <[email protected]>
pipewire: allocate our own buffers

030fab39c9072bc1b4ccfced633f3d2400223210 authored over 3 years ago by Simon Ser <[email protected]>
pipewire: re-use struct pipewire_buffer

5c42a6ee60cd02ca99ad01b336f6a0a60ff05cd3 authored over 3 years ago by Simon Ser <[email protected]>
pipewire: renegotiate stream params on resize

5f4e6fb980b3fc737abf46b0a8066e2f016dc955 authored over 3 years ago by Simon Ser <[email protected]>
pipewire: initialize stream

bb3d5a4edbac7ef82c0ba67fb248a9ebfb56456e authored over 3 years ago by Simon Ser <[email protected]>
pipewire: pump frames out of steamcompmgr

d6510dd931d6908432ce5f5d8ca1c9487166929f authored over 3 years ago by Simon Ser <[email protected]>
pipewire: handle params changed

d2befe211aa17366abe7cbe099115402d946032d authored over 3 years ago by Simon Ser <[email protected]>
Add gamescope-pipewire protocol

Can be tested with:

https://git.sr.ht/~emersion/gamescope-pipewire-demo

ef64b60cec5cc39f5c1c3e0df00fc92b50d5af24 authored over 3 years ago by Simon Ser <[email protected]>
Move screenshot saving out of vulkan_composite

We'll re-use the same logic for PipeWire.

501eff233e4f28ab4c75348407c6c667b32e6dc6 authored over 3 years ago by Simon Ser <[email protected]>
pipewire: add stream process handler

This allows detecting when a buffer becomes available if we've
run out of buffers.

59e8aa4abc83ef4a6a73c6f90b35eb75e68a8184 authored over 3 years ago by Simon Ser <[email protected]>
ci: add PipeWire to dependencies

e075ac065f645c88da9a0a81b9aec5af72a8a153 authored over 3 years ago by Simon Ser <[email protected]>
Introduce thread-safe take_screenshot

82ef0372d52e512653521e41500224cb149a53b0 authored over 3 years ago by Simon Ser <[email protected]>
pipewire: switch to logger

4b7890594a94ac240ea6216efadca88dbae8e675 authored over 3 years ago by Simon Ser <[email protected]>
Add integer scale option

c41dd74ef544dc7717974b3315da586508a3a8e6 authored over 3 years ago by Joshua Ashton <[email protected]>
Add a max scale parameter

5422061746573e667381383f67236dc038a80986 authored over 3 years ago by Joshua Ashton <[email protected]>
Simplify errorf_errno a bit

3b14c21afc90884f7cbe8f5205cfe76af86528db authored over 3 years ago by Simon Ser <[email protected]>
rendervulkan: use log scopes

c3079f7f6cc031ec095e6f8a10e52a5bce89d6fc authored over 3 years ago by Simon Ser <[email protected]>
drm: replace s_drm_log with logging scope

c876abfa757fa148b33fbc88f2b213fb9bf52dec authored over 3 years ago by Simon Ser <[email protected]>
drm: use logging module

7cee2120856fad0908fb7caf547b9b25fd6e924c authored over 3 years ago by Simon Ser <[email protected]>
Introduce basic logging module

a54b5c9ee010c1c87dfc4c3c0b9c2d04297d60da authored over 3 years ago by Simon Ser <[email protected]>
Implement priority list for -O

e.g. `-O DP-1,VGA-1` will use DP-1 if possible, then fallback to
VGA-1, then to any other connec...

51cfc0df061c83fb546dd43ffc8f386de8264810 authored over 3 years ago by Simon Ser <[email protected]>
drm: allow wildcard in connector priority list

cba189d389c42dbeb0a18a5072def97ac89179b5 authored over 3 years ago by Simon Ser <[email protected]>
rendervulkan: add error logging to init_device

8f733a415540131b3bd62501bf6767400010c049 authored over 3 years ago by Simon Ser <[email protected]>
Re-create liftoff output on CRTC change

7bdb4555ff3ad76633033726baf54e668bb820ce authored over 3 years ago by Simon Ser <[email protected]>
Move the run global to main.hpp

It's used by both wlserver and steamcompmgr.

5b776be6d2909bd9ac2b6b8fc4c10031ba107ff8 authored over 3 years ago by Simon Ser <[email protected]>
Make the run global atomic

It's written to from multiple threads.

24bea3406a1f08e8af082c10cd21c0474306c283 authored over 3 years ago by Simon Ser <[email protected]>
steamcompmgr: nudge when children have exited

Make sure to wake up steamcompmgr when all children are gone.
Otherwise the steamcompmgr thread ...

0708ab06d22e703adfd10fc2ba396f7741a3c1b0 authored over 3 years ago by Simon Ser <[email protected]>
steamcompmgr: stop capturing pid in waitThread

a038e881c2361d798503ed8b09e122401a3bda94 authored over 3 years ago by Simon Ser <[email protected]>
steamcompmgr: wait all child processes

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

ae66c6037b84ae37e10cd2bbd9882378b4aca177 authored over 3 years ago by Simon Ser <[email protected]>
drm: don't use private wlroots prototype for bundled cvt

src/cvt.cpp:23:10: fatal error: 'backend/drm/cvt.h' file not found
#include "backend/drm/cvt.h"...

82db27c6fc926197cbf9836e4c0b60c7f85fb548 authored over 3 years ago by Jan Beich <[email protected]>
ci: build with clang

5c358cef71353d2316d44d8b39ae472f5e169db7 authored over 3 years ago by Simon Ser <[email protected]>
ci: add GitHub action

ca75f213aa6e23249adbf1f93c1d5ac4a7794994 authored over 3 years ago by Simon Ser <[email protected]>
drm: DisplayPort → DP

f1a340b029cea5f9caa4093eb3bad1d52d7bcf1a authored over 3 years ago by Simon Ser <[email protected]>
Remove unnecessary global variables

4bc7b4952b9e541c5d5627ab23f86523418a6848 authored over 3 years ago by Simon Ser <[email protected]>
wlserver: make more variables static

538610154c594fe3c509bfac27fd35bdc03e2ec4 authored over 3 years ago by Simon Ser <[email protected]>
wlserver: stop using headless backend for keyboard

The headless backend forces a wlroots renderer to be initialized.
Stop using it, so that it's ea...

482f1f3b0bc7b43867c8b55c680c1aa235af785d authored over 3 years ago by Simon Ser <[email protected]>
wlserver: check wlr_output_commit return value

ee96a669ef22ee687f7b907a0288747441015ef9 authored over 3 years ago by Simon Ser <[email protected]>
readme: mention that Intel is supported

2597c25ec6ddec19859dec069f4d75be0a828589 authored over 3 years ago by Simon Ser <[email protected]>
wlserver: create wl_output before starting Xwayland

Apparently there's a race that makes Steam unhappy and fail with:

libGL error: failed to cre...

0034d492d84122ff7dc8703c861c7909b2a6cd5f authored over 3 years ago by Simon Ser <[email protected]>
drm: switch connector on hotplug

Refresh connector status and mode list on hotplug event. Then
execute the connector selection lo...

6e1d4c2a7e577b106a7f44f298411ade761b58dd authored over 3 years ago by Simon Ser <[email protected]>
Remove flippable bit from g_emptyTex

This causes a KMS import failure on Intel. A 1x1 buffer never seems
to be flippable there.

Clos...

15b4eb04eca3dc77e0e3f37d52962629840fb53e authored over 3 years ago by Simon Ser <[email protected]>
rendervulkan: add err log for vkAllocateMemory failure

bedef214749157a06d16dd01c6e03ed1a84768f5 authored over 3 years ago by Simon Ser <[email protected]>
rendervulkan: add vulkan prefix to log message

5f31d7ed79c4f8b36febe18d95a5e2e10fe7860a authored over 3 years ago by Simon Ser <[email protected]>
rendervulkan: check DRM and Vulkan devices match

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

694f6b14e8656d934607b087d5a4c6af3f7dc91c authored over 3 years ago by Simon Ser <[email protected]>
rendervulkan: make init_device() return a bool

4dac8c0c1f967225c430fa41e9d3d6f7cbbbb737 authored over 3 years ago by Simon Ser <[email protected]>
rendervulkan: make vulkan_init() return a bool

d2bca1c440e3bad858c2cd69e729d1e65cc707ef authored over 3 years ago by Simon Ser <[email protected]>
rendervulkan: log physical device name

fa779c0ed2d16c94be3413c9169d77c796a33a36 authored over 3 years ago by Simon Ser <[email protected]>
drm: check return value of liftoff_device_register_all_planes

802d86c4bc65d96414abd686b9e8ed223ba2f6a7 authored over 3 years ago by Simon Ser <[email protected]>
drm: extract connector setup into separate function

It'll get re-used when handling hotplug.

82897e1fbf07713e246726b6e11bc0ba8389a6b7 authored over 3 years ago by Simon Ser <[email protected]>
drm: plane -> primary

a314c3f0ba161a063e24b942ffb9b248595f958d authored over 3 years ago by Simon Ser <[email protected]>
drm: plane_formats -> primary_formats

a7ab8e7a1a3461c5de370b8869618d789a09e588 authored over 3 years ago by Simon Ser <[email protected]>
drm: get_matching_mode -> find_mode

For consistency with find_connector.

94706f0f0ec417ab6ab8ee855a24476240426b5e authored over 3 years ago by Simon Ser <[email protected]>
drm: fallback to any connector if none matches

6c24e829aed25a8a020baccea178374f48cf7992 authored over 3 years ago by Simon Ser <[email protected]>
drm: add drm_set_connector

f15aafe478eef065281e4d64353b39fecf95711b authored over 3 years ago by Simon Ser <[email protected]>
drm: add drm_set_crtc

041c0dad1ba4f4bc8ad0f22c9e87155bf3ca93d7 authored over 3 years ago by Simon Ser <[email protected]>
drm: allow changes from portait mode to landscape

3cbf958680cdc0193f8467b377bfe455b1290611 authored over 3 years ago by Simon Ser <[email protected]>
drm: set needs_modeset in drm_set_mode

1b4231e33b50dfc11c63b3e6d2d86782ee64e1f3 authored over 3 years ago by Simon Ser <[email protected]>
drm: stop recording drmModeModeInfo in state

a978c54fff38c0233bb2054e684a9318aaf6d8e2 authored over 3 years ago by Simon Ser <[email protected]>
drm: remove outdated TODO

c9b8ff38542e9548d70c964f066eed039c26fabf authored over 3 years ago by Simon Ser <[email protected]>
drm: add explicit needs_modeset flag

f1eb06d9b782f262e2c1e3d8353a7cd5d04d587c authored over 3 years ago by Simon Ser <[email protected]>
drm: give up the modeset on failure

Instead of being stuck when modesetting is not possible, rollback
the changes and give up.

802f01d16f2b7d5140b9812de1adbe7134275fb7 authored over 3 years ago by Simon Ser <[email protected]>
drm: group current state

3ffd29c23a80dbb38deb731ac7ae9b925bd26b57 authored over 3 years ago by Simon Ser <[email protected]>
drm: reload our internal state on hotplug

24fe84c40293bac5fa71a4f7ec2a81a6e104e1bc authored over 3 years ago by Simon Ser <[email protected]>
drm: refresh props after VT switch

fae6bfc4110b6cf64f7c77f626fa3122ef3f95e1 authored over 3 years ago by Simon Ser <[email protected]>
drm: add CRTC state

This allows tracking whether we've previously disabled a CRTC.

2b975d14af14659a0779ac22d0c4dd7caa91eac9 authored over 3 years ago by Simon Ser <[email protected]>
drm: de-duplicate drmModeGetProperty calls

A property can be attached to multiple objects.

df6091a3b43887cba894c5ca87d0595231000c1d authored over 3 years ago by Simon Ser <[email protected]>
rendervulkan: remake output images on resolution change

c0c005278c8f44975ed52283da8d998603a984ab authored over 3 years ago by Simon Ser <[email protected]>
drm: add drm_set_resolution

Allows to easily switch the output resolution.

590d7129aab49f27b5abd8c4ec2cddbe8cc82099 authored over 3 years ago by Simon Ser <[email protected]>
wlserver: make global static

Let's prevent other threads from directly accessing it. Helper
functions can be introduced as ne...

d67ce2865e8cc0f26963c51e7a2f731cde72a78c authored over 3 years ago by Simon Ser <[email protected]>
steamcompmgr: fix error path on execvp failure

d79530d13b01f79875e0f6201f18b076e2a402a6 authored over 3 years ago by Simon Ser <[email protected]>
sdlwindow: replace goto with bool flag

e678e0c0b2753c623ae1aa4cb3ac6c46fa67b140 authored over 3 years ago by Simon Ser <[email protected]>
rendervulkan: don't use global g_output.pScreenshotImage in BInit

7ff26668abce23ccbd3205cb1428987e3ed701b8 authored over 3 years ago by Simon Ser <[email protected]>
Log screenshot filename

82c89fdff965d90ebab6759a9abc5dcd0a60cc7a authored over 3 years ago by Simon Ser <[email protected]>
Check wlserver_init return value

f44db16b1bd0c05a1f261c8d5b0bddcdae4b8e06 authored over 3 years ago by Simon Ser <[email protected]>
Handle session switch events

Pause/resume our frame submission on VT switch.

Closes: https://github.com/Plagman/gamescope/is...

c33ad217e1e3b2c44c5b0babbbbe726c7a1fb770 authored over 3 years ago by Simon Ser <[email protected]>
drm: add more logging for prepare failures

cc309681e3423a10ac5f02ec71ea5814b23dce57 authored over 3 years ago by Simon Ser <[email protected]>
Don't die on EACCES

EACCES is returned by the kernel when we're VT-switched away.

e125a8291471e5efedb67c8c59dfaaf26cc22a09 authored over 3 years ago by Simon Ser <[email protected]>
Open KMS device with wlr_session

This allows proper integration with logind/seatd. When switching
VTs, gamescope now dies with EN...

43ba33425b674a064eefae2f64e6cd3cb985e820 authored over 3 years ago by Simon Ser <[email protected]>
wlserver: strip wl_ prefix from fields, remove event loop FD

ba79953e4e5c989ec03ff55edb9cbeb916682870 authored over 3 years ago by Simon Ser <[email protected]>
wlserver: add missing newline to error log

5f638dd780f961a469695597f93affca6b590100 authored over 3 years ago by Simon Ser <[email protected]>
Move steamcompmgr init out of wlserver

f33b040ba7866cc18f6d53c2776a8777a7cdb941 authored over 3 years ago by Simon Ser <[email protected]>
wlserver: wait for Xwayland to be ready in wlserver_init

We''l be able to move some init bits out of wlserver with this.

0f0489b455561727930d342fde8ba940dd85af63 authored over 3 years ago by Simon Ser <[email protected]>
drm: simplify add_{connector,crtc,plane}_property

25b036a2d60a1b7e7d23de484402c8564b00a908 authored over 3 years ago by Simon Ser <[email protected]>
drm: ignore page-flip events on other CRTCs

5c6ab5a730939026abc4b8463bf69b9511ef5019 authored over 3 years ago by Simon Ser <[email protected]>
drm: atomically disable CRTCs

fc31fcf359c48cae2dc703eb51cb7a0e72965bba authored over 3 years ago by Simon Ser <[email protected]>
drm: add missing newline in debug log message

d5d3efe30345926bc401f31d771c1acbd60d924d authored over 3 years ago by Simon Ser <[email protected]>
drm: print human-readable error string on commit failure

999673e56b7da0e43b762206c3ef54ac4c9ac5dd authored over 3 years ago by Simon Ser <[email protected]>