Ubuntu에서 게임 스트리밍 클라이언트 세팅하기: Steam Link·Moonlight 활용법
Ubuntu에서 게임을 한다고 하면 보통 “프로톤(Proton)으로 스팀 게임 돌리는 거야?”라는 이야기가 많이 나옵니다. 실제로 요즘엔 Proton 덕분에 리눅스에서도 윈도우 게임이 많이 돌아가는 편이고, 스팀 하드웨어 설문에서도 리눅스 비중이 조금씩 올라가는 중입니다.:contentReference[oaicite:0]{index=0} 하지만 모든 게임을 리눅스에 직접 까는 대신, Windows 게이밍 PC에서 돌리는 화면을 Ubuntu로 스트리밍해서 즐기는 방법도 있습니다. 저는 집에서 “윈도우 고사양 PC + Ubuntu 노트북” 조합으로 이 방식을 꽤 오래 써왔고, 그때 기준으로 정리해 보겠습니다.
Ubuntu를 ‘클라이언트’로 쓰는 구조 이해하기
이 글에서 다루는 구조는 간단히 말하면 다음과 같습니다.
- 호스트(Host): 실제로 게임이 실행되는 메인 PC (보통 Windows, 고사양 GPU)
- 클라이언트(Client): 화면을 받아서 보여주는 Ubuntu PC·노트북
호스트 PC에서는 게임이 평소처럼 돌아가고, Ubuntu 쪽에서는 입력(키보드, 마우스, 패드)을 네트워크로 보내고, 영상·소리를 스트리밍으로 받아오는 구조입니다. Valve의 Steam Link는 “Steam이 실행 중인 PC → 다른 기기”로 화면을 보내는 공식 솔루션이고, Moonlight는 원래 NVIDIA GameStream 프로토콜을 쓰는 오픈소스 클라이언트입니다. 현재는 Sunshine이라는 호스트가 Moonlight용으로 많이 쓰이고 있습니다.:contentReference[oaicite:1]{index=1}
네트워크 상황에 따라 체감이 많이 달라지기 때문에, 아래 내용은 모두 집 안 유선 또는 안정적인 5GHz 와이파이 환경을 전제로 한 경험에 가깝습니다. 공식 문서에서도 가능하면 유선 연결을 권장합니다.:contentReference[oaicite:2]{index=2}
Steam Link: Ubuntu에서 제일 먼저 시도해 볼 카드
Steam Link는 원래 전용 하드웨어 박스로 시작했다가, 지금은 소프트웨어 클라이언트로 여러 플랫폼에 제공되고 있습니다. 데스크톱 리눅스용 클라이언트도 64비트 x86 시스템을 대상으로 제공되고 있고, Flatpak/Flathub를 통해 설치하는 방식이 일반적입니다.:contentReference[oaicite:3]{index=3} 실제로 저는 Ubuntu에서 Steam Link를 쓸 때 대부분 Flathub 버전을 사용했습니다.
1. 호스트 PC 쪽 준비 (Windows 기준)
호스트는 보통 Windows 게이밍 PC라고 가정하겠습니다. 제가 매번 했던 순서는 이렇습니다.
- Windows PC에 스팀 클라이언트 설치 후 로그인
- 스팀 설정에서 Remote Play(원격 플레이) 기능 활성화:contentReference[oaicite:4]{index=4}
- 테스트 삼아 그 PC에서 게임이 잘 실행되는지 먼저 확인
사실 이 단계는 특별한 튜닝이 필요하다기보다는, “호스트 PC에서 스팀과 게임이 정상적으로 돌아가는지”를 확인하는 체크에 가깝습니다. 이게 불안정하면 스트리밍도 같이 흔들립니다.
2. Ubuntu에 Steam Link 설치
Ubuntu 쪽에서는 보통 다음 흐름으로 진행했습니다.
- Flatpak이 안 깔려 있다면 Flatpak/Flathub 기본 설정
- Flathub에서 Steam Link 앱 설치 (앱 ID는
com.valvesoftware.SteamLink):contentReference[oaicite:5]{index=5} - 설치 후 애플리케이션 메뉴에서 Steam Link 실행
처음 실행하면 로컬 네트워크에서 스팀이 켜져 있는 PC를 자동으로 찾습니다. 같은 공유기(같은 서브넷)에 묶여 있다면, 대개 몇 초 안에 호스트 PC가 목록에 뜨고, 페어링 절차(핀 입력 등)를 한 번 거친 뒤부터는 비교적 자연스럽게 연결됐습니다.
3. 입력 장치와 해상도 설정
Steam Link는 컨트롤러 친화적인 UI라서, 패드를 꽂아 놓으면 거의 콘솔처럼 쓸 수 있습니다. 플랫팩 버전 기준으로는 일반적인 XInput 호환 패드(엑스박스 계열)나 스팀 컨트롤러가 자연스럽게 인식됐고, 키보드·마우스도 함께 쓸 수 있었습니다.:contentReference[oaicite:6]{index=6} 다만, 해상도와 프레임레이트는 네트워크 상황과 호스트 성능에 따라 조정이 필요했습니다. 저는 먼저 1080p 60fps 정도로 맞춰 놓고 테스트한 뒤, 와이파이가 불안정하면 해상도나 프레임을 살짝 낮추는 식으로 조정했습니다.
체감상, 유선 LAN + 1080p 조합에서는 지연이 그렇게 거슬리지 않았고, 와이파이 환경에서는 5GHz 대역에서만 쓸 만했습니다. 2.4GHz 환경에서는 주변 간섭에 따라 프레임 드랍과 지터가 눈에 띄게 느껴질 때가 많았습니다.
Moonlight + Sunshine: Steam 밖의 게임까지 유연하게
Moonlight는 NVIDIA GameStream 프로토콜을 구현한 오픈소스 클라이언트입니다. 원래는 GeForce Experience의 GameStream 기능과 짝을 이루는 구조였는데, NVIDIA가 GameStream을 중단하면서 지금은 Sunshine 같은 오픈소스 호스트를 쓰는 방식이 많이 쓰입니다.:contentReference[oaicite:7]{index=7} Moonlight의 장점은, 스팀이 아니어도 원하는 실행 파일을 마음대로 스트리밍 대상으로 등록할 수 있다는 점입니다. 에픽 게임즈, 배틀넷, 런처가 여러 개 섞인 환경이라면 이쪽이 더 유연합니다.
1. 호스트 PC에 Sunshine 설치
지금 시점 기준으로 Moonlight 공식 사이트에서도 Sunshine을 권장 호스트로 안내하고 있습니다.:contentReference[oaicite:8]{index=8} Sunshine은 Windows·Linux 모두 지원하고, NVIDIA 뿐 아니라 AMD·Intel GPU도 하드웨어 인코딩을 활용할 수 있게 설계돼 있습니다.:contentReference[oaicite:9]{index=9} 실제 설치 흐름은 대략 이렇습니다.
- 호스트 PC에 Sunshine 설치
- 웹 UI(기본 포트)로 접속해 관리자 비밀번호 설정
- 스트리밍에 쓸 해상도·비트레이트·프레임레이트 기본값 확인
- 게임·런처 실행 파일을 “앱 목록”에 추가
제가 써봤을 때는, 먼저 바탕화면 전체를 스트리밍하는 “Desktop” 항목을 써 보고, 그다음에 자주 쓰는 게임·런처만 개별 등록하는 방식이 제일 편했습니다.
2. Ubuntu에 Moonlight 클라이언트 설치
Moonlight 클라이언트는 다양한 플랫폼용이 있는데, 리눅스용도 제공됩니다. 공식 페이지에서 각 플랫폼 다운로드 링크와 호환 호스트 목록을 확인할 수 있습니다.:contentReference[oaicite:10]{index=10} Ubuntu에서는 배포 방식에 따라 AppImage, Flatpak, 패키지 등 선택지가 있을 수 있지만, 여기서는 “Moonlight를 설치해서 실행한다” 정도까지만 구조를 잡겠습니다. 실제 설치 방식은 사용하는 배포·버전에 맞춰 선택하시면 됩니다.
Moonlight를 실행하면 같은 네트워크에 있는 Sunshine 호스트를 자동으로 찾습니다. 보통은 PC 목록에 호스트 이름이 뜨고, 클릭 → PIN 입력 → Sunshine 웹 UI에서 확인 순서로 페어링을 진행합니다. 이 절차는 Moonlight 공식 문서에도 비슷한 흐름으로 정리돼 있습니다.:contentReference[oaicite:11]{index=11}
3. Moonlight의 장점과 세부 튜닝
제가 Steam Link와 Moonlight를 비교하면서 느꼈던 Moonlight 쪽 장점은 대략 이렇습니다.
- Steam 외의 게임/런처를 자유롭게 등록 가능 (Sunshine 쪽 설정에 달려 있음)
- 해상도·비트레이트·인코딩 옵션을 비교적 세밀하게 조정 가능
- 호스트 OS를 꼭 Windows로 강제하지 않고, 리눅스 호스트도 활용 가능
반대로, 초기 설정은 Steam Link보다 조금 더 손이 갑니다. Sunshine 설치, 포트, 방화벽, 앱 등록 등 중간 단계가 많고, 네트워크 환경에 따라 인코딩 옵션을 손으로 맞춰줘야 할 때도 있었습니다. 그래도 한 번 구조를 잡아두면, 여러 기기에서 동일한 Moonlight 클라이언트로 접속할 수 있다는 점이 꽤 매력적이었습니다.
네트워크와 입력 지연, 현실적인 기대치
두 솔루션 모두, 결국 네트워크 지연과 패킷 손실의 영향을 받습니다. 제가 몇 년 동안 왔다 갔다 하면서 얻은 현실적인 기준은 다음 정도였습니다.
- 액션/RPG, 캐주얼 게임: 유선 LAN 또는 안정적인 5GHz 와이파이면 플레이에 큰 지장은 없었다.
- 온라인 FPS, 리듬 게임: 미세한 입력 지연도 체감되기 때문에, 진지하게 랭크를 올릴 생각이라면 로컬 설치 쪽이 훨씬 낫다.
- 턴제·전략 게임: 약간의 지연은 거의 신경 쓰이지 않고, 침대나 거실에서 편하게 하기 좋은 용도였다.
정리하면, “모든 장르를 스트리밍으로 완벽하게 커버한다”기보다는, 장르에 따라 적당히 골라 쓰는 게 현실적이었습니다. 친구들과 스팀 협동 게임을 할 때, 저는 호스트는 Windows 데스크톱에 두고, 거실 소파에 앉아서 Ubuntu 노트북으로 Steam Link를 켜서 함께 플레이하는 식으로 많이 썼습니다.
언제 Steam Link, 언제 Moonlight를 쓸지 정리해 보기
마지막으로, Ubuntu에서 클라이언트만 담당할 때 어떤 상황에서 어떤 도구를 먼저 떠올릴지를 제 기준으로 정리해 보겠습니다.
- 스팀 게임 위주, 설정을 최소화하고 싶다 → Steam Link 먼저 시도
- 에픽/배틀넷/비스팀 게임도 섞여 있고, 호스트를 세밀하게 제어하고 싶다 → Moonlight + Sunshine 조합 고려
- 서버·클라이언트 모두 리눅스 기반으로 구성해 보고 싶다 → 리눅스 호스트 + Sunshine + Moonlight 구조 실험
두 가지를 다 써 보면서 느낀 건, “어느 쪽이 절대적으로 더 좋다”라기보다는 환경과 성격이 다르다는 점이었습니다. Ubuntu를 메인으로 쓰면서도, 거실 TV나 서브 노트북에서 고사양 게임을 즐기고 싶다면, 여기서 설명한 구조 정도는 한 번쯤 직접 구성해 볼 만한 가치가 있습니다. 한 번 세팅을 끝내 놓으면, 이후에는 “Ubuntu에서도 그냥 스팀 켜고, Moonlight 켜면 게임이 나온다”는 느낌에 가깝게 쓸 수 있었습니다.
댓글
댓글 쓰기