M1 맥에서 크로스오버, 패러렐즈 없이 윈도우 게임 실행하기(via Steam on Wineskin)

M1 맥북 에어는 좋은 성능에도 불구하고 동영상 편집 같은 컴퓨팅 자원을 많이 사용하는 작업이 아니라면 일반적인 사용 목적에서는 그 성능을 체감하기가 어려운 편입니다. 맥OS에서 실행되는 게임이 많지 않기 때문이죠. 물론 iOS 생태계의 유입과 애플 아케이드 덕분에 예전보다는 조금 나아졌습니다만 여전히 모바일 게임 수준을 벗어나지 못하고 있습니다.

상황이 이렇다보니 맥북 사용자 중에서는 크로스오버나 패러렐즈와 같이 맥에서 윈도우 앱을 사용할 수 있게 하는 프로그램을 이용해 게임을 실행하는 경우가 많이 있습니다. 인텔 맥 시절이라면 부트캠프라는 대안도 있었겠지만 M1 맥에서는 부트캠프도 지원되지 않거든요.

하지만 패러렐즈는 워낙 과금 정책이 악명 높고 크로스오버는 불안정한 것에 비해 비싼 편이죠. M1 맥에서 무료로 윈도우 게임을 실행해볼 수 있는 방법은 없을까요? 몇가지 방법을 찾아보다가 예전에 맥에서 많이 썼던 Wineskin이라는 툴을 이용해보기로 했습니다. 이번 글에서는 Wineskin이라는 툴을 이용해 윈도우 게임(via Steam)을 설치하고 실행하는 과정을 정리해봤습니다.

시작하기 전에 이 방법은 Wine과 Rosetta 2라는 두개의 호환성 레이어를 걸쳐 이용하는 방법으로 정상적인 실행이 보장되지 않는다는걸 미리 알려드립니다. 몇가지 게임으로 테스트해본 결과 정상적으로 구동할 수 있던 게임은 다음과 같았습니다.(Portal 2나 위쳐3를 제외하면 대부분 2D 게임 정도네요.)

  • Portal 2
  • Witcher 3
  • 뿌요뿌요 테트리스
  • 소닉 매니아
  • Team Fortress 2

아래 게임들은 실행은 되었지만 너무 느려서 정상적인 구동이 어려웠던 게임들입니다.(참고로 M1 맥이 아닌 인텔 맥에서는 잘 실행됩니다.)

  • Need for Speed : Hot Pursuit
  • GTA V
  • Braid

준비물

준비물은 삽질을 위한 시간과 Wineskin이라는 툴만 있으면 됩니다. Wineskin은 리눅스나 맥에서 윈도우 앱을 실행시켜주는 WINE(WINE Is Not Emulator)을 맥OS에 맞게 재포장한 툴입니다. Wineskin을 이용해 윈도우 앱을 빌드하면 모든 관련 환경 파일과 시스템이 하나의 .app 파일에 모두 포함됩니다. 지금까지 써본 Wine 관련 툴 중 가장 맥OS에 잘 어울리는 툴입니다.

Wineskin은 다음 링크에서 다운로드하실 수 있습니다. 여기엔 “비공식”이라는 이름이 붙어있는데, 현재 사용할 수 있는 Wineskin은 예전 공식 Wineskin이 더이상 개발되지 않아 따로 포크된(오픈 소스에서 소스를 사용해 따로 떨어져나온) 비공식 버전입니다만, 사용하는데는 전혀 문제가 없습니다. 아래 사이트에서 Manually Installation 부분에 있는 파일을 받으시면 됩니다.

https://github.com/Gcenx/WineskinServer

설치 과정

Wineskin 설치

먼저 Wineskin을 설치합니다. Wineskin을 다운로드하면 txz라는 파일 형식으로 다운되는데요, 이 파일을 압축 해제해줍니다.

그러면 실행 파일 하나가 나옵니다. 해당 앱을 그대로 실행하면 인증되지 않은 개발자가 배포한 파일이라며 실행되지 않습니다. 오른 클릭을 한 다음 ‘열기’를 통해 실행하면 앱을 실행할 수 있습니다.

앱을 실행하면 다음과 같은 화면이 나옵니다.(처음 실행시에는 Installed Engines가 없는게 정상입니다.

Wrapper 업데이트 & 엔진 설치

가장 먼저 Wrapper를 업데이트하고 Engine을 설치해줘야 합니다. Wrapper는 윈도우 앱이 포함될 맥OS 패키지입니다. Update를 통해 Wrapper 버전을 업데이트 합니다.

그 다음 + 버튼을 클릭하여 Engine을 추가해줘야 합니다. M1 맥에서는 WS11WineCX20.0.2 이상의 엔진을 설치해야 사용이 가능합니다. WS11WineCX20.0.264bit를 선택하여 설치를 진행합니다.(저 같은 경우는 이미 설치되어있어서 안나오고 있습니다)

CX라고 붙어있는 버전은 크로스오버의 Wine 커스텀 버전입니다. 실질적으로 크로스오버 20 버전의 엔진을 사용하는 셈인데요, 크로스오버의 커스텀 엔진도 GPL에 따라 오픈소스로 공개되기 때문에 이후에 업데이트 되는 크로스오버 엔진도 시간이 지나면 업데이트를 받아볼 수 있습니다.(다만 크로스오버는 엔진 뿐 아니라 이 글에서 앞으로 설명할 많은 삽질들이 자동화되어있어서 다용도로 활용한다면 구매할만한 가치가 있습니다.)

Wrapper 생성

그럼 이제 Create New Blank Wrapper를 클릭하여 새로운 Wrapper를 생성합니다.

먼저 Wrapper의 이름을 만들어줍니다. 해당 이름이 실제 앱의 이름이 되므로 생성해주고자 하는 앱 이름으로 설정해줍니다. 저 같은 경우는 Steam으로 설정해주었습니다.

OK를 누르면 Wine 환경 설정이 자동으로 진행되면서 시간이 다소 소요됩니다.

Wrapper 생성이 완료되면 View in Finder를 클릭해서 앱이 생성된 위치로 이동합니다.

이 상태에서 그대로 실행하지 않고 오른 클릭을 클릭해서 “패키지 내용 보기”를 선택합니다.

패키지 내용 보기를 들어가면 앱 안의 파일을 볼 수 있는데요, 대부분의 맥 앱은 단일 실행 파일처럼 보이지만 이렇게 .app 파일 안에 여러 실행 파일을 담고 있는 구조입니다. Wineskin도 이 구조에 따라 설치할 모든 파일이 이 .app 안에 모두 들어가게 됩니다. 나중에 앱을 삭제하려면 그냥 .app 파일만 삭제하면 깔끔하게 모든 내용이 제거 되죠. 제가 다른 것들보다 Wineskin을 선호하는 이유입니다.

Winetricks로 steam 설치

이제부터가 좀 복잡합니다. 크로스오버를 구매하셨다면 이런 과정들이 자동으로 가능하겠지만, 저희는 무료 버전으로 사용하고 있으니 이 정도는 감수해야하겠죠.

.app 안의 Wineskin을 실행합니다. Wineskin을 실행하면 이렇게 나오는데요, 기본적으로는 Install Software를 통해 설치 프로그램을 실행시켜서 설치해볼 수 있습니다. 하지만 조금이라도 자동화를 사용하기 위해 이번 글에서는 Winetricks를 이용해 Steam을 설치해보려합니다.

“Advanced”를 클릭해 고급 설정으로 이동합니다.

“Tools” 탭에서 Winetricks를 클릭합니다. Winetricks는 Wine 이용에 필요한 툴을 자동으로 설치해주는 툴입니다. Crossover가 없는 대신 사용할 수 있는 훌륭한 툴입니다.

Winetricks에서 Steam을 검색하여 체크해준 다음 Run을 실행하면 Steam을 설치합니다.

Steam을 다운로드하여 설치하고 필요한 폰트를 등록하는 등 모든 과정이 자동으로 진행됩니다. 완료될 때까지 기다려줍니다.

Steam만 설치하게 되면 한글이 깨진 상태로 출력됩니다. winetricks에서 “fakekorean”을 검색해서 설치하시면 한글이 깨지지 않은 상태로 사용할 수 있습니다.

완료되면 DXVK를 설치해줍니다. 맥OS는 OpenGL 지원을 드랍한 상태이기 때문에 성능을 최대한 발휘하기 위해서는 DXVK가 필요합니다.

DXVK는 아래와 같이 custom을 클릭하여 명령어를 입력한 후 Run을 클릭하면 설치할 수 있습니다.

dxvk_macos.verb

Steam 실행 파일 지정하기

이제 Steam을 실행할 차례입니다. Wineskin 설정 창에서 Configuration 탭으로 이동하여 Browse를 클릭합니다.

파일 선택 창이 나오면 Program Files(x86) > Steam 경로로 이동해 Steam.exe 파일을 선택해줍니다.

M1 맥에서는 이 상태에서 실행하면 리소스를 많이 먹거나 로그인이 오래 걸리는 일이 발생하기 때문에 추가적으로 다음과 같이 Steam 옵션을 지정해줍니다.

-tcp -allosarches -cef-force-32bit -udpforce

그 다음 Test Run을 클릭해서 테스트해봅니다.

Steam이 실행되면 일단 성공입니다.

짠. 이렇게 윈도우 스팀이 실행되었습니다.

아이콘 세팅

Test Run을 종료하고, 기본 아이콘은 못 생겼으니 앱 아이콘을 한번 세팅해보겠습니다. 아이콘은 아래 사이트에서 받으시면 Big Sur 스타일에 맞는 아이콘을 추가할 수 있습니다.

https://macosicons.com

Steam 으로 검색해서 받은 아이콘을 준비하여 Wineskin 설정에서 Configuration 탭의 Icons 에서 Browse를 클릭합니다.(혹은 아이콘을 드래그해도 됩니다.)

아이콘을 선택해주면 이렇게 아이콘이 바뀝니다.

완료

이제 모든 과정이 완료되었습니다. 게임을 설치해서 실행하기만 하면 됩니다. 실행 파일을 응용프로그램 폴더로 옮기면 설치가 완료됩니다. 근데 문제는 Finder를 닫았다면 해당 앱의 위치를 잘 모르겠다는 것이죠.

Finder 메뉴에서 이동 > 홈 을 클릭하여 홈 폴더로 이동합니다.

홈폴더에서 Application 폴더로 이동하면 Wineskin 폴더에서 방금 만든 앱을 찾을 수 있습니다.

이 상태에서도 런치패드에서 실행은 되지만, 계정 모든 사용자를 위해 응용프로그램 폴더로 이동시켜줍니다.

런치패드를 실행해서 보면 방금만든 Wineskin 앱이 추가된걸 확인할 수 있습니다. 이제 다른 맥 앱처럼 런치패드를 통해 스팀을 실행할 수 있습니다.(옆에 있는 것은 기존에 만들어서 쓰고 있던 스팀 앱)

삭제할 때는 다른 맥OS 앱처럼 휴지통에서 넣으면 깔끔하게 삭제됩니다.


사용 후기

이 방법으로 이론적으로는 스팀에 올라와 있는 모든 게임을 다 설치할 수 있습니다. 특히 Wine은 최신 버전에서는 호환성이 상당히 좋아져서(아마도 밸브의 Proton 덕분일 것으로 추정됩니다.) 웬만한 예전 게임들은 별다른 노력 없이 스팀에서 설치해서 실행할 수 있었습니다.

특히 Bioshock Infinite나 Portal 2 같이 정작 맥에서는 32bit 지원을 중단하면서 실행이 안되는 맥용 게임들도 구동해볼 수 있었습니다.(비록 Bioshock 같은 경우 그래픽이 깨져서 정상적인 게임 실행은 안되었지만요) 또한 Crossover 엔진을 이용하는 덕분인지 맥OS에서 인식한 Xbox 패드 같은 것도 정상적으로 사용할 수 있었습니다.

하지만 M1 맥에서는 맥에서 몇가지 호환 기술을 제거한데다 Rosetta 2를 돌려서 실행해야하기 때문에 게임들이 실행은 되지만 정상적으로 구동되지 않는 경우도 있는데요, 특히 3D 게임들은 대부분 문제가 있었습니다. 이건 Crossover에서도 마찬가지인 것으로 보여 아직까지는 M1 맥에서는 해결하기 어려운 부분인 것 같습니다.

아무래도 윈도우 전체를 구동하는 패러렐즈 같은 솔루션에 비교하면 불안정한 점은 있지만 전체 윈도우 환경을 구동하는게 아니라 딱 해당 앱만 실행하기 때문에 패러렐즈보다는 매우 가볍다는게 장점입니다.(용량으로보나 메모리로 보나..) 하지만 아직은 3D 게임들은 호환성이 매우 떨어진다는 점이 단점입니다.

현재 크로스오버 쪽은 21 버전이 출시된 상태인데요, 크로스오버 21 엔진을 적용하면 호환성이 좀 더 나아질 것으로 기대됩니다. Wineskin 쪽에는 Crossover 21 엔진은 아직 올라오지 않은 상태입니다. Rosetta 2의 호환성도 계속 개선이 되고 있는만큼 앞으로 점점 호환성이 더 나아질 것으로 기대합니다. 아래 동영상을 보니 Crossover 21에서는 GTA V 같은 3D 게임도 정상적으로 실행되는 것으로 보입니다.

하지만 현재 베타 테스트 중인 Monterey에서는 실행되지 않는 문제가 있어서 Crossover 팀에서 대응 작업 중이라고 합니다. 혹시 Monterey 베타 버전에서 시도하시는 분들은 실행이 안될 가능성이 높으니 이 부분 참고 부탁드립니다. 새로운 맥OS 버전으로 올리실 계획이라면 대응 버전이 올라올 때까지 기다려보시는 것도 방법일 것 같습니다.