2018~2019년경 Windows/Mac 게임을 리눅스에서도 즐길 수 있도록 포팅과 우회 방법을 대거 개발하던 시기 이후로 리눅스 게이밍에 관심을 가져왔다면, 그 중심에는 Steam의 Proton이 있었다는 사실을 잘 알고 있을 것입니다. 하지만 실제로 의존성이 많은 게임들을 실행해 보면, 모든 게임의 Windows→Linux 전환을 매끄럽게 처리해 주지는 못한다는 점을 금방 깨닫게 됩니다.
Proton으로 게임을 실행할 때 오류가 발생한다면, protontricks라는 유용한 도구를 활용해 보세요. 이 도구를 사용하면 문제가 된 게임을 손쉽게 정상화할 수 있습니다.
작동 원리
Protontricks는 터미널 기반 유틸리티로, WINE 환경용 헬퍼 스크립트인 winetricks를 직접 사용해 Steam 게임의 문제를 해결할 때 겪어야 하는 번거로운 작업을 자동화해 줍니다. 다양한 스크립트를 활용해 전체 과정을 최대한 매끄럽게 만들어 줍니다.
Steam의 Proton이 게임을 실행하지 못하는 가장 흔한 이유는, Steam이 설치해 주지 않은 의존성(런타임)이 시스템에 없기 때문입니다. Protontricks는 winetricks 위에 얹혀 동작하며, 필요한 런타임을 게임의 Steam 디렉터리에 직접 설치할 수 있게 해줘 이러한 문제를 간단히 해결할 수 있습니다.
시작하기 전에
무엇보다 먼저 Steam Play가 제대로 활성화되어 있고 클라이언트 설정이 올바르게 완료되었는지 확인하세요. 설정 방법을 빠르게 확인하려면, 먼저 'Windows 게임을 리눅스에서 실행하는 방법' 관련 가이드를 참고하는 것이 좋습니다.
Protontricks는 이러한 기본 설정을 모두 마친 후에도 Steam이 게임을 실행하지 못하는 특수한 상황을 위해 존재하는 도구입니다.
필수 의존성 설치하기
요즘 리눅스 사용자라면 대부분 WINE이 이미 설치되어 있어 다양한 Windows 애플리케이션을 실행할 준비가 되어 있지만, Winetricks까지 설치되어 있는 경우는 드뭅니다. Protontricks를 사용하려면 Winetricks를 먼저 설치해야 합니다.
예를 들어 Linux Mint, Ubuntu 계열, Debian, MX Linux에서는 아래 명령어를 사용합니다:
sudo apt install winetricks
Manjaro에는 기본적으로 포함되어 있지만, 만약 없다면 '시스템 → 소프트웨어 추가/제거' 메뉴에서 "wine"을 검색하세요. 패키지 목록이 나타나는데, 이때 "wine"과 "winetricks" 두 가지가 모두 설치되어 있는지 확인합니다.
다른 배포판을 사용 중이라면 아래의 범용 명령어로 Winetricks를 설치할 수 있습니다:
cd “${HOME}/Downloads”
wget "https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks"
chmod +x winetricks
sudo cp winetricks /usr/local/bin
Winetricks 외에도 Protontricks를 구동하려면 pipx가 필요합니다.
Arch Linux / Manjaro:
sudo pacman -S python-pip python-pipx python-setuptools python-virtualenv
Debian / Ubuntu / Mint / MX:
sudo apt install python3-pip python3-setuptools python3-venv pipx
Protontricks 설치하기
필수 프로그램 설치를 모두 마쳤다면, 이제 본격적으로 Protontricks를 설치할 차례입니다. 이전에 다른 패키지를 설치할 때 사용했던 터미널 세션이 아니라, 새로 연 깨끗한 터미널에서 진행하는 것이 좋습니다.
이제 아래 명령어 한 줄만 입력하면 됩니다:
pipx install protontricks
설치 끝! 이제 이 작은 도구가 얼마나 강력한지, 그리고 앞서 거친 수고가 왜 가치 있었는지 살펴보겠습니다.
Protontricks로 누락된 .NET 런타임 설치하기
Protontricks는 게임을 실행했을 때 특정 런타임이 설치되어 있지 않다는 오류 메시지가 나오는 상황을 위해 특별히 설계된 도구입니다. 대부분의 경우 특정 버전의 .NET Framework가 원인입니다. 어떤 경우든, Protontricks가 제 역할을 하려면 오류가 발생하더라도 게임을 최소 한 번은 실행해 두어야 합니다.
먼저 게임에 무엇이 부족한지 파악해야 합니다. 게임을 실행해 보고, 어떤 버전의 .NET이 없다고 불평하는지 기록해 두세요.
그다음에는 해당 게임의 Steam ID를 찾아야 합니다. 가장 쉬운 방법은 터미널에 아래와 같이 입력하는 것입니다:
protontricks -s [게임 이름]
검색은 대소문자를 구분하지 않으며, 일부 단어만 입력해도 됩니다. 아래 이미지에서 대소문자가 일치하지 않는 검색과 부분 이름 검색의 예시를 확인할 수 있습니다.
ID와 필요한 .NET 버전을 확인했다면, "dotnet" 뒤에 점이나 공백 없이 버전 숫자만 붙여 설치 명령을 내리면 됩니다. 예를 들어 Elite Dangerous에 적용되는 명령어는 다음과 같습니다:
protontricks 35920 dotnet472
명령을 실행하면 Protontricks가 해당 게임의 Steam 폴더 안에 호환성 디렉터리를 생성하고, 지정한 버전의 .NET Framework 설치를 시도합니다. 이 과정에서 64비트 WINE prefix 관련 무시무시한 오류 메시지가 여러 개 출력될 수 있지만, 안심하고 무시해도 괜찮습니다.
그 외 문제 해결하기
이렇게 '마법 같은' 수정을 적용한 후에도 여전히 실행되지 않는 게임들이 있습니다. 문제의 원인이 .NET 런타임 누락이 아닐 수도 있습니다.
이런 특수한 경우라면 ProtonDB에 접속해 해당 게임을 검색해 보기를 권장합니다. 사용자들이 protontricks 명령어나 Steam 라이브러리의 게임 속성에 입력할 수 있는 시작 옵션 등, 자신만의 해결책을 자주 공유하기 때문입니다. 항상 '명령어 한 줄 입력으로 해결!'되는 것은 아니지만, 몇 분 정도의 설정 조정이나 파일 수정만으로 문제가 풀리는 행운을 만날 수도 있습니다.
일부 제안은 복잡하거나 특정 시스템에서는 동작하지 않을 수 있습니다. 하지만 특정 게임을 리눅스에서 반드시 돌리고 싶고 몇 시간을 투자할 의향이 있다면, 일반적인 방법으로 실패한 사람들에게 가장 좋은 정보 저장소가 바로 ProtonDB입니다.
단, 게임이 실행된다고 해도 성능은 Windows에 비해 크게 떨어질 수 있다는 점을 유념하세요. 이유는 알 수 없지만 상당수 게임이 싱글 플레이에서는 잘 돌아가다가, 멀티플레이 기능을 사용하는 순간 성능이 급격히 무너지는 현상을 보입니다.
완벽하지는 않지만, 리눅스 게이밍은 더 이상 짜증만 유발하는 작업이 아니며, 이를 더욱 쉽게 만들어 주는 도구들이 계속 개발되고 있습니다. Protontricks는 winetricks만 사용할 때 겪게 되는 번거로움을 빠르게 없애주는, 가장 단순하면서도 우아한 방법 중 하나라고 할 수 있습니다.
리눅스에서 게임을 실행하는 데 도움이 된 나만의 도구가 있나요? 소개해 주었으면 하는 도구가 있다면 댓글로 알려주세요!