콘텐츠로 이동

와인에 대하여

밥똥이리호요에서 제공하는 Wine은 CodeWeavers의 CrossOver 공개 소스를 기반으로 한 커스텀 빌드와 WineHQ 11.10 기반 커스텀 빌드로 구성됩니다. 문서에서 기준으로 삼는 CrossOver Wine 버전은 26.1.0입니다.

Wine은 Windows 프로그램을 macOS에서 실행할 수 있도록 Windows API 호출을 macOS에서 처리 가능한 형태로 바꿔 주는 호환 계층입니다. 가상 머신처럼 Windows 운영체제 전체를 실행하는 방식이 아니기 때문에, 프로그램마다 호환성과 안정성이 다를 수 있습니다.

이 프로젝트의 Wine 구성은 DirectX 11을 사용하는 이터널 리턴과 HoYoverse 게임 실행을 주요 목표로 합니다. 그래서 그래픽 변환 계층은 DXMT를 중심으로 제공합니다. DXMT는 DirectX 11 명령을 Apple Metal API로 변환해 macOS에서 실행할 수 있도록 돕습니다.

DXVK처럼 Vulkan을 거치는 방식도 존재하지만, macOS는 Vulkan을 네이티브 그래픽 API로 제공하지 않습니다. 따라서 Vulkan을 다시 Metal로 변환하는 추가 계층이 필요할 수 있으며, 이 프로젝트에서는 대상 게임과 macOS 환경을 고려해 DXMT 중심의 구성을 선택합니다.

Wine을 직접 다룰 수 있는 사용자는 CLI 버전을 사용하는 편이 더 유연할 수 있습니다. CLI 환경에서는 Wine prefix, 환경 변수, 실행 옵션을 세밀하게 제어할 수 있기 때문입니다.

반대로 Wine 설정에 익숙하지 않은 사용자는 런처를 사용하는 것이 더 적합합니다. 런처는 Bottle 생성, Wine 버전 선택, DXMT 버전 선택 같은 반복 작업을 GUI로 제공해 설정 실수를 줄이는 역할을 합니다.

제공되는 Wine에는 Steam 실행 문제와 HoYoverse 게임 실행 문제를 해결하기 위한 일부 패치가 포함되어 있습니다. 이 패치는 모든 Windows 프로그램을 완벽히 지원하기 위한 것이 아니라, 프로젝트가 목표로 하는 게임 실행 환경에 맞춰 적용된 변경입니다.

HoYoverse 게임 실행을 가능하게 하기 위해 Dawn Winery의 코드를 일부 참고했습니다. 관련 변경은 Wine 내부 동작에 직접 영향을 줄 수 있으므로, 다른 게임이나 일반 Windows 프로그램에서는 예상하지 못한 문제가 발생할 수 있습니다.