Ochiq kodli Win32 API implementatsiyasining eksperimental versiyasi bo'lgan Wine 11.17 chiqarildi. 11.16 chiqarilganidan beri 44 ta xato haqida xabar yopildi va 387 ta o'zgartirish kiritildi.
Eng muhim o'zgarishlar:
- Ekran rejimi emulyatsiyasi uchun dastlabki qo'llab-quvvatlash qo'shildi, bu to'liq ekranli ilovalar va o'yinlarga o'zlarining virtual o'lchamlarida ishlash imkonini beradi, bu esa haqiqiy renderlash paytida monitorning DPI asosida masshtablanadi. Masalan, eski o'yin 640x480 o'lchamdan foydalanishi mumkin, lekin tomonlar nisbatini saqlab qolgan holda yuqori o'lchamdagi ekranda namoyish etiladi.
- Butun tizim va alohida foydalanuvchilar uchun registrda sozlangan va mahalliy sozlamalar asosida sukut bo'yicha yaratilgan afzal interfeys tillari ro'yxatini olish uchun RtlGetSystemPreferredUILanguages va RtlGetUserPreferredUILanguages funksiyalarini qo'llab-quvvatlash qo'shildi. Shuningdek, jarayon va oqim darajasida afzal tillar ro'yxatini aniqlash va sozlash uchun RtlGetProcessPreferredUILanguages, SetProcessPreferredUILanguages, RtlGetSetThreadPreferredUILanguages va SetThreadPreferredUILanguages funksiyalari qo'shildi.
- Direct3D 3 ilovasi bilan o'rnatilgan Vkd12d paketi 2.1 versiyasiga yangilandi.
- Quyidagi ilovalarga tegishli yopiq xato hisobotlari: certmgr.exe, Signtools, Advanced SystemCare 6.4, Autodesk 3ds Max 9, SketchUp 2021, Nokia S60 5th Edition SDK 1.0, PDFCreator, SafeDisc v2.05.030, Bigrats, PTC Pro Engineer Wildfire V5, VisualSubSync 1.0.2.1, PS4 Remote Play 2.x, MigrosBank EBanking 8.2.x, Sparda Bank SecureApp 1.x, MSXML 6.0, Sennheiser Wireless Systems Manager 4.4, Netscape Navigator 3.04, xEdit.
- O'yinlarning ishlashi bilan bog'liq yopiq xatolik hisobotlari: GTA: Vice City, GTA: San Andreas, Tetris JR, Worms Blast, Horizon Chase Turbo, Star Wars: Knights of the Old Republic I/II, GunBound, Marathon, Ground Control, Ankh — Anniversary Edition, Clive Barker's Jericho.
Bundan tashqari, biz sharob bilan bog'liq loyihalarning yangi nashrlarini qayd etishimiz mumkin:
- Wine Staging 11.17 chiqarildi, u asosiy Wine filialiga integratsiya qilish uchun hali mos bo'lmagan to'liq bo'lmagan yoki xavfli yamoqlarni o'z ichiga olgan kengaytirilgan Wine tuzilishlarini taqdim etadi. Wine bilan taqqoslaganda, Wine Staging 279 ta qo'shimcha yamoqlarni taqdim etadi. Yangi Wine Staging versiyasi Wine 11.17 kod bazasi bilan sinxronlashadi va vkd3d kodini yangilaydi. Kernel32.dll kutubxonasida SetThreadpoolTimerEx funksiyasini amalga oshiruvchi yamoq asosiy Wine distributiviga ko'chirildi.
- Men Vulkan grafik API-ga qo'ng'iroqlarni tarjima qilish orqali ishlaydigan Direct3D 12 implementatsiyasi bo'lgan vkd3d 2.1 ni chiqardim. Paketga Direct3D 12 implementatsiyasiga ega libvkd3d kutubxonasi, shader model tarjimoniga ega libvkd3d-shader va Direct3D 12 ilovalarini portlashni soddalashtirish funktsiyalariga ega libvkd3d-utils kiradi. Shuningdek, u glxgears portini Direct3D 12 ga o'z ichiga olgan demolar to'plamini ham o'z ichiga oladi. libvkd3d kutubxonasi grafika va hisoblash vositalari, navbatlar va buyruqlar ro'yxatlari, tavsiflovchilar va uyum tavsiflovchilari, ildiz imzolari, tartibsiz kirish, namunalar, buyruq imzolari, ildiz konstantalari, bilvosita renderlash va Clear*() va Copy*() usullari kabi Direct3D 12 xususiyatlarining aksariyatini qo'llab-quvvatlaydi. libvkd3d-shader shader modeli bayt kodini SPIR-V oraliq tasviriga tarjima qilishni amalga oshiradi.
vkd3d ning yangi versiyasida:
- 4 va 5-shader modellaridan foydalanganda "yarim" turidagi arifmetik amallarni qo'llab-quvvatlash uchun HLSL shader tilini amalga oshirish yangilandi.
- HLSL shader kompilyatori kirish va chiqish ma'lumotlarini tekshirishni kuchaytirdi va 1-3 shader modellarida ishlatilmagan global o'zgaruvchilarni (formalarni) olib tashlash uchun ruxsatnomani joriy qildi.
- GLSL (OpenGL Shading Language) orqa tomoni kirish registrlarining bilvosita manzillanishini, atom taqqoslash va butun sonlarni qo'shish operatsiyalarini, bit operatsiyalari va to'siqlarni, UAV (Unordered Access View) uchun yuklash/saqlash operatsiyalarini va oqim guruhining umumiy xotirasini qo'llab-quvvatlaydi.
- Eskirgan Direct3D ikkilik shader formatini qoʻllab-quvvatlash yaxshilandi. "sub" va "break_cmp" koʻrsatmalari, "_x2", "_x4", "_x8", "_d2", "_d4" va "_d8" koʻrsatmalar modifikatorlari hamda "_bias", "_x2" va "_bx2" operand modifikatorlari joriy etildi.
- SPIR-V shaderlarining oraliq tasviriga o'tkazishda, suzuvchi nuqtali raqamlarni 64 bitli butun sonlarga o'tkazish operatsiyalari uchun qo'llab-quvvatlash qo'shildi.
- Libvkd3d-utils shader aks ettirish API uchun kengaytirilgan qo'llab-quvvatlashga ega. ID3D10ShaderReflection, ID3D10ShaderReflection1 va ID3D11ShaderReflection interfeyslari, shuningdek, ID3D12ShaderReflection va ID3D12ShaderReflectionType interfeyslarining ko'pgina usullari endi amalga oshirildi.
- "Float" turidagi global o'zgaruvchilarni kompilyatsiya qilish uchun vkd3d-compilerga "--allow-half-globals" parametri va libvkd3d-shaderga VKD3D_SHADER_COMPILE_OPTION_BACKCOMPAT_ALLOW_HALF_GLOBALS bayrog'i qo'shildi.
- DXVK 3.1 chiqarildi, u DXGI (DirectX Graphics Infrastructure), Direct3D 8, 9, 10 va 11 implementatsiyasini taqdim etadi va Vulkan API ga qo'ng'iroqlarni tarjima qilish orqali ishlaydi. DXVK dan foydalanish uchun NVIDIA 575.51.02, Mesa AMD RADV 25.0, NVIDIA 25.1 va Intel ANV 25.1 kabi Vulkan 1.4 API ni qo'llab-quvvatlaydigan drayverlar talab qilinadi. DXVK 3D ilovalar va o'yinlarni ishga tushirish uchun ishlatilishi mumkin Linux Wine’dan foydalanib, OpenGL ustida ishlaydigan Wine’ning o‘rnatilgan Direct3D implementatsiyalariga yuqori unumdorlikdagi alternativa sifatida xizmat qiladi.
Yangi versiyada:
- DXGI da VK_KHR_incremental_present Vulkan kengaytmasi yordamida amalga oshirilgan incremental renderlash uchun qo'llab-quvvatlash qo'shildi. Bu faqat ekranning o'zgargan qismlarini yangilash imkonini beradi. Ushbu yangi funksiya VirtualDJ va Ubisoft Connect kabi turli o'yinlarni ishga tushirgichlardagi renderlash muammolarini hal qiladi.
- Buferlarda to'g'ridan-to'g'ri render maqsadli ko'rinishlarini yaratish uchun qo'llab-quvvatlash qo'shildi, bu esa Battlefield 3 kabi ba'zi Frostbite asosidagi o'yinlarda bulutli renderlash artefaktlari bilan bog'liq muammolarni hal qildi.
- Intel GPU-ga xos kengaytmalarni (sotuvchi kengaytmalari) qo'llab-quvvatlash uchun kutubxonalarni yuklash amalga oshirildi.
- Mabinogi, The Witcher 1, Ghost Recon Breakpoint, Mirrors Edge va RaceRoom Racing Experience bilan bog'liq muammolar tuzatildi.
- D7VK 2.2 loyihasi chiqarildi, u Microsoft tomonidan 1996, 1997, 1998 va 1999 yillarda taklif qilingan Direct3D 3, 5, 6 va 7 grafik API-larini amalga oshirishni ishlab chiqadi. D7VK Vulkan API-ga qo'ng'iroqlarni tarjima qilish orqali ishlaydi va sizga ishga tushirish imkonini beradi Linux Direct3D 3, 5, 6 va 7 API-lariga asoslangan retro o'yinlar. Loyiha kodi C++ tilida yozilgan va Zlib litsenziyasi ostida tarqatilgan. Ishlab chiqish DXVK loyihasidan olingan d3d9 backend kodiga asoslangan. D7VK Direct3D 3, 5, 6 va 7 API-larini Direct3D 9 chaqiruvlariga o'zgartiradi, ular keyinchalik Vulkan API-siga tarjima qilinadi. Ishlab chiquvchi Vulkan ustidagi Direct3D 8 va Direct3D 9 implementatsiyalarida bo'lgani kabi, DXVK-ga D7VK qo'shilishini izlamoqchi emas.
Yangi versiya 3.1 DXVK versiyasiga o'tadi, D3D3 qurilmalari uchun D3D3 bajariladigan buferni tekshirish va qayta hisoblashni qayta ishlaydi va D3D5/3 uchun teksturalarni qayta ishlashni yaxshilaydi. Quyidagi o'yinlarni qo'llab-quvvatlashni yaxshilash uchun tuzatishlar kiritildi: The Lord of the Rings, Resident Evil 2 va Frogger o'yinlaridagi Palantírs.
Manba: opennet.ru
