Steam Link

Steam Link

Steam Link version 1.4.2
The next version of Steam Link for macOS is now available.

You can download it from the App Store:
https://apps.apple.com/us/app/steam-link/id1246969117

Changes:
  • Added an experimental video codec, Pyrowave, which allows high bandwidth, low latency video streaming
  • Improved color clarity and brightness
  • Added a network health check while streaming
  • Fixed a crash at the start of the stream when Spotlight is enabled
< >
Showing 1-3 of 3 comments
Still crashed in MacOS 15.8 after entering the PIN:

1. Launch Steam Link.
2. Select the Steam Machine.
3. Enter the configured PIN.
4. Steam Link crashes immediately after PIN entry, before streaming starts.

Application
- App: Steam Link (com.valvesoftware.SteamLink17)
- Version/build: 1.4.2 (5000320)
- Architecture: ARM-64 (native)
- Crash time: 2026-10-24 19:42:43 +0200
- macOS: 15.8 (24H23)
- Mac model identifier: Macmini9,1

Crash summary
- Exception: EXC_BAD_ACCESS (SIGSEGV)
- Invalid address: 0x000000000000002e
- Termination: SIGSEGV / segmentation fault (signal 11)
- Crashed thread: Thread 0, MainThrd (main dispatch queue)
- Fault details: Data Abort; byte read translation fault

Crashed thread stack (most relevant frames)
0 QtCore 0x107f1f728
1 Steam Link 0x104a9cc2c
2 Steam Link 0x104798458
3 QtCore 0x107f1fbf0
4 QtCore 0x107f1fbf0
5 QtWidgets 0x106cc3e20
6 QtWidgets 0x106cc3d50
7 QtWidgets QAbstractButton::mouseReleaseEvent(QMouseEvent*) + 248
8 QtWidgets QWidget::event(QEvent*) + 112
9 Steam Link 0x104786624
10 QtWidgets QApplicationPrivate::notify_helper(QObject*, QEvent*) + 292
11 QtWidgets QApplication::notify(QObject*, QEvent*) + 6540
12 QtCore QCoreApplication::notifyInternal2(QObject*, QEvent*) + 196
13 QtWidgets QApplicationPrivate::sendMouseEvent(...) + 836
14 QtWidgets 0x106c4bbf4
15 QtWidgets 0x106c4a77c
16 QtWidgets QApplicationPrivate::notify_helper(QObject*, QEvent*) + 292
17 QtWidgets QApplication::notify(QObject*, QEvent*) + 652
18 QtCore QCoreApplication::notifyInternal2(QObject*, QEvent*) + 196
19 QtGui QGuiApplicationPrivate::processMouseEvent(...) + 2776
20 QtGui QWindowSystemInterface::sendWindowSystemEvents(...) + 244
21 libqcocoa.dylib 0x105ccd168
22 CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
23 CoreFoundation __CFRunLoopDoSource0 + 172
24 CoreFoundation __CFRunLoopDoSources0 + 232
25 CoreFoundation __CFRunLoopRun + 840
26 CoreFoundation CFRunLoopRunSpecific + 572
27 HIToolbox RunCurrentEventLoopInMode + 324
28 HIToolbox ReceiveNextEventCommon + 216
29 HIToolbox _BlockUntilNextEventMatchingListInModeWithFilter + 76
30 AppKit _DPSNextEvent + 684
31 AppKit -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 688
32 AppKit -[NSApplication run] + 480
33 libqcocoa.dylib 0x105ccbf04
34 QtCore QEventLoop::exec(...) + 528
35 QtCore QCoreApplication::exec() + 200
36 Steam Link 0x10478431c
37 dyld start + 6076

Relevant bundled framework versions
- QtCore, QtGui, QtWidgets, QtNetwork: 1.4.2 bundle versions
- SDL3: 1.4.2

Note: The stack trace shows a crash in the main UI/event-handling thread, around Qt mouse-release/button handling.
Steam Link for Mac 1.4.2 crashes after entering the PIN

Steam Link 1.4.2 (5000320), App Store, MacBook Pro M2, macOS 27.0 and 27.0.1.
After I pick a PC that asks for a PIN, enter it and click the button, the app crashes (SIGSEGV, EXC_BAD_ACCESS in the main thread). It worked before I updated to macOS 26.

Crash stack (top to bottom):
QMetaObject::activate
Steam Link 0x328c2c (signal emit)
Steam Link 0x24458 (function at 0x100024414, runs just before QWidget::hide())
QMetaObject::activate
QAbstractButton::mouseReleaseEvent

What I found with lldb (arm64 build):
hiding the dialog sends a Hide event to a QToolButton; the handler at 0x1000244f4 calls deleteLater() on that button (call at 0x100024550);
the button is then destroyed;
after that, the function at 0x100024414 is still called on the same button, emits a signal, and crashes in QMetaObject::activate.
The crashing pointer is the same one that was passed to deleteLater() and then destroyed.

With the "b QObject::deleteLater" at 0x100024550 replaced by "ret" (in a copy of the app), it no longer crashes.
This crash is fixed for the next update, thanks!
< >
Showing 1-3 of 3 comments
Per page: 1530 50