CodeWeavers는 DirectX 12 Windows 게임이 Linux에서 실행되도록 돕고 있습니다.

CrossOver의 개발자인 CodeWeavers는 CodeWeavers 및 Wine 호환성 레이어에서 DirectX 12의 개선 작업을 진행하고 있습니다.

코드위버 크로스오버 다른 운영 체제에서 Windows 응용 프로그램을 실행하는 가장 널리 사용되는 방법 중 하나입니다. 오픈 소스의 뛰어난 작업을 결합합니다. 와인 프로젝트 (CrossOver의 개발자가 코드를 제공하는) 사용하기 쉬운 인터페이스와 프런트 엔드를 제공합니다. CodeWeavers, CrossOver 21 출시 8월에 다시, 이제 회사는 Linux 및 Mac에 최신 게임 지원을 제공하기 위한 작업에 대한 세부 정보를 공유했습니다.

최근의 많은 Windows 게임(및 기타 그래픽이 많은 응용 프로그램)은 최신 버전인 DirectX 12를 사용합니다. Microsoft의 DirectX 그래픽 라이브러리, 더 빠른 성능을 달성하기 위해 낮은 수준의 API를 사용합니다. DirectX는 Windows(및 Xbox 콘솔)에서만 사용할 수 있으므로 Wine 호환성 레이어는 VKD3D를 사용합니다. Vulkan 위에서 Direct3D 호출을 실행하기 위한 그래픽 라이브러리(Linux, Windows 및 기타에서 사용 가능) 플랫폼). Vkd3d 라이브러리는 주로 Valve Software에서 개발했습니다. 그것을 위해 양성자 호환성 층, VKD3D의 급속한 발전은 이제 수많은 Windows 게임을 Linux에서 플레이할 수 있는 주된 이유입니다.

CrossOver가 이미 VKD3D를 포함하고 있음에도 불구하고 CrossOver는 개발자들이 몇 가지 성능 문제를 파악하는 동안 공식적으로 DirectX 12 게임을 지원하지 않습니다. 블로그 게시물:

CrossOver는 VKD3D를 사용하여 DirectX 12 게임을 실행합니다. VKD3D는 VKD3D 위에 구축된 3D 그래픽 라이브러리입니다. 불칸. 현재 VKD3D 성능을 개선하기 위해 많은 작업이 진행되고 있습니다. Vulkan의 도움으로 설명자 인덱싱 확장DirectX 12 설명자 힙과 유사한 기능을 허용하는 Vulkan 설명자는 덜 자주 작성되고 훨씬 적은 GPU 메모리가 사용됩니다. 결과적으로 VKD3D는 Tier 2 및 Tier 3 하드웨어의 리소스가 필요할 만큼 충분한 설명자를 사용하는 게임을 지원할 수 있습니다.

CrossOver는 향후 CrossOver 22 릴리스와 함께 2022년에 Linux에서 DirectX 12 게임 및 애플리케이션 지원을 공식적으로 시작할 계획입니다. 그러나 회사는 VKD3D가 Mac에서 언제 작동할지 확신하지 못합니다. Apple은 macOS(또는 iOS)에서 Vulkan을 전혀 지원하지 않으며 대신 개발자에게 Vulkan을 사용하도록 요청합니다. 금속 그래픽 라이브러리. 이는 CrossOver의 문제입니다. 블로그 게시물에서는 다음과 같이 말합니다.

일반적으로 Metal은 테셀레이션을 다르게 수행하며 지오메트리 셰이더 및 변환 피드백이 없습니다. DirectX 12 및 Metal에는 리소스 제한 문제가 있습니다. 일반적으로 게임에는 최소 100만 개 이상의 SRV(셰이더 리소스 뷰)에 대한 액세스가 필요합니다. 이렇게 많은 SRV에 액세스하려면 계층 2 수준의 리소스 바인딩이 필요합니다. Metal은 인수 버퍼당 약 500,000개의 리소스만 지원하므로 Tier 2 리소스 바인딩은 불가능합니다. Metal의 제한인 50만개는 Vulkan 설명자 인덱싱에는 충분하지만 D3D12에는 충분하지 않습니다. 이러한 제한은 CrossOver Mac이 Tier 2 바인딩을 지원할 수 없으므로 많은 DirectX 12 게임이 실행되지 않음을 의미합니다.

이러한 어려움에도 불구하고 CodeWeavers는 향후 CrossOver 23 업데이트를 통해 DirectX 12 게임과 응용 프로그램이 Mac에서 작동할 수 있기를 바랍니다. CrossOver의 새로운 주요 버전은 일반적으로 매년 발생하므로 2023년이 될 가능성이 높습니다.

CrossOver를 사용하지 않더라도 CodeWeavers에서 개발한 호환성 개선 사항의 대부분은 Wine 프로젝트에 다시 제출됩니다. 이는 회사의 작업이 Lutris의 Windows 게임을 개선하는 데 도움이 될 수 있음을 의미합니다. 스팀 데크 콘솔, PlayOnLinux 및 기타 Wine 기반 프로젝트. 즉, DirectX 12가 완전히 지원되면 CrossOver는 Steam 외부의 Linux에서 Windows 게임을 플레이하기 위한 강력한 선택이 될 수 있습니다.