일단 먼저 https://moordev.tistory.com/282 이 글을 먼저 보는 것을 추천합니다.


이전에 우린 리눅스용 스팀에서 Proton으로 윈도우용 게임을 실행하는 것을 알아봤습니다. 이전에 PlayonLinux나 직접 Wine으로 삽질하는 것보다 훨씬 더 쉽게 게임을 실행하고 관리 할 수 있게 되었다는 것은 엄청난 발전입니다.


다만 아직도 상당수 게임들은 https://appdb.winehq.org/ 여기서 찾아보듯이 winetricks등을 이용해서 추가 라이브러리를 지정해야 하는 등 여전히 삽질이 필요합니다. 물론 여기까지 왔다는 것 자체가 상당히 고무적인 일입니다.


그래서 이번에는 추가 삽질을 해야하는 게임에 대해 알아보고자 합니다.


이번 타겟은 Puyo puyo Tetris입니다.

이전에도 PlayonLinux로 설치 및 실행까지 성공했던 게임입니다.


이젠 리눅스용 스팀에서 이 게임을 큰 문제없이 실행 가능하다.

사실 이건 Proton으로 큰 문제없이 실행되는 게임입니다. 문제는 실행만 되지 온라인모드만 들어가면 그대로 얼어붙는 문제가 생깁니다. 원인은 X_audio_2_7.dll이 완벽하지 않아서 생긴 일이라고 합니다. 


그걸 알아볼 수 있는 방법은 winehq.org에서 직접 찾아보는 것입니다.

https://appdb.winehq.org/objectManager.php?sClass=version&iId=36583


찾아보니 winetricks로 xact를 설치하고 winecfg에서 xaudio2_7을 네이티브로 설정하라고 나오는군요.


그럼 우린 이걸 응용해서 proton에 적용하면 됩니다.


우린 winetricks대신 protontricks(https://github.com/Sirmentio/protontricks)를 쓰면 됩니다.


설치는

sudo apt install winetricks

wget https://raw.githubusercontent.com/Sirmentio/protontricks/master/protontricks && chmod +x protontricks
sudo mv protontricks /usr/bin/protontricks


이렇게 하고 리눅스용 Steam에서 Puyo Puyo Tetris를 설치합니다.

이건 어렵지도 않지요. 설치가 완료되면 플레이버튼이 활성화 될 겁니다. 일단 플레이 버튼을 눌러서 사전설치 라이브러리를 설치합니다.


이제 Visual C++ Runtime 등이 설치 될 겁니다. 그리고 게임이 실행되겠지만 아쉽게도 음악이 들리지 않고 게임중에 멈추는 일이 일어납니다.


이제 이걸 Protontricks로 처리하면 됩니다. winehq.org에 나온 대로 우린 xact를 설치하고 xaudio2_7을 네이티브 설정만 하면 됩니다.


일단 터미널을 열고 시작해봅시다.

protontricks -s puyo


이렇게 하면

자 괄호안의 숫자코드가 보일겁니다. 저게 APPID입니다. 저걸 복사해서 다음 명령을 칩시다.


protontricks 숫자코드


여기선 숫자코드가 546050이군요.


이제 다음과 같은 창이 뜰겁니다.

터미널 내용도 확인해주세요.


이제 winetricks창에서 Select the default wineprefix를 선택하고 확인을 누릅니다.


다음에선 Install a Windows DLL or component를 선택하고 확인

그리고 아래로 쭉 내려서 xact에 체크하고 확인을 누릅니다.

그러면 이제 터미널에서 무언가 막 지나가면서 설치가 될 겁니다.

그리고 다 되었으면 취소를 눌러서 전 화면으로 돌아옵니다.


이번에는 Run winecfg를 선택

여기는 Wine을 많이 써보셨으면 익숙하실텐데 라이브러리 탭으로 들어갑니다. 그리고 새로 덮어 쓸 라이브러리에 xaudio2_7을 적은 다음 더하기 버튼을 누릅니다. 그러면 네이티브 설정 완료입니다.


덮어쓰기 목록에 xaudio2_7이 들어가게 된다.

그리고 확인을 누른 다음 winetricks창을 닫아주시면 됩니다.


이제 다시 Steam에서 Puyo Puyo Tetris의 플레이버튼을 누르면...


아무 문제 없이 실행이 됩니다!!!!!


Proton은 Vulkan이 지원된다는 가정하에 구동이 됩니다. 만약 Vulkan 실행이 되지 않는다면 mesa-vulkan-drivers 패키지를 설치해보시기 바랍니다.


sudo apt install mesa-vulkan-drivers


일부 AMD GPU의 경우 커널파라미터를 설정해야 할 수도 있습니다.


관리가 권한으로 /etc/default/grub 파일을 열고

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"


이 부분을

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.cik_support=0 amdgpu.cik_support=1 radeon.si_support=0 amdgpu.si_support=1"


이렇게 고쳐준 다음

sudo update-grub


이렇게 명령을 내려주면 radeon 드라이버대신 amdgpu드라이버가 돌아가면서 vulkan 지원이 됩니다.


Protontricks와 리눅스용 스팀을 이용해서 윈도우용 게임을 굴리는 법을 알아봤습니다.

,