LizardByte / Sunshine

Self-hosted game stream host for Moonlight.
http://app.lizardbyte.dev/Sunshine/
GNU General Public License v3.0
20.12k stars 965 forks source link

Broken streaming (freeze/looping) on Mac (14.4) and Sunshine (v0.22.2) #2347

Closed wbrione closed 6 months ago

wbrione commented 8 months ago

Is there an existing issue for this?

Is your issue described in the documentation?

Is your issue present in the nightly release?

Describe the Bug

As already registered by this user on Reddit... I have the same problem...

https://www.reddit.com/r/MoonlightStreaming/comments/197g7pu/sunshine_does_it_only_support_latest_macos_v20/

"...when I connect to it it will show 1 frame and glitch out so that it doesn't show changes, it will loop back and forth between a few frames so doesn't actually show me what's really happening on the screen..."

Expected Behavior

Well... Just like on other platforms, I connect to the "desktop" of the host where Sunshine is running, run the applications, enjoying the graphical acceleration available.

Additional Context

Hardware Overview:

  Model Name: iMac Pro
  Model Identifier: iMacPro1,1
  Processor Name: Quad-Core Intel Xeon
  Processor Speed: 3.7 GHz
  Number of Processors: 1
  Total Number of Cores: 4
  L2 Cache (per Core): 4 MB
  L3 Cache: 16 MB
  Memory: 4 GB
  System Firmware Version: 2020.41.1.0.0
  OS Loader Version: 580~1678

Graphics/Displays:

AMD Radeon RX 6600:

  Chipset Model: AMD Radeon RX 6600
  Type: GPU
  Bus: PCIe
  PCIe Lane Width: x16
  VRAM (Total): 8 GB
  Vendor: AMD (0x1002)
  Device ID: 0x73ff
  Revision ID: 0x00c7
  ROM Revision: 113-2447LHM-WD1
  Metal Support: Metal 3
  Displays:
    D2342P:
      Resolution: 1920 x 1080 (1080p FHD - Full High Definition)
      UI Looks like: 1920 x 1080 @ 60.00Hz
      Framebuffer Depth: 30-Bit Color (ARGB2101010)
      Display Serial Number: SerialNumber
      Main Display: Yes
      Mirror: Off
      Online: Yes
      Rotation: Supported
      Display Asleep: Yes

Host Operating System

macOS

Operating System Version

14.4

Architecture

64 bit

Sunshine commit or version

0.22.2

Package

macOS - Portfile

GPU Type

AMD

GPU Model

RX6600

GPU Driver/Mesa Version

n/a

Capture Method (Linux Only)

No response

Config

sunshine_name = VM-Sonoma
controller = disabled
audio_sink = BlackHole 2ch
min_threads = 2

Apps

{
  "env": {
    "PATH": "$(PATH):$(HOME)/.local/bin"
  },
  "apps": [
    {
      "name": "Desktop",
      "image-path": "desktop.png"
    },
    {
      "name": "Steam Big Picture",
      "detached": [
        "open steam://open/bigpicture"
      ],
      "image-path": "steam.png"
    }
  ]
}

Relevant log output

[2024:03:31:21:10:33]: Info: Found H.264 encoder: libx264 [software]
[2024:03:31:21:10:33]: Info: Configuration UI available at [https://localhost:47990]
[2024:03:31:21:10:33]: Error: Failed to create client: Memory exhausted
[2024:03:31:21:10:41]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
[2024:03:31:21:10:41]: Info: Trying encoder [videotoolbox]
[2024:03:31:21:10:41]: Info: SDR color coding [Rec. 601]
[2024:03:31:21:10:41]: Info: Color depth: 8-bit
[2024:03:31:21:10:41]: Info: Color range: [JPEG]
[2024:03:31:21:10:41]: Error: [h264_videotoolbox @ 0x7facde112a40] Error: cannot create compression session: -12902
[2024:03:31:21:10:41]: Error: [h264_videotoolbox @ 0x7facde112a40] Try -allow_sw 1. The hardware encoder may be busy, or not supported.
[2024:03:31:21:10:41]: Error: Could not open codec [h264_videotoolbox]: Generic error in an external library
[2024:03:31:21:10:41]: Info: Encoder [videotoolbox] failed
[2024:03:31:21:10:41]: Info: Trying encoder [software]
[2024:03:31:21:10:41]: Info: SDR color coding [Rec. 601]
[2024:03:31:21:10:41]: Info: Color depth: 8-bit
[2024:03:31:21:10:41]: Info: Color range: [JPEG]
[2024:03:31:21:10:41]: Info: [libx264 @ 0x7facde00ee00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[2024:03:31:21:10:41]: Info: [libx264 @ 0x7facde00ee00] profile High, level 4.2, 4:2:0, 8-bit
[2024:03:31:21:10:41]: Info: [libx264 @ 0x7facde00ee00] frame I:1     Avg QP:51.00  size:  1941
[2024:03:31:21:10:41]: Info: [libx264 @ 0x7facde00ee00] mb I  I16..4: 97.8%  2.2%  0.0%
[2024:03:31:21:10:41]: Info: [libx264 @ 0x7facde00ee00] 8x8 transform intra:2.2%
[2024:03:31:21:10:41]: Info: [libx264 @ 0x7facde00ee00] coded y,uvDC,uvAC intra: 0.3% 0.7% 0.0%
[2024:03:31:21:10:41]: Info: [libx264 @ 0x7facde00ee00] i16 v,h,dc,p: 86% 12%  2%  0%
[2024:03:31:21:10:41]: Info: [libx264 @ 0x7facde00ee00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu:  5% 11% 28% 25%  6%  4%  7%  2% 13%
[2024:03:31:21:10:41]: Info: [libx264 @ 0x7facde00ee00] i8c dc,h,v,p: 100%  0%  0%  0%
[2024:03:31:21:10:41]: Info: [libx264 @ 0x7facde00ee00] kb/s:931.68
[2024:03:31:21:10:41]: Info:
[2024:03:31:21:10:41]: Info: // Ignore any errors mentioned above, they are not relevant. //
[2024:03:31:21:10:41]: Info:
[2024:03:31:21:10:41]: Info: Found H.264 encoder: libx264 [software]
[2024:03:31:21:10:41]: Info: Executing [Desktop]
[2024:03:31:21:10:41]: Info: CLIENT CONNECTED
[2024:03:31:21:10:41]: Info: SDR color coding [Rec. 601]
[2024:03:31:21:10:41]: Info: Color depth: 8-bit
[2024:03:31:21:10:41]: Info: Color range: [MPEG]
[2024:03:31:21:10:41]: Info: [libx264 @ 0x7facdd70a340] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[2024:03:31:21:10:41]: Info: [libx264 @ 0x7facdd70a340] profile High, level 4.2, 4:2:0, 8-bit
[2024:03:31:21:10:42]: Warning: audio_control_t::set_sink() unimplemented: BlackHole 2ch
[2024:03:31:21:10:42]: Error: Failed to setup microphone.
[2024:03:31:21:10:42]: Error: Unable to initialize audio capture. The stream will not have audio.
[2024:03:31:21:10:52]: Info: CLIENT DISCONNECTED
[2024:03:31:21:10:52]: Warning: audio_control_t::set_sink() unimplemented: BlackHole 2ch
[2024:03:31:21:10:52]: Info: [libx264 @ 0x7facdd70a340] frame I:3     Avg QP:30.02  size: 57577
[2024:03:31:21:10:52]: Info: [libx264 @ 0x7facdd70a340] frame P:449   Avg QP:11.93  size: 48262
[2024:03:31:21:10:52]: Info: [libx264 @ 0x7facdd70a340] mb I  I16..4: 44.0% 45.0% 11.1%
[2024:03:31:21:10:52]: Info: [libx264 @ 0x7facdd70a340] mb P  I16..4:  2.0% 11.9% 10.2%  P16..4: 21.1%  0.0%  0.0%  0.0%  0.0%    skip:54.8%
[2024:03:31:21:10:52]: Info: [libx264 @ 0x7facdd70a340] 8x8 transform intra:49.4% inter:28.5%
[2024:03:31:21:10:52]: Info: [libx264 @ 0x7facdd70a340] coded y,uvDC,uvAC intra: 72.3% 76.2% 49.5% inter: 13.9% 13.6% 4.5%
[2024:03:31:21:10:52]: Info: [libx264 @ 0x7facdd70a340] i16 v,h,dc,p: 41% 34%  5% 20%
[2024:03:31:21:10:52]: Info: [libx264 @ 0x7facdd70a340] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 22%  8%  7%  9%  8% 11%  7% 10%
[2024:03:31:21:10:52]: Info: [libx264 @ 0x7facdd70a340] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 20%  8%  9%  8%  8%  7%  8%  8%
[2024:03:31:21:10:52]: Info: [libx264 @ 0x7facdd70a340] i8c dc,h,v,p: 31% 26% 24% 19%
[2024:03:31:21:10:52]: Info: [libx264 @ 0x7facdd70a340] Weighted P-Frames: Y:0.0% UV:0.0%
[2024:03:31:21:10:52]: Info: [libx264 @ 0x7facdd70a340] kb/s:23195.29
felix303 commented 7 months ago

Exactly same problem (freeze / looping) with slightly different specs. OS 14.3, sunshine v0.23

sunshine [encoder] -- [software] [av1_mode] -- [1] [hevc_mode] -- [1] [2024:04:13:00:39:33]: Info: Sunshine version: 0.23.0 [2024:04:13:00:39:33]: Info: Trying encoder [software] [2024:04:13:00:39:33]: Info: SDR color coding [Rec. 601] [2024:04:13:00:39:33]: Info: Color depth: 8-bit [2024:04:13:00:39:33]: Info: Color range: [JPEG] [2024:04:13:00:39:33]: Info: [libx264 @ 0x7fac7b706340] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [2024:04:13:00:39:33]: Info: [libx264 @ 0x7fac7b706340] profile High, level 4.2, 4:2:0, 8-bit 2024:04:13:00:39:34: Info: [libx264 @ 0x7fac7b706340] frame I:1 Avg QP:51.00 size: 1727 2024:04:13:00:39:34: Info: [libx264 @ 0x7fac7b706340] mb I I16..4: 97.8% 2.2% 0.0% 2024:04:13:00:39:34: Info: [libx264 @ 0x7fac7b706340] 8x8 transform intra:2.2% 2024:04:13:00:39:34: Info: [libx264 @ 0x7fac7b706340] coded y,uvDC,uvAC intra: 0.3% 0.1% 0.0% 2024:04:13:00:39:34: Info: [libx264 @ 0x7fac7b706340] i16 v,h,dc,p: 92% 6% 3% 0% 2024:04:13:00:39:34: Info: [libx264 @ 0x7fac7b706340] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 9% 11% 33% 20% 2% 3% 5% 3% 15% 2024:04:13:00:39:34: Info: [libx264 @ 0x7fac7b706340] i8c dc,h,v,p: 100% 0% 0% 0% 2024:04:13:00:39:34: Info: [libx264 @ 0x7fac7b706340] kb/s:828.96 2024:04:13:00:39:34: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //

2024:04:13:00:39:34: Info: // Ignore any errors mentioned above, they are not relevant. //

2024:04:13:00:39:34: Info: Found H.264 encoder: libx264 software: Info: Configuration UI available at [https://localhost:47990] dbus[766]: Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded! 2024:04:13:00:39:34: Error: Failed to create client: Memory exhausted ^C[2024:04:13:00:39:54]: Info: Interrupt handler called