เมื่อไม่นานมานี้ มูลนิธิ Raspberry Pi ร่วมกับ Igaliaได้ประกาศต่อสาธารณชนถึงการทำงานร่วมกันในการพัฒนาไดรเวอร์ Vulkan สำหรับบอร์ด Raspberry Piในเบื้องต้น พวกเขาระบุว่าไดรเวอร์นี้จะใช้งานได้กับบอร์ดรุ่นล่าสุดเท่านั้น คือ "Raspberry Pi 4" และนั่นคือจุดเริ่มต้นของการพัฒนา พวกเขาไม่ได้กล่าวถึงวันที่แน่นอนว่าไดรเวอร์จะพร้อมใช้งานเมื่อใด หรือจะเหมาะสมสำหรับการใช้งานจริงเมื่อใด
สิ่งเดียวที่พวกเขากล่าวถึงคือ อาจเป็นไปได้ในช่วงครึ่งหลังของปี 2020 ในข้อกำหนดของตัวควบคุมนั้น ระบุว่าจำกัดเฉพาะการใช้งานร่วมกับตัวเร่งกราฟิก VideoCore VI ซึ่งใช้มาตั้งแต่รุ่น Raspberry Pi 4 และจะไม่สามารถใช้งานร่วมกับบอร์ดรุ่นเก่ากว่าได้ หมายความว่ารุ่น 3b+ และรุ่นก่อนหน้านั้นจะไม่สามารถใช้งานได้
นอกจากนี้พวกเขากล่าวว่าเมื่อเทียบกับ OpenGL การใช้ Vulkan สามารถปรับปรุงประสิทธิภาพของแอพพลิเคชั่นกราฟิกและเกมได้
ด้วยข่าวนี้แฟน ๆ และเจ้าของ Raspberry Pi ที่ไม่ใช่รุ่น 4 จำนวนมากรู้สึกผิดหวังเพราะพวกเขารู้สึกว่าพวกเขาถูกวางเฉยและพวกเขาประกาศในทางปฏิบัติว่าไม่คุ้มค่าที่จะสนับสนุนบอร์ดเหล่านี้ต่อไป
แต่ตอนนี้ในข่าวล่าสุดดูเหมือนว่ามีการเปลี่ยนแปลงเมื่อนักพัฒนามาพิสูจน์เป็นอย่างอื่น
เกี่ยวกับ RPi-VK-Driver 1.0
มาร์ติน โทมัส วิศวกรของ NVIDIA เป็นผู้รับผิดชอบในการพัฒนา RPi-VK-Driverซึ่งเป็นไดรเวอร์โอเพนซอร์ส ที่ตามคำกล่าวของผู้เขียนแล้ว:
"คอนโทรลเลอร์ได้รับการพัฒนาโดยอย่างไรก็ตามการพัฒนาเป็นโปรเจ็กต์ส่วนบุคคลโดยไม่เกี่ยวข้องกับ NVIDIA (คอนโทรลเลอร์ได้รับการพัฒนาในช่วงสองปีที่ผ่านมาในช่วงเวลาว่าง)"
ไดรเวอร์ RPi-VK-Driver 1.0 เวอร์ชันแรกนี้เป็นโอเพนซอร์สและเผยแพร่ภายใต้ใบอนุญาต MIT โดยรองรับ API กราฟิก Vulkanสำหรับบอร์ด Raspberry Pi รุ่นเก่าที่มี GPU Broadcom Videocore IV
ตัวควบคุมนี้เหมาะสำหรับบอร์ด Raspberry Pi ทุกรุ่นที่วางจำหน่ายก่อน Raspberry Pi 4
จากโมเดลที่รองรับมีการกล่าวถึงต่อไปนี้ในที่เก็บ:
- Cero
- ศูนย์ w
- 1 รุ่น
- 1 รุ่น A +
- 1 รุ่น B
- 1 รุ่น B +
- 2 รุ่น B
- 3 รุ่น A +
- 3 รุ่น B
- 3 รุ่น B +
- โมดูลคำนวณ 1
- โมดูลคำนวณ 3
- โมดูลประมวลผล 3 lite
- โมดูลคำนวณ 3+
- โมดูลประมวลผล 3+ lite
เนื่องจากความสามารถของ GPU VideoCore IVซึ่งติดตั้งอยู่ใน Raspberry Pi รุ่นเก่าไม่เพียงพอสำหรับการใช้งาน Vulkan อย่างเต็มรูปแบบ ไดรเวอร์จึงใช้งานเพียงส่วนย่อยของ API Vulkan เท่านั้นซึ่งไม่ได้ครอบคลุมมาตรฐานทั้งหมด แต่พยายามปฏิบัติตามเท่าที่ทีมงานอนุญาต
อย่างไรก็ตามฟังก์ชันการทำงานที่มีอยู่นั้นเพียงพอสำหรับแอปพลิเคชันและเกมจำนวนมากและประสิทธิภาพก็เหนือกว่าไดรเวอร์ OpenGL อย่างมาก เนื่องจากมีการจัดการหน่วยความจำที่มีประสิทธิภาพมากขึ้น การประมวลผลคำสั่ง GPU แบบมัลติเธรด และการควบคุมการทำงานของ GPU โดยตรง
ไดรเวอร์ยังรองรับคุณสมบัติต่างๆ เช่น MSAA (Multisample Anti-aliasing), เชเดอร์ระดับต่ำ และตัวนับประสิทธิภาพข้อจำกัดอย่างหนึ่งคือ การขาดการสนับสนุนเชเดอร์ GLSL ซึ่งยังไม่พร้อมใช้งานในขั้นตอนการพัฒนานี้
สำหรับผู้เขียนเราสามารถเน้นว่าเขายังรับผิดชอบในการเผยแพร่พอร์ตของเกม Quake 3 สำหรับ Raspberry Pi ซึ่งทำหน้าที่สาธิตความสามารถของคอนโทรลเลอร์ใหม่
เกมดังกล่าวมีพื้นฐานมาจากเอ็นจิ้น ioQuake3 ซึ่งได้เพิ่มแบ็กเอนด์การเรนเดอร์แบบแยกส่วนตาม Vulkan ซึ่งพัฒนาโดยโครงการ Quake III Arena Kenny Edition ด้วยการใช้คอนโทรลเลอร์ใหม่ในเกมทำให้สามารถแสดงผลได้มากกว่า 100 เฟรมต่อวินาที (FPS) บนบอร์ด Raspberry Pi 3B + ที่เอาต์พุต 720p
สุดท้ายนี้หากต้องการทราบรายละเอียดเพิ่มเติมเกี่ยวกับการใช้งานคอนโทรลเลอร์นี้สามารถดูได้จากคลังเก็บโค้ดของคอนโทรลเลอร์ตามลิงก์ต่อไปนี้