Simon Ser
4b7890594a
pipewire: switch to logger
2021-08-31 17:06:49 +02:00
Simon Ser
ef64b60cec
Add gamescope-pipewire protocol
...
Can be tested with:
https://git.sr.ht/~emersion/gamescope-pipewire-demo
2021-08-31 17:06:49 +02:00
Simon Ser
59e8aa4abc
pipewire: add stream process handler
...
This allows detecting when a buffer becomes available if we've
run out of buffers.
2021-08-31 17:06:49 +02:00
Simon Ser
5f4e6fb980
pipewire: renegotiate stream params on resize
2021-08-31 17:06:49 +02:00
Simon Ser
d6510dd931
pipewire: pump frames out of steamcompmgr
2021-08-31 17:06:49 +02:00
Simon Ser
82ef0372d5
Introduce thread-safe take_screenshot
2021-08-31 17:06:49 +02:00
Simon Ser
501eff233e
Move screenshot saving out of vulkan_composite
...
We'll re-use the same logic for PipeWire.
2021-08-31 17:06:49 +02:00
Simon Ser
d2befe211a
pipewire: handle params changed
2021-08-31 17:06:49 +02:00
Simon Ser
bb3d5a4edb
pipewire: initialize stream
2021-08-31 17:06:49 +02:00
Simon Ser
e075ac065f
ci: add PipeWire to dependencies
2021-08-31 17:06:49 +02:00
Joshua Ashton
c41dd74ef5
Add integer scale option
2021-08-30 17:15:57 -07:00
Joshua Ashton
5422061746
Add a max scale parameter
2021-08-30 17:15:57 -07:00
Simon Ser
3b14c21afc
Simplify errorf_errno a bit
2021-08-25 18:16:44 +02:00
Simon Ser
c3079f7f6c
rendervulkan: use log scopes
2021-08-25 18:09:39 +02:00
Simon Ser
c876abfa75
drm: replace s_drm_log with logging scope
2021-08-25 17:33:16 +02:00
Simon Ser
7cee212085
drm: use logging module
2021-08-25 17:20:23 +02:00
Simon Ser
a54b5c9ee0
Introduce basic logging module
2021-08-25 17:20:11 +02:00
Simon Ser
cba189d389
drm: allow wildcard in connector priority list
2021-08-25 16:22:14 +02:00
Simon Ser
51cfc0df06
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 connector.
2021-08-25 16:22:14 +02:00
Simon Ser
8f733a4155
rendervulkan: add error logging to init_device
2021-08-22 18:00:10 +02:00
Simon Ser
7bdb4555ff
Re-create liftoff output on CRTC change
2021-08-18 09:28:00 +02:00
Simon Ser
5b776be6d2
Move the run global to main.hpp
...
It's used by both wlserver and steamcompmgr.
2021-08-10 12:05:49 +02:00
Simon Ser
24bea3406a
Make the run global atomic
...
It's written to from multiple threads.
2021-08-10 12:02:26 +02:00
Simon Ser
0708ab06d2
steamcompmgr: nudge when children have exited
...
Make sure to wake up steamcompmgr when all children are gone.
Otherwise the steamcompmgr thread will get stuck.
2021-08-10 12:00:48 +02:00
Simon Ser
a038e881c2
steamcompmgr: stop capturing pid in waitThread
2021-08-10 11:57:39 +02:00
Simon Ser
ae66c6037b
steamcompmgr: wait all child processes
...
Closes: https://github.com/Plagman/gamescope/issues/233
2021-08-10 11:56:45 +02:00
Jan Beich
82db27c6fc
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"
^~~~~~~~~~~~~~~~~~~
2021-08-07 15:38:17 +02:00
Simon Ser
5c358cef71
ci: build with clang
2021-08-05 10:35:40 +02:00
Simon Ser
ca75f213aa
ci: add GitHub action
2021-08-05 10:32:13 +02:00
Simon Ser
f1a340b029
drm: DisplayPort → DP
2021-08-03 15:49:02 +02:00
Simon Ser
4bc7b4952b
Remove unnecessary global variables
2021-08-03 15:46:24 +02:00
Simon Ser
538610154c
wlserver: make more variables static
2021-08-03 11:33:12 +02:00
Simon Ser
482f1f3b0b
wlserver: stop using headless backend for keyboard
...
The headless backend forces a wlroots renderer to be initialized.
Stop using it, so that it's easier to get rid of the headless
backend altogether.
2021-08-03 11:04:00 +02:00
Simon Ser
ee96a669ef
wlserver: check wlr_output_commit return value
2021-08-03 10:42:54 +02:00
Simon Ser
2597c25ec6
readme: mention that Intel is supported
2021-08-03 10:37:27 +02:00
Simon Ser
0034d492d8
wlserver: create wl_output before starting Xwayland
...
Apparently there's a race that makes Steam unhappy and fail with:
libGL error: failed to create drawable
Closes: https://github.com/Plagman/gamescope/issues/228
2021-08-02 18:16:09 +02:00
Simon Ser
6e1d4c2a7e
drm: switch connector on hotplug
...
Refresh connector status and mode list on hotplug event. Then
execute the connector selection logic again to see if the
preferred connector has changed.
References: https://github.com/Plagman/gamescope/issues/211
2021-08-02 12:35:49 +02:00
Simon Ser
15b4eb04ec
Remove flippable bit from g_emptyTex
...
This causes a KMS import failure on Intel. A 1x1 buffer never seems
to be flippable there.
Closes: https://github.com/Plagman/gamescope/issues/217
2021-08-02 11:09:40 +02:00
Simon Ser
bedef21474
rendervulkan: add err log for vkAllocateMemory failure
2021-08-02 10:24:11 +02:00
Simon Ser
5f31d7ed79
rendervulkan: add vulkan prefix to log message
2021-08-02 10:22:22 +02:00
Simon Ser
694f6b14e8
rendervulkan: check DRM and Vulkan devices match
...
References: https://github.com/Plagman/gamescope/issues/158
2021-08-02 10:20:20 +02:00
Simon Ser
4dac8c0c1f
rendervulkan: make init_device() return a bool
2021-08-02 10:06:19 +02:00
Simon Ser
d2bca1c440
rendervulkan: make vulkan_init() return a bool
2021-08-02 10:05:03 +02:00
Simon Ser
fa779c0ed2
rendervulkan: log physical device name
2021-08-02 09:47:15 +02:00
Simon Ser
802d86c4bc
drm: check return value of liftoff_device_register_all_planes
2021-07-30 16:28:50 +02:00
Simon Ser
82897e1fbf
drm: extract connector setup into separate function
...
It'll get re-used when handling hotplug.
2021-07-28 20:57:56 +02:00
Simon Ser
a314c3f0ba
drm: plane -> primary
2021-07-28 19:27:51 +02:00
Simon Ser
a7ab8e7a1a
drm: plane_formats -> primary_formats
2021-07-28 19:26:31 +02:00
Simon Ser
94706f0f0e
drm: get_matching_mode -> find_mode
...
For consistency with find_connector.
2021-07-28 19:15:36 +02:00
Simon Ser
6c24e829ae
drm: fallback to any connector if none matches
2021-07-28 19:07:07 +02:00