75 Commits

Author SHA1 Message Date
Conn O'Griofa
2d969c2ccc platform/windows: change dwmflush default, add autodetection
On each re/init, query the active monitor refresh rate via
DwmGetCompositionTimingInfo. If the client requested framerate exceeds
the host monitor refresh, automatically disable DwmFlush.

This avoids the problem by which DwmFlush would constrain the client
FPS if the host monitor runs at a lower refresh rate, thus allowing
the feature to be enabled by default.

If there are other issues caused by DwmFlush for certain systems,
it can still be disabled via configuration.
2022-06-15 22:23:09 +01:00
Conn O'Griofa
211b25848f platform/windows: add optional DwmFlush() call to improve Windows capture
Invoke DwmFlush() before acquiring the next frame to alleviate visual stutter
during mouse movement at the cost of constraining the capture rate to the host's
monitor refresh.

Disabled by default; enable via "dwmflush" boolean configuration parameter.
2022-06-15 22:23:09 +01:00
Conn O'Griofa
0c827690ec config: move VideoToolbox variables into correct video_t struct location 2022-06-15 22:23:09 +01:00
ReenigneArcher
68ba1db24a Refactor assets and config directory 2022-05-11 23:10:46 -04:00
Anselm Busse
2b450839a1 Initial support for MacOS
This commit introduces initial support for MacOS as third major host platform.
It relies on the VideoToolbox framework for audio and video processing, which
enables hardware accelerated processing of the stream on most platforms.
Audio capturing requires third party tools as MacOS does not offer the
recording of the audio output like the other platforms do. The commit enables
most features offered by Sunshine for MacOS with the big exception of gamepad
support. The patch sets was tested by a few volunteers, which allowed to remove
some of the early bugs. However, several bugs especially regarding corner
cases have probably not surfaced yet.

Besides instructions how to build from source, the commit also adds a Portfile
that allows a more easy installation. After available on the release branch,
a pull request for the Portfile in the MacPorts project is planned.

Signed-off-by: Anselm Busse <anselm.busse@outlook.com>
2022-02-26 10:18:00 +01:00
loki-47-6F-64
9f14b2278d Fix rate control for hevc with amdvce 2021-09-27 19:12:42 +02:00
loki
62db9ae01a fix reading config option for log level 2021-08-07 12:12:18 +02:00
loki
f08b6abc96 Make keybindings configurable 2021-08-03 15:24:04 +02:00
loki
9a5d23ebde Fix setting default SUNSHINE_DEFAULT_DIR 2021-07-27 18:55:41 +02:00
loki-47-6F-64
da3ed5ff79
Merge pull request #142 from JacekJagosz/master
Make Sunshine on Linux stateless
2021-07-27 16:01:15 +02:00
Jacek Jagosz
2e8b462fe5 Not create unnecessary variables and make fs use strings directly instead of converting them 2021-07-27 15:58:01 +02:00
Jacek Jagosz
c39f2b0c1f If config files don't exist in user specified directory copy files from default, not override user choice 2021-07-25 20:39:45 +02:00
Jacek Jagosz
c58f95b79e Try making sunshine on Linux stateless 2021-07-25 14:02:58 +02:00
Loki
ab70a056fc Add CQP for older intel iGPU's 2021-07-24 19:33:23 +01:00
loki
4b043e31fe Support ds4 controller on Windows 2021-07-18 15:32:26 +02:00
Cameron Gutman
388e4696ff Increase default ping timeout to 10 seconds
During periods of poor connectivity, the ping timeout of 2 seconds
can easily be exceeded, especially with ENet's RTO backoff active.

This causes an unnecessary disconnection when the connection would
have recovered on its own in a few seconds. Increasing the timeout
to 10 seconds should prevent spurious disconnections in most cases.
2021-07-09 23:45:59 -05:00
Cameron Gutman
169a53b568 Increase default FEC percentage to match GFE
Also increase the range to the maximum of 255
2021-07-03 23:37:43 -05:00
loki
beb6bdfadb Allow end user to configure what ports to listen on 2021-06-30 15:25:08 +02:00
loki
8bf4ade9d8 Disable UPnP by default 2021-06-30 12:22:37 +02:00
loki
0034438c9e fixed incorrect colors when scaling with software 2021-06-20 15:58:13 +02:00
loki
9e7ecf8db2 Allow replacement of hevc headers 2021-06-20 15:29:51 +02:00
loki
02360f7aef fix build windows 2021-06-16 14:34:05 +02:00
loki
c21301a423 fix storing log level through web manager 2021-06-16 11:38:26 +02:00
loki
64a6c1419b store state in .config/sunshine on Linux 2021-06-16 11:26:54 +02:00
loki
1afd1b7c94 generate user credentials based on command line iuput 2021-06-09 21:55:13 +02:00
loki
17d3fcf0d0 fix adding and editing apps json 2021-06-09 19:12:00 +02:00
Elia Zammuto
ffb80c5fc3 Fix Format 2021-05-29 22:29:10 +02:00
Elia Zammuto
4835366a0c Fixed Build 2021-05-29 22:26:17 +02:00
Elia Zammuto
c09855f703 Merge branch 'loki-47-6F-64-master' into web-ui 2021-05-29 22:07:53 +02:00
Elia Zammuto
5761b05f3b Merge branch 'master' of https://github.com/loki-47-6F-64/sunshine into loki-47-6F-64-master 2021-05-29 22:06:28 +02:00
Elia Zammuto
0ea6363172 Username/Password Authentication for UI 2021-05-28 22:49:27 +02:00
loki
113e7a52d4 advertise display modes 2021-05-26 17:34:25 +02:00
loki
ba07fd510e Upmix/Downmix audio 2021-05-22 19:51:01 +02:00
loki
3d8a99f541 clang-format 2021-05-17 21:21:57 +02:00
Elia Zammuto
03236a50e5 UI for Application Config 2021-05-16 20:06:06 +02:00
loki
377b086882 Fix amd_rc config options 2021-05-09 16:37:40 +02:00
loki
488d8e5fc2 force merge 2021-04-24 23:46:04 +02:00
loki
0049b36471 Use existing config option for selecting monitor 2021-04-24 23:41:56 +02:00
loki
66b4b70023 merge with notentered 2021-04-24 17:12:10 +02:00
kiralycraft
fe3784454a Fixed unspecified monitor streaming the whole X 2021-02-28 17:56:38 +02:00
Garrett
020e2069cb Add amd decoder support 2021-01-28 18:38:11 -05:00
Zlatko Zahariev
83dd07469e Initial elevated windows work 2021-01-15 02:07:49 -05:00
loki
8d735e5611 Support keyboard key repeats 2020-04-26 00:23:34 +02:00
loki
c7a72553c4 Configure settings nvenc 2020-04-14 00:15:24 +03:00
loki
55705af922 Prepare for hardware encoders 2020-03-25 10:51:32 +01:00
loki
a9423574fe Improve clearity instructions 2020-03-21 17:09:33 +01:00
loki
ad87463784 Add flags for testing pairing 2020-03-19 19:59:27 +01:00
loki
5502df5512 Attempt fix receiving PING 2020-03-16 20:01:30 +01:00
loki
87779b0ec8 Additional debug messages 2020-03-16 19:15:50 +01:00
loki
1362abc70d Fix default ping_timeout config value 2020-03-01 14:06:47 +01:00