เวอร์ชั่นเสถียรของ Wine 7.0 เปิดตัวแล้วและนี่คือข่าวของมัน

หลังจาก นำเสนอปีแห่งการพัฒนาและ 30 รุ่นทดลอง เวอร์ชันเสถียรใหม่ของการใช้งานแบบเปิดของ Win32 API ไวน์ 7.0 ซึ่งมีการเปลี่ยนแปลงประมาณ 9100 รายการ

ความสำเร็จที่สำคัญของเวอร์ชันใหม่ ได้แก่ การแปลโมดูลไวน์ส่วนใหญ่ในรูปแบบ PE รองรับธีม การขยายสแต็กสำหรับจอยสติ๊กและอุปกรณ์อินพุตด้วยอินเทอร์เฟซ HID การนำสถาปัตยกรรม WoW64 ไปใช้ เพื่อรันโปรแกรม 32 บิตในสภาพแวดล้อม 64 บิต

ข่าวหลักของ Wine 7.0

ในเวอร์ชันใหม่นี้ DLL เกือบทั้งหมดได้รับการแปลงเพื่อใช้รูปแบบไฟล์ปฏิบัติการ PE (Portable Executable) แทนเอลฟ์ การใช้ PE ช่วยแก้ปัญหาด้วยการสนับสนุนรูปแบบการป้องกันการคัดลอกต่างๆ ที่ตรวจสอบเอกลักษณ์ของโมดูลระบบบนดิสก์และในหน่วยความจำ

นอกจากนั้นแล้ว โมดูล PE สามารถเชื่อมต่อกับไลบรารี Unix ได้ โดยใช้การเรียกระบบเคอร์เนล NT มาตรฐาน ซึ่งทำให้สามารถซ่อนการเข้าถึงโค้ด Unix จากดีบักเกอร์ของ Windows และตรวจสอบบันทึกของเธรดได้

ลา ขณะนี้โหลด DLL ในตัวได้ก็ต่อเมื่อมีไฟล์ PE ที่สอดคล้องกันบนดิสก์ไม่ว่าจะเป็นห้องสมุดจริงหรือต้นขั้ว การเปลี่ยนแปลงนี้ทำให้แอปพลิเคชันเห็นลิงก์ที่ถูกต้องไปยังไฟล์ PE เสมอ คุณสามารถใช้ตัวแปรสภาพแวดล้อม WINEBOOTSTRAPMODE เพื่อปิดใช้งานลักษณะการทำงานนี้

นอกจากนั้นแล้ว มีการนำสถาปัตยกรรม WoW64 มาใช้ซึ่งอนุญาตให้เรียกใช้แอปพลิเคชัน Windows รุ่น 32 บิตในกระบวนการ Unix 64 บิต การสนับสนุนจะดำเนินการผ่านการเชื่อมต่อของเลเยอร์ที่แปลการเรียกระบบ NT แบบ 32 บิตเป็นการโทรแบบ 64 บิตไปยัง NTDLL

เพิ่มไฟล์ ไลบรารี Win32u ใหม่ ซึ่งรวมถึงบางส่วนของไลบรารี GDI32 และ USER32 ที่เกี่ยวข้องกับการประมวลผลกราฟิกและการจัดการหน้าต่างระดับเคอร์เนล ในอนาคต การทำงานจะเริ่มในการย้ายส่วนประกอบไดรเวอร์ เช่น winex11.drv และ winemac.drv ไปยัง Win32u

ในอีกแง่หนึ่งมันโดดเด่น เอ็นจิ้นการเรนเดอร์ใหม่ (ซึ่งแปลการเรียก Direct3D เป็น Vulkan graphics API) ซึ่ง ดีขึ้นอย่างเห็นได้ชัด. ในสถานการณ์ส่วนใหญ่ ระดับการรองรับ Direct3D 10 และ 11 ในเอ็นจิ้นที่ใช้ Vulkan จะถูกจับคู่กับเอ็นจิ้นที่ใช้ OpenGL รุ่นเก่า ในการเปิดใช้งานเอ็นจินการเรนเดอร์ผ่าน Vulkan ให้ตั้งค่าตัวแปรรีจิสตรี Direct3D "renderer" เป็น "vulkan"

ได้ดำเนินการ คุณสมบัติมากมายของ Direct3D 10 และ 11 รวมถึงบริบทที่ขี้เกียจ, ระบุอ็อบเจ็กต์ที่ทำงานในบริบทของอุปกรณ์, ออฟเซ็ตคงที่ในบัฟเฟอร์, ล้างการแสดงพื้นผิวที่ยุ่งเหยิง, คัดลอกข้อมูลระหว่างทรัพยากรในรูปแบบที่ไม่ได้พิมพ์

นอกจากนี้ยังมีการเน้นย้ำว่า เพิ่มการรองรับการตั้งค่าหลายจอภาพซึ่งช่วยให้คุณสามารถเลือกจอภาพเพื่อแสดงแอปพลิเคชัน Direct3D ในโหมดเต็มหน้าจอ ในการเรนเดอร์โค้ดผ่าน Vulkan API ประสิทธิภาพการประมวลผลคิวรีได้รับการปรับปรุงหากระบบรองรับส่วนขยาย VK_EXT_host_query_reset

เพิ่มไฟล์ ความสามารถในการแสดงเฟรมบัฟเฟอร์เสมือน (SwapChain) ผ่าน GDI หาก OpenGL หรือ Vulkan ไม่สามารถใช้แสดงผลได้ เช่น เมื่อส่งออกไปยังหน้าต่างจากกระบวนการต่างๆ เช่น ในโปรแกรมที่ใช้ CEF (Chromium Embedded Framework)

เพิ่มการ์ดแล้ว AMD Radeon RX 5500M, 6800/6800 XT/6900 XT, AMD Van Gogh, Intel UHD Graphics 630 และ NVIDIA GT 1030 ขึ้นอยู่กับการ์ดกราฟิก Direct3D
คีย์ "UseGLSL" ถูกลบออกจากรีจิสทรี HKEY_CURRENT_USER\Software\Wine\Direct3D แทนที่จะใช้ "shader_backend" ใน Wine 5.0

ดำเนินการตามกรอบงานมูลนิธิสื่อต่อไปเพิ่มการรองรับสำหรับฟังก์ชัน IMFPMediaPlayer, ตัวสุ่มตัวอย่าง, การปรับปรุงการรองรับบัฟเฟอร์การเรนเดอร์ EVR และ SAR

ลบไลบรารี wineqtdecoder ซึ่งมีตัวถอดรหัสสำหรับรูปแบบ QuickTime (ขณะนี้ GStreamer ใช้สำหรับตัวแปลงสัญญาณทั้งหมด)

การเปลี่ยนแปลงอื่น ๆ ที่โดดเด่น:

  • เพิ่มแบ็กเอนด์ DirectInput ใหม่สำหรับจอยสติ๊กที่รองรับโปรโตคอล HID
  • ความสามารถในการใช้เอฟเฟกต์คำติชมบนจอยสติ๊กได้ถูกนำไปใช้แล้ว
  • ปรับปรุงแผงควบคุมจอยสติ๊ก
  • ปรับปรุงการโต้ตอบกับอุปกรณ์ที่รองรับ XInput
  • WinMM ย้ายการรองรับจอยสติ๊กไปที่ DInput แทนที่จะใช้แบ็กเอนด์ evdev บน Linux และ IOHID บน macOS IOHID
  • นำไดรเวอร์จอยสติ๊กเก่าของ winejoystick.drv ออก
  • มีการเพิ่มการทดสอบใหม่ลงในโมดูล DInput โดยอิงจากการใช้อุปกรณ์ HID เสมือน และไม่ต้องใช้อุปกรณ์จริง
  • รันไทม์ C ใช้ชุดฟังก์ชันทางคณิตศาสตร์ที่สมบูรณ์ ซึ่งส่วนใหญ่ยกมาจากไลบรารี Musl
  • แพลตฟอร์ม CPU ทั้งหมดให้การสนับสนุนที่ถูกต้องสำหรับฟังก์ชันจุดลอยตัว
  • เพิ่มการรองรับโปรโตคอล DTLS
  • มีการนำบริการ NSI (Network Store Interface) มาใช้ ซึ่งจัดเก็บและส่งข้อมูลเกี่ยวกับการกำหนดเส้นทางและอินเทอร์เฟซเครือข่ายบนคอมพิวเตอร์ไปยังบริการอื่นๆ
  • ตัวจัดการ WinSock API เช่น setockopt และ getsockopt ถูกย้ายไปยังไลบรารี NTDLL และไดรเวอร์ afd.sys เพื่อให้เข้ากับสถาปัตยกรรม Windows

ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมคุณสามารถตรวจสอบรายละเอียดได้ในไฟล์ ลิงค์ต่อไปนี้

จะติดตั้ง Wine 7.0 บน Ubuntu และอนุพันธ์ได้อย่างไร?

สำหรับผู้ที่สนใจจะสามารถติดตั้ง Wine เวอร์ชันใหม่นี้ได้ เพียงแค่เปิดเทอร์มินัลแล้วพิมพ์คำสั่งต่อไปนี้ลงไป:

  1. sudo apt install libgnutls30:i386 libgpg-error0:i386 libxml2:i386 libasound2-plugins:i386 libsdl2-2.0-0:i386 libfreetype6:i386 libdbus-1-3:i386 libsqlite3-0:i386
  2. sudo dpkg --add-architecture i386
    wget -nc https://dl.winehq.org/wine-builds/winehq.key && sudo apt-key add winehq.key
  3. sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ '$(lsb_release -cs)' main'
  4. sudo apt install --install-recommends winehq-stable

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา