원문 캡처 · github.com
원문 캡처 · github.com

Tizen Steam Link는 Tizen 5.5 이상을 탑재한 삼성 TV와 스마트 모니터에서 PC나 Steam Deck의 게임을 스트리밍하는 비공식 앱이다. Valve의 Steam Link 앱과 같은 Steam Remote Play 프로토콜을 사용하며, Valve와 제휴하거나 Valve의 승인을 받은 프로젝트는 아니다.

앱은 네트워크에서 Steam을 실행 중인 컴퓨터를 찾아 PIN으로 연결한다. 영상은 TV의 하드웨어 디코더로 재생하고, TV에 연결한 컨트롤러·키보드·마우스 입력은 컴퓨터로 전달한다.

필요한 기기와 설치

Tizen 5.5 이상을 실행하는 삼성 TV 또는 스마트 모니터, Steam에 로그인한 상태로 실행 중이고 Remote Play가 켜진 컴퓨터가 필요하다. TV와 컴퓨터는 같은 네트워크에 연결해야 한다. 앱을 설치할 별도의 컴퓨터에는 Apps2Samsung이 필요하며, 게임을 하려면 컨트롤러가 있어야 한다. TV 리모컨은 메뉴 조작에 쓸 수 있다.

설치 세부 절차와 설치 실패 시 대처법은 설치 안내에 나와 있다.

  • 최신 릴리스에서 TizenSteamLink-<version>.wgt 파일을 내려받는다.
  • TV에서 Apps를 열고 리모컨으로 1 2 3 4 5를 입력해 개발자 모드를 켠다. 설치에 사용할 컴퓨터의 IP 주소를 입력한 뒤, TV 전원 버튼을 길게 눌러 재시작한다.
  • Apps2Samsung에서 “Custom WGT File”을 고르고 .wgt 파일을 선택해 설치한다. Tizen 7 이상에서는 안내가 나오면 삼성 계정으로 로그인해야 Apps2Samsung이 해당 TV용으로 앱에 서명할 수 있다.
  • Steam을 실행하는 컴퓨터에 방화벽이 있다면 TV의 접속을 허용한다. UDP 포트 27031~27036과 TCP 포트 27036, 27037을 열어야 한다.
  • TV의 Apps에서 Tizen Steam Link를 실행한다.

연결과 조작

앱에서 컴퓨터를 선택하면 TV에 네 자리 PIN이 표시되고, 컴퓨터의 Steam에는 PIN을 입력하라는 대화상자가 열린다. 컴퓨터에서 PIN을 입력한 뒤 TV에서 해당 컴퓨터를 다시 선택하면 스트리밍이 시작된다. 스트림은 컨트롤러와 TV 사용에 맞춰 설계된 Steam의 Big Picture 모드로 열린다.

동작리모컨컨트롤러
메뉴 이동화살표 키방향 패드 또는 왼쪽 스틱
선택OKA
뒤로 가기BackB
선택한 컴퓨터 연결 정보 삭제Red (A)X
스트림 메뉴 열기Back 길게 누르기LB + RB + View + Menu
스트리밍 통계 표시 또는 숨기기스트리밍 중 Red (A)스트림 메뉴에서 선택
컴퓨터에 Escape 보내기Back 짧게 누르기
앱 로그 보기Blue (D)

스트리밍 중에는 그 밖의 모든 버튼 입력이 게임으로 전달된다. TV에 연결한 키보드와 마우스도 컴퓨터에 연결한 것처럼 작동한다. 마우스를 사용하려면 화면을 클릭해 마우스 입력을 캡처해야 한다. TV가 컨트롤러를 처음 인식하면 컨트롤러가 짧게 진동한다.

스트리밍 중 Back을 길게 누르면 메뉴가 열린다. 메뉴가 떠 있는 동안에는 리모컨과 컨트롤러 입력이 게임이 아니라 메뉴를 조작한다. “Type text”를 선택하면 TV 키보드가 열리고, 입력한 글자가 컴퓨터로 전달된다. Big Picture에 내장된 Steam 화면 키보드도 사용할 수 있다.

설정과 연결 문제

설정 변경은 다음 스트림부터 적용된다.

설정선택 항목기본값참고
최대 해상도720p, 1080p, 1440p, 4K1080p4K를 사용하려면 HEVC와 50 Mbit/s 이상의 대역폭 제한을 설정한다.
프레임 속도60 또는 120 fps60Samsung S90C에서 앱은 120으로 설정해도 초당 약 60프레임을 표시했다.
비디오 코덱H.264, HEVCH.264컴퓨터가 하드웨어 인코딩을 지원할 때만 Steam이 HEVC를 보낸다.
화질Automatic, Fast, Balanced, BeautifulBalancedSteam 자체의 화질 설정이다.
대역폭 제한Automatic, 5~100 Mbit/s20 Mbit/s제한을 낮추면 Wi-Fi에서 손실될 수 있는 패킷 수가 줄어든다.
오디오On, offOn
시작 모드Big Picture, DesktopBig Picture
스트리밍 통계 표시Shown, hiddenHidden스트리밍 중 리모컨의 Red 키로 바꾸는 설정과 같다.

프로젝트 설명에 따르면 Wi-Fi에서는 때때로 패킷이 손실될 수 있다. Steam은 영상과 함께 오류 정정 데이터를 보내며, 앱은 이를 이용해 손실된 패킷을 복구한다. 따라서 패킷이 한두 개 손실돼도 프레임이 사라지지 않도록 한다. 오디오 손실은 끊김 한 번당 최대 80ms까지 채워 짧은 장애가 소리를 끊지 않게 한다.

컴퓨터가 10초 동안 응답하지 않으면, 예를 들어 Wi-Fi가 끊기거나 컴퓨터가 절전 모드에 들어간 경우 앱은 자동으로 다시 연결을 시도한다. 컴퓨터가 15초 안에 응답하면 연속으로 최대 두 번까지 재연결한다. 컴퓨터가 직접 종료한 스트림은 재연결하지 않는다. 컴퓨터가 계속 응답하는데 영상과 소리가 모두 15초 동안 멈추면 앱은 스트림을 종료하고 같은 방식으로 다시 연결한다.

오프라인 컴퓨터가 온라인 상태일 때 네트워크 주소를 보고했다면 앱에 “Wake”가 표시된다. 이를 선택하면 Wake-on-LAN 패킷을 보낸다. Steam Deck의 Steam은 해당 주소를 보고하지만, Linux 데스크톱의 Steam은 보고하지 않을 수 있다.

Steam Deck을 이용한 Wi-Fi 테스트에서는 H.264 스트리밍이 계속 이어진 반면 HEVC는 멈췄다. 프로젝트는 Wi-Fi에서 H.264가 더 안전한 선택이라고 설명한다.

컴퓨터가 목록에 나타나지 않으면 Steam이 실행 중인지, 방화벽이 TV의 접속을 허용하는지 확인할 수 있다. “Other computer”를 선택해 IP 주소로 컴퓨터를 직접 추가하는 방법도 있다. “This device is not paired with the host”라는 메시지가 나오면 Steam이 TV 연결 정보를 잊은 것이므로 컴퓨터를 선택해 다시 페어링한다.

Linux 컴퓨터에서 소리만 나고 화면이 검게 표시되면 Steam을 일반적인 방식으로 실행했을 때 Wayland 데스크톱(sway 등)을 캡처하지 못한 경우일 수 있다. Steam 로그는 steam -pipewire로 실행하는 방법을 제안한다.

TV 업데이트 뒤 앱이 실행되지 않으면 업데이트로 개발자 모드가 꺼졌을 수 있다. 개발자 모드를 다시 켜고 설치 안내에 따라 앱을 재설치한다. 그 밖의 문제가 생기면 Blue 키를 눌러 앱 로그를 확인할 수 있다.

문서와 라이선스

작동 방식 안내는 스트리밍과 패킷 손실 대응을 설명한다. 개발 안내에는 빌드·테스트·릴리스, 데스크톱 클라이언트 tsl-cli, TV에서 디버깅하는 방법이 담겨 있다.

프로젝트는 GPL-3.0을 따르며, LICENSE 파일에서 확인할 수 있다. ihslib은 LGPL-3.0, mbedTLS는 Apache-2.0, Opus와 protobuf-c는 BSD 라이선스다. web/fonts의 Figtree 글꼴은 SIL Open Font License를 따르며, 라이선스는 web/fonts/OFL.txt에 있다.