소식 윈도우 게임용 로제타의 출발점⋯애플 게임 포팅 툴킷이 중요한 이유
- BarryWhite
- 조회 수 169
- 2023.06.20. 16:55
게임 포팅 툴킷은 코드위버스(CodeWeavers)의 크로스오버(CrossOver) 소스코드를 기반으로 한다. 기본적으로 x86 코드, 다이렉트인풋(DirectInput) 명령, 엑스오디오(XAudio) 명령, 다이렉트3D(Direct3D) 명령, 기타 윈도우 게이밍 API 호출을 애플 실리콘에 맞게 실시간으로 변환한다. 말 그대로 최신 고급 윈도우 게임을 맥에서 재컴파일하거나 다른 변경 없이 실행할 수 있다.
얼핏 보면 게임 포팅 툴킷은 윈도우 게임을 스팀 덱(Steam Deck)용 리눅스에서 실행하는 밸브(Valve)의 프로톤(Proton)과 비슷하다. 실제로 매우 유사하지만 차이점이 있다면, 프로톤은 최종 사용자 도구로 유지되고 업데이트된다는 점이다. 애플 실리콘 맥의 로제타(Rosetta) 2처럼 프로톤은 호환되지 않는 소프트웨어를 일반인이 번거로움 없이 활용하게 해 주는 것이 주요 목적이다. 반면, 애플의 툴킷은 시제품 제작에 나서는 개발자 전용 도구다.
실제로 게임 개발 툴킷의 변환 기능은 일반 사용자가 사용할 수 없다. 엑스코드(Xcode) 개발자는 이 변환 기능을 맥에서 윈도우 게임을 실행하는 첫번째 단계로 활용할 수 있지만, 여전히 게임을 맥용으로 변환하기 위해 소스코드를 복사하고, HLSL 셰이더 재컴파일링하고, 기타 그래픽 작업을 메탈(Metal)로 변환하고, 모든 입력 및 디스플레이 API를 맥에 해당하는 요소로 변경하는 등의 단계를 모두 거쳐야 한다. 애플의 새 메탈 셰이더 변환기를 이용하면 이 과정이 단축할 수 있지만, 윈도우 게임을 맥 버전으로 제작하려면 여전히 많은 노력이 든다.