Skip to content

Commit d75fde0

Browse files
committed
feat(macos): use system audio tap on macOS 14+ and update related docs
1 parent fe2ef3f commit d75fde0

File tree

3 files changed

+10
-6
lines changed

3 files changed

+10
-6
lines changed

docs/getting_started.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -418,9 +418,10 @@ systemctl --user enable sunshine
418418
### macOS
419419
The first time you start Sunshine, you will be asked to grant access to screen recording and your microphone.
420420

421-
Sunshine can only access microphones on macOS due to system limitations. To stream system audio use
422-
[Soundflower](https://github.com/mattingalls/Soundflower) or
423-
[BlackHole](https://github.com/ExistentialAudio/BlackHole).
421+
Sunshine supports native system audio capture on macOS 14.0 (Sonoma) and newer via Apple’s Audio Tap API.
422+
To use it, simply leave the **Audio Sink** setting blank.
423+
424+
If you are running macOS 13 (Ventura) or earlier—or if you prefer to manage your own loopback device—you can still use [Soundflower](https://github.com/mattingalls/Soundflower) or [BlackHole](https://github.com/ExistentialAudio/BlackHole) and enter its device name in the **Audio Sink** field.
424425

425426
> [!NOTE]
426427
> Command Keys are not forwarded by Moonlight. Right Option-Key is mapped to CMD-Key.

packaging/sunshine.rb

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,8 +147,11 @@ def post_install
147147

148148
if OS.mac?
149149
opoo <<~EOS
150-
Sunshine can only access microphones on macOS due to system limitations.
151-
To stream system audio use "Soundflower" or "BlackHole".
150+
Sunshine now supports system audio capture natively on macOS 14.0 (Sonoma) and later,
151+
using the built-in Core Audio Tap API.
152+
153+
On macOS 13 or earlier, or if you prefer a virtual loopback device,
154+
you can still use "Soundflower" or "BlackHole" for system audio capture.
152155
153156
Gamepads are not currently supported on macOS.
154157
EOS

src_assets/common/assets/web/public/assets/locale/en.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@
126126
"apply_note": "Click 'Apply' to restart Sunshine and apply changes. This will terminate any running sessions.",
127127
"audio_sink": "Audio Sink",
128128
"audio_sink_desc_linux": "The name of the audio sink used for Audio Loopback. If you do not specify this variable, pulseaudio will select the default monitor device. You can find the name of the audio sink using either command:",
129-
"audio_sink_desc_macos": "The name of the audio sink used for Audio Loopback. Sunshine can only access microphones on macOS due to system limitations. To stream system audio using Soundflower or BlackHole.",
129+
"audio_sink_desc_macos": "The name of the audio sink used for Audio Loopback. Leave this blank to use the built-in system audio capture (requires macOS 14.0 or later, using the Core Audio Tap API). Alternatively, specify a virtual device such as Soundflower or BlackHole if you prefer or are running an older version of macOS.",
130130
"audio_sink_desc_windows": "Manually specify a specific audio device to capture. If unset, the device is chosen automatically. We strongly recommend leaving this field blank to use automatic device selection! If you have multiple audio devices with identical names, you can get the Device ID using the following command:",
131131
"audio_sink_placeholder_macos": "BlackHole 2ch",
132132
"audio_sink_placeholder_windows": "Speakers (High Definition Audio Device)",

0 commit comments

Comments
 (0)