CodeWeavers membantu game DirectX 12 Windows untuk dijalankan di Linux

CodeWeavers, pengembang CrossOver, sedang mengerjakan peningkatan DirectX 12 di lapisan kompatibilitas CodeWeavers dan Wine.

Penenun Kode Menyeberang adalah salah satu cara paling populer untuk menjalankan aplikasi Windows di sistem operasi lain. Ini menggabungkan karya luar biasa dari sumber terbuka Proyek anggur (dimana pengembang CrossOver menyumbangkan kodenya) dengan antarmuka dan front end yang lebih mudah digunakan. CodeWeavers merilis CrossOver 21 kembali pada bulan Agustus, dan kini perusahaan telah membagikan detail tentang upayanya menghadirkan dukungan game modern ke Linux dan Mac.

Banyak game Windows terkini (dan aplikasi berat grafis lainnya) mengandalkan DirectX 12, versi terbaru Perpustakaan grafis DirectX Microsoft, yang menggunakan API tingkat rendah untuk mencapai kinerja lebih cepat. DirectX hanya tersedia di Windows (dan konsol Xbox), sehingga lapisan kompatibilitas Wine menggunakan VKD3D perpustakaan grafis untuk menjalankan panggilan Direct3D di atas Vulkan (yang tersedia di Linux, Windows, dan lainnya platform). Perpustakaan Vkd3d adalah

terutama dikembangkan oleh Valve Software untuk itu Lapisan kompatibilitas proton, dan kemajuan pesat di VKD3D adalah alasan utama mengapa begitu banyak game Windows kini dapat dimainkan di Linux.

Meskipun CrossOver sudah menyertakan VKD3D, CrossOver tidak secara resmi mendukung game DirectX 12 sementara pengembangnya menemukan beberapa masalah kinerja, menurut yang baru postingan blog:

CrossOver menggunakan VKD3D untuk menjalankan game DirectX 12. VKD3D adalah perpustakaan grafis 3D yang dibangun di atasnya Vulkan. Saat ini, banyak pekerjaan yang dilakukan untuk meningkatkan kinerja VKD3D. Dengan bantuan Vulkan ekstensi pengindeksan deskriptor, yang memungkinkan fungsionalitas yang mirip dengan tumpukan deskriptor DirectX 12, deskriptor Vulkan lebih jarang ditulis dan memori GPU yang digunakan jauh lebih sedikit. Hasilnya, VKD3D dapat mendukung game yang menggunakan deskriptor yang cukup sehingga memerlukan sumber daya dari perangkat keras Tier 2 dan Tier 3.

CrossOver berencana untuk secara resmi mulai mendukung game dan aplikasi DirectX 12 di Linux pada tahun 2022, dengan rilis CrossOver 22 di masa mendatang. Namun, perusahaan tidak begitu yakin kapan VKD3D akan berfungsi di Mac. Apple tidak mendukung Vulkan sama sekali di macOS (atau iOS), malah meminta pengembang untuk menggunakannya Perpustakaan grafis logam. Itu masalah untuk CrossOver, seperti yang dikatakan dalam postingan blog:

Secara umum, Metal melakukan tesselasi secara berbeda, dan tidak memiliki shader geometri serta umpan balik transformasi. Khusus untuk DirectX 12 dan Metal, terdapat masalah dengan batasan sumber daya. Umumnya, game memerlukan akses ke setidaknya satu juta tampilan sumber daya shader (SRV). Akses ke SRV sebanyak itu memerlukan pengikatan sumber daya pada tingkat Tingkat 2. Metal hanya mendukung sekitar 500.000 sumber daya per buffer argumen, sehingga pengikatan sumber daya Tingkat 2 tidak dimungkinkan. Batasan logam sebesar setengah juta sudah cukup untuk pengindeksan deskriptor Vulkan, tetapi tidak untuk D3D12. Batasan ini berarti CrossOver Mac tidak dapat mendukung pengikatan Tingkat 2 dan oleh karena itu banyak game DirectX 12 yang tidak dapat dijalankan.

Terlepas dari tantangan ini, CodeWeavers berharap game dan aplikasi DirectX 12 dapat berfungsi di Mac dengan pembaruan CrossOver 23 di masa mendatang. Versi utama CrossOver yang baru biasanya diadakan setiap tahun, jadi kemungkinan besar akan terjadi pada tahun 2023.

Bahkan jika Anda tidak menggunakan CrossOver, sebagian besar peningkatan kompatibilitas yang dikembangkan oleh CodeWeavers dikirimkan kembali ke proyek Wine. Itu berarti pekerjaan perusahaan dapat membantu meningkatkan permainan Windows di Lutris Konsol Steam Deck, PlayOnLinux, dan proyek lain berdasarkan Wine. Meskipun demikian, setelah dukungan penuh DirectX 12 hadir, CrossOver bisa menjadi pilihan menarik untuk memainkan game Windows di Linux di luar Steam.