Mesa 26.1 รองรับ Vulkan 1.4 และเร่งความเร็วในการประมวลผลกราฟิกในเครื่องเสมือน

ประเด็นสำคัญ:
  • รองรับ API กราฟิก Vulkan 1.4 อย่างเต็มรูปแบบในไดรเวอร์หลักๆ ในตลาด ได้แก่ ANV, RADV, NVK, HoneyKrisp และ Turnip
  • การนำ VirtIO-GPU มาใช้ในไดรเวอร์ของ Intel ทำให้เครื่องเสมือนสามารถส่งคำสั่งโดยตรงไปยังการ์ดกราฟิกจริงได้
  • ไดรเวอร์ตัวแปล Zink ช่วยให้สามารถใช้งานการเร่งความเร็วฮาร์ดแวร์สำหรับ OpenGL ES 2.0 บนอุปกรณ์ PowerVR ที่ใช้งานร่วมกับ Vulkan ได้เท่านั้น
  • ไดรเวอร์ Rusticl OpenCL ในปัจจุบันต้องการไลบรารีมาตรฐาน C++ ที่เชื่อมโยงแบบคงที่เพื่อหลีกเลี่ยงข้อขัดแย้งขณะรันไทม์
  • VirGL ไม่ได้รับการดูแลรักษาอีกต่อไปแล้ว และจะถูกลบออกจากโค้ดเบสอย่างถาวรหากไม่พบผู้ดูแลรายใหม่

ตาราง 3 มิติ ไดร์เวอร์ลินุกซ์

เมื่อไม่กี่วันก่อน ทีมพัฒนา เบื้องหลังโครงการเมซา ทำให้เป็นที่รู้จัก ผ่านการประกาศความพร้อมใช้งานของ เวอร์ชันทดลอง 26.1.0ซึ่งเป็นตัวแทนของการใช้งานแบบโอเพนซอร์สอ้างอิงสำหรับ API กราฟิก OpenGL และ Vulkan

นี่คือข้อมูลอัปเดตเบื้องต้น นับเป็นก้าวสำคัญอย่างยิ่งด้วยการผสานรวมความเข้ากันได้อย่างสมบูรณ์กับ ข้อมูลจำเพาะ Vulkan 1.4 ในตัวควบคุมหลักๆ ที่วางจำหน่ายในตลาด ตัวควบคุมที่ได้รับประโยชน์ ได้แก่ ANV (Intel), RADV (AMD), NVK (NVIDIA), HoneyKrisp (Apple) และ Turnip (Qualcomm)

นอกเหนือจากการอัปเดตโปรโตคอลแล้ว เวอร์ชันนี้ยังเปลี่ยนแปลงวิธีการทำงานร่วมกันระหว่างสภาพแวดล้อมเสมือนกับฮาร์ดแวร์จริงอย่างสิ้นเชิง และปรับโครงสร้างการสนับสนุนอุปกรณ์พลังงานต่ำใหม่ ด้วยการแนะนำการเร่งความเร็วเครื่องเสมือน การขยาย OpenGL อย่างมีกลยุทธ์ผ่านตัวแปลภาษาเช่น Zink และการลบไดรเวอร์ที่ล้าสมัยอย่าง VirGL ที่กำลังจะเกิดขึ้น Mesa 26.1.0 ไม่เพียงแต่เพิ่มคุณสมบัติใหม่เท่านั้น แต่ยังปรับปรุงโค้ดเบสให้สะอาดขึ้นเพื่อปูทางไปสู่เวอร์ชันเสถียรในอนาคตสำหรับสภาพแวดล้อมการผลิตอีกด้วย

การเร่งความเร็วของกราฟิกในเครื่องเสมือน

Uno หนึ่งในความก้าวหน้าที่โดดเด่นที่สุดในภาคนี้ เป็น การนำการเข้าถึง GPU โดยตรงสำหรับเครื่องเสมือนมาใช้งาน ผ่านโปรโตคอล VirtIO-GPU เริ่มแรกสามารถใช้งานได้กับไดรเวอร์ของ Intel (ไอริส, โครคัส และ ANV) ก่อนหน้านี้ เมื่อเครื่องเสมือน (ระบบ "แขก") ต้องการแสดงผลกราฟิก 3 มิติ มันจะต้องแปลและส่งคำสั่งกราฟิกผ่านเลเยอร์การจำลองและโปรโตคอลระดับกลางหลายชั้นจนกว่าจะถึงระบบปฏิบัติการโฮสต์ (ระบบ "โฮสต์") ซึ่งก่อให้เกิดความหน่วงสูงและจำกัดประสิทธิภาพของเกมหรือแอปพลิเคชันที่ต้องการประสิทธิภาพสูง

ด้วย การนำการเข้าถึง VirtIO-GPU มาใช้จะช่วยขจัดปัญหาคอขวดนี้ได้. และ ขณะนี้ระบบแขกสามารถบรรจุคำสั่งกราฟิกในรูปแบบดั้งเดิมของตนเองได้แล้ว และส่งข้อมูลเหล่านั้นไปยังการ์ดกราฟิกจริงของโฮสต์โดยตรง ข้ามการจำลองเทคโนโลยีนี้เปลี่ยนแปลงประสิทธิภาพของ GPU เสมือนอย่างสิ้นเชิง ทำให้คุณสามารถเล่นเกมและใช้งานซอฟต์แวร์หนักๆ ภายในเครื่องเสมือนได้ด้วยประสิทธิภาพที่เกือบจะเทียบเท่ากับที่ได้รับในสภาพแวดล้อมแบบเนทีฟ

การสนับสนุน OpenGL กำลังขยายไปสู่สถาปัตยกรรมอุปกรณ์พกพาและสถาปัตยกรรมพลังงานต่ำด้วยเช่นกัน. ตัวควบคุม Zink ได้เปิดใช้งานการรองรับ OpenGL ES 2.0 แล้ว ผ่านฮาร์ดแวร์ PowerVR ทำให้สามารถเร่งความเร็วฮาร์ดแวร์บนอุปกรณ์รุ่นใหม่ที่รองรับเฉพาะ API Vulkan เท่านั้น นอกจากนี้ ไดรเวอร์ยัง... แพนฟรอสt ซึ่งได้รับการออกแบบมาสำหรับสถาปัตยกรรม ARM Mali มันรวมส่วนขยาย GL_EXT_shader_image_load_store เข้าไว้ด้วยในขณะเดียวกัน ไดรเวอร์ของ AMD และ Broadcom ก็เพิ่มการรองรับเซมาฟอร์ที่สำคัญและส่วนขยายการแรเงา

การเสื่อมถอยของ VirGL และการกำหนดมาตรฐานสมัยใหม่

การปรับปรุงให้ทันสมัยทั้งหมดนี้ย่อมนำมาซึ่งความล้าสมัยของชิ้นส่วนรุ่นเก่าที่ไม่ตรงตามมาตรฐานประสิทธิภาพในปัจจุบันอย่างหลีกเลี่ยงไม่ได้ ไดรเวอร์ VirGLซึ่งเป็นรากฐานสำคัญในการใช้งาน GPU เสมือนภายในอีมูเลเตอร์ QEMU มานานหลายปี ได้รับการประกาศอย่างเป็นทางการแล้วว่าไม่ต้องบำรุงรักษา.

El ทีมของเมซาได้ออกมาเตือนแล้ว ที่ หากไม่มีนักพัฒนาภายนอกรายใดเสนอตัวรับผิดชอบต่อโค้ดของตน ในระยะสั้น VirGL จะถูกลบออกจากสาขาหลักอย่างถาวร การตัดสินใจครั้งนี้ตอกย้ำความเชื่อมั่นอย่างเต็มเปี่ยมของโครงการที่มีต่อระบบนิเวศ VirtIO-GPU ใหม่ และถือเป็นการสิ้นสุดยุคสมัยของการจำลองกราฟิกแบบโอเพนซอร์ส ซึ่งบังคับให้อุตสาหกรรมต้องเปลี่ยนไปใช้โปรโตคอลที่มีประสิทธิภาพและตรงไปตรงมามากกว่าเดิม

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

จะติดตั้งไดร์เวอร์ Mesa บน Linux ได้อย่างไร?

ลอส แพ็คเกจ Mesa พบได้ในระบบปฏิบัติการ Linux ทั้งหมดดังนั้นการติดตั้งสามารถทำได้โดยการดาวน์โหลดและรวบรวมซอร์สโค้ด (ข้อมูลทั้งหมดเกี่ยวกับเรื่องนี้ที่นี่i) หรือในวิธีที่ค่อนข้างง่าย ซึ่งขึ้นอยู่กับความพร้อมใช้งานภายในช่องทางการจัดจำหน่ายอย่างเป็นทางการของคุณหรือบุคคลที่สาม

สำหรับผู้ที่เป็น ผู้ใช้ Ubuntu, Debian หรือรุ่นที่พัฒนาต่อยอด ในการแจกจ่ายเหล่านี้ มักจะพบ Mesa ในที่เก็บข้อมูลอย่างเป็นทางการ การติดตั้งหรืออัพเดต:

sudo apt update && sudo apt upgrade -y
sudo apt install mesa-utils mesa-va-drivers mesa-vulkan-driv
ERS

หากคุณต้องการ เวอร์ชั่นล่าสุดจาก PPA (สำหรับ Ubuntu และเวอร์ชันที่ดัดแปลง):

sudo add-apt-repository ppa:kisak/kisak-mesa
sudo apt update
sudo apt upgrade -y

ในกรณีของผู้ที่เป็นผู้ใช้ Arch Linux และอนุพันธ์ เราติดตั้งสิ่งเหล่านี้ด้วยคำสั่งต่อไปนี้:

sudo pacman -S mesa mesa-utils mesa-demos mesa-libgl lib32-mesa lib32-mesa-libgl

สำหรับใครก็ตาม ผู้ใช้ fedora, คุณควรทราบว่ามีแพ็คเกจที่อัปเดตอยู่ในที่เก็บข้อมูลของพวกเขาแล้ว และคุณเพียงแค่ต้องรัน:

sudo dnf install mesa-dri-drivers mesa-va-drivers mesa-vulkan-drivers

หากคุณต้องการเวอร์ชันล่าสุด คุณสามารถใช้ที่เก็บข้อมูล Mesa Copr ได้:

sudo dnf copr enable grigorig/mesa-stable
sudo dnf update

สุดท้ายนี้สำหรับผู้ที่ ผู้ใช้ openSUSEคุณสามารถติดตั้งหรืออัปเดตได้โดยการพิมพ์:

sudo zypper in mesa


เพิ่มเป็นแหล่งที่มาที่ต้องการ