이 글은 이전에 올렸던 맥에서 크로스오버, 패러렐즈 없이 윈도우 게임 실행하기(VIA STEAM ON WINESKIN) 의 최신 업데이트 판입니다. 그동안 크로스오버 쪽도 많은 발전이 있었고, 특히 애플에서 Game Porting Toolkit이 나오면서 이 분야에서 큰 발전을 이루었죠.
하지만 여전히 진입장벽이 존재하는 것도 사실입니다. 특히 Game Porting Toolkit 자체가 일반 사용자가 사용하는 목적으로 나온 물건이 아니라서 컴파일하고 추출하는 과정도 복잡한데다 Wine의 여러가지 의존성 문제를 해결해줄 수 있는 Winetricks도 사용할 수 없다는 한계도 있었습니다.
하지만 고맙게도 여러 개발자의 노력 덕분에 최신 크로스오버 엔진에 Game Porting Toolkit의 라이브러리를 무료로 사용할 수 있는 Wineskin 버전이 새롭게 나왔습니다. 저도 써보고 있는데 지금까지 써봤던 버전 중에서 가장 호환성이 좋은 것 같습니다.
현재까지 제가 테스트해서 성공적으로 구동한 게임은 다음과 같습니다.(모두 M2 맥북 에어에서 테스트)
- Batman : Arkham Knight
- Titan Fall 2
- Spiderman Remastered (컨트롤러 동작 안함)
- Spiderman : Miles Morales (컨트롤러 동작 안함)
- PuyoPuyo Tetris
- Stray (약간 끊기는 문제 있음)
- Need for Speed : Hot Pursuit
이 중 아캄나이트가 가장 잘 실행되었습니다. 맥북 에어 해상도(1400 * 900)에서 60 프레임 정도 나오는 것 같습니다. 재밌는건 Need for Speed : Hot Pursuit인데, 나온지 엄청 오래된 게임이라 Direct X 9.0을 사용하는데다 32비트 게임인데도 잘 실행됩니다. 이 정도면 호환성 부분에서 거의 문제가 없다고 봐도 무방하겠죠.(물론 그렇다고 모든 게임이 잘 실행된다는 것은 아닙니다.)
준비물
준비물은 삽질을 위한 시간과 Wineskin, 그리고 맥OS Sonoma가 필요합니다. Wineskin은 리눅스나 맥에서 윈도우 앱을 실행시켜주는 WINE(WINE Is Not Emulator)을 맥OS에 맞게 재포장한 툴입니다. Wineskin을 이용해 윈도우 앱을 빌드하면 모든 관련 환경 파일과 시스템이 하나의 .app 파일에 모두 포함됩니다. 나중에 마음에 안들면 .app 파일을 그냥 휴지통에 버려 깔끔하게 지울 수 있습니다.
Wineskin은 아래 사이트에서 Manually Installation 부분에 있는 파일을 받으시면 됩니다.
https://github.com/Gcenx/WineskinServer
또한 맥OS Sonoma는 필수적으로 필요한데, 이 글에서는 애플에서 제작한 DirectX를 Metal로 변환해주는 D3DMetal 라이브러리를 사용하기 때문입니다. 해당 라이브러리는 벤츄라에서도 사용은 가능하지만 정상적으로 실행되지 않았습니다. 반드시 맥OS Sonoma 이상의 버전을 사용하셔야 합니다.
설치 과정
Wineskin 설치
먼저 Wineskin을 설치합니다. Wineskin을 다운로드하면 txz라는 파일 형식으로 다운되는데요, 이 파일을 압축 해제해줍니다.
그러면 실행 파일 하나가 나옵니다. 해당 앱을 그대로 실행하면 인증되지 않은 개발자가 배포한 파일이라며 실행되지 않습니다. 오른 클릭을 한 다음 ‘열기’를 통해 실행하면 앱을 실행할 수 있습니다.
앱을 실행하면 다음과 같은 화면이 나옵니다. + 를 눌러서 엔진을 추가해줍니다.
엔진을 추가하면 다음과 같은 목록이 나오는데, 뒤에 D3DMetal이라는 문구가 있는 엔진을 다운로드합니다. 바로 이 엔진이 애플에서 Game Porting Toolkit과 같이 배포한 D3D를 Metal로 변환하는 라이브러리를 포함하고 있는 엔진입니다. 이 글을 작성하고 있는 시점에는 Crossover 23.5.0 기반의 와인과 라이브러리를 결합한 엔진이 최신 버전이었습니다.
엔진을 다운로드 한 후 Create New Blank Wrapper를 클릭합니다.
먼저 Wrapper의 이름을 만들어줍니다. 해당 이름이 실제 앱의 이름이 되므로 생성해주고자 하는 앱 이름으로 설정해줍니다. 저 같은 경우는 Steam으로 설정해주었습니다.
OK를 누르면 Wine 환경 설정이 자동으로 진행되면서 시간이 다소 소요됩니다.
Wrapper 생성이 완료되면 View in Finder를 클릭해서 앱이 생성된 위치로 이동합니다.
파인더에서 생성된 Wrapper를 더블 클릭합니다.
더블클릭하면 아래와 같은 창이 나오는데, Install Software 하기 전에, Winetricks를 통해 한글 설정을 먼저 해주겠습니다. Winetricks를 클릭합니다.
Winetricks가 실행되면 검색에서 “fakekorean”을 검색 후 체크박스에 체크합니다. 그 다음 Run을 눌러서 설치를 진행합니다. fakekorean은 윈도우 내의 폰트를 맥OS의 폰트와 링크하여 한글이 필요한 프로그램의 충돌을 줄여주는 역할을 합니다.
설치가 완료되면 Close를 눌러서 Winetricks를 종료합니다. 여기까지가 기본 설정 완료입니다.
Steam 설치하기
이후부터는 설치하고자 하는 프로그램을 설치하시면 됩니다. 저는 주로 Steam을 사용하기 때문에 Steam 설치로 진행했습니다만, 디아블로나 다른 게임을 직접 설치하는 것도 가능합니다.
가장 먼저 윈도우 Steam 설치 파일을 준비합니다. 맥에서도 Steam 다운로드 페이지에서 윈도우 로고를 클릭하면 쉽게 다운받을 수 있습니다.
그 다음 Wineskin 으로 돌아와 “Install Software”를 클릭합니다.
설치 방식을 선택할 수 있는데, 일반적으로 설치 파일(setup.exe)가 존재하는 경우 Choose Setup Executable 을 클릭합니다. 만약 설치 파일 없이 앱 자체를 갖고 있는 경우에는 아래 두 옵션 중 하나를 선택하면 됩니다.
Choose Setup Executable 을 클릭하여 스팀 설치 파일을 선택해 실행합니다.
스팀 설치 플로우는 특별히 건드릴게 없습니다. 다음, 다음을 눌러서 설치를 완료하시면 됩니다.
마지막엔 Steam 실행하기 를 선택하여 스팀을 실행합니다.
스팀이 정상적으로 실행됩니다. 로그인까지 진행한 다음, 스팀 클라이언트를 종료합니다.
스팀 클라이언트를 종료하면 아래 창이 나오는데, 실행 파일을 선택하는 창입니다. 여기에서 Steam.exe를 선택해주고 OK 합니다.
이후 다음부터는 Wrapper를 더블 클릭하면 스팀이 실행됩니다. Wrapper는 런치패드에서도 실행할 수 있습니다.
이제 스팀에서 게임을 설치해서 게임을 즐기면 됩니다!
과거 글에서는 Steam을 정상적으로 실행하기 위해 강제로 udp로만 접속하게 하거나 32비트 모드로 구동하는 등의 조치를 했지만 애플에서 만든 라이브러리 때문에 별다른 설정을 해주지 않아도 스팀이 잘 실행됩니다. 심지어 CPU 점유율도 맥용 스팀보다 낮습니다.
기타
기본 Wrapper 아이콘이 좀 후지기 때문에 스팀 아이콘으로 바꿔주면 더 좋습니다.
아래 사이트에서 Steam으로 검색하면 맥OS 스타일에 맞는 아이콘이 나옵니다.
해당 사이트에서 적당히 아이콘을 다운로드합니다.
그 다음 파인더에서 Wrapper에 오른 클릭을 한 뒤 “정보 가져오기”를 클릭합니다.
정보 창의 아이콘 영역으로 다운로드한 아이콘을 드래그합니다.
이렇게 하면 파인더와 런치패드에서 모두 아이콘이 변경됩니다.
만약 삭제하고 싶으시면 다른 맥 앱처럼 해당 파일을 휴지통에 넣으면 깔끔하게 삭제할 수 있습니다.
사용 후기
이렇게 하면 이론적으로 모든 윈도우 게임을 실행할 수 있습니다. 특히 애플에서 Game Porting Toolkit을 통해 제공하는 D3DMetal 라이브러리 덕분에 지금까지 실행해본 Wine 게임 중 가장 좋은 성능으로 실행되는 것 같습니다. 솔직히 그 전까지 3D 기반의 게임은 거의 안된다고 봐야했지만 지금은 맥북의 GPU 성능을 최대한 살려서 실행되는 것 같습니다.
여러가지 말보다 직접 보시는게 더 좋겠죠. 아래 영상은 맥북 에어(M2, 10 Core GPU)에서 아캄 나이트를 실행한 영상입니다. 팬리스 디자인의 노트북이라는걸 생각해보면 상당히 인상적인 성능을 보여줍니다.
다만 아쉬운건 D3DMetal이 모든 게임에 잘 적용되는건 아니라는 것입니다. 크로스오버 상용판에서도 D3DMetal을 토글하는 옵션을 제공하고 있습니다. 직접 실행해보고 판단해볼 수 밖에 없다는게 좀 아쉽습니다. 아래 사이트에서 호환성을 미리 체크해보실 수 있습니다.
https://www.codeweavers.com/compatibility
만약 게임 목적이 아니시라면 D3DMetal이 적용되지 않은 버전을 사용하시는게 호환성 측면에 더 나으실 수 있습니다. 물론 일반 프로그램이라도 3D 가속이 들어간다면 D3DMetal이 적용된 버전이 더 좋겠지만요.