Skip to content

Conversation

@abusse
Copy link
Contributor

@abusse abusse commented Feb 24, 2022

Description

This patch set 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.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated the documentation blocks for new or existing components

This commit modifies the clang-format configuration and workflow to support ObjectiveC and ObjectiveC++ code.

Signed-off-by: Anselm Busse <[email protected]>
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 <[email protected]>
@ReenigneArcher
Copy link
Member

@TheElixZammuto you good with this one? Okay to make a release after this? v0.13.0 or v0.12.1?

@TheElixZammuto
Copy link
Member

I don't have any macOS Machine, so I cannot test this. If someone has already tested this and can confirm it does work I'm more than happy to merge this. I guess 0.13.0 is the best option at the moment

@ReenigneArcher
Copy link
Member

I don't have any macOS Machine, so I cannot test this. If someone has already tested this and can confirm it does work I'm more than happy to merge this. I guess 0.13.0 is the best option at the moment

Okay, sounds good. I'm more worried about anything breaking on Win/Linux. I'll give the windows build a test. Going to be a little bit before I can test things on linux side (been having trouble getting it to work in a vm).

I believe there's been quite a few testers of the original mac branch, here's the original discussion about it as well (loki-47-6F-64/sunshine#127).

@ReenigneArcher ReenigneArcher merged commit 68f35f6 into LizardByte:nightly Feb 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants