- Vulkan เป็น API กราฟิก 3 มิติแบบเปิดและใช้งานได้หลายแพลตฟอร์ม ซึ่งให้การควบคุมและประสิทธิภาพที่เหนือกว่า OpenGL เทียบเท่ากับ DirectX 12 แต่ไม่ผูกติดกับระบบปฏิบัติการใดระบบปฏิบัติการหนึ่ง
- ในการใช้งาน Vulkan บน Linux จำเป็นต้องมี GPU ที่ใช้งานร่วมกันได้และไดรเวอร์ที่อัปเดตแล้ว การติดตั้งจะทำโดยใช้แพ็กเกจเฉพาะสำหรับแต่ละดิสทริบิวชัน
- เครื่องมือต่างๆ เช่น vulkan-tools, validation layers, Shaderc และ Vulkan SDK (LunarG) ช่วยอำนวยความสะดวกในการพัฒนาและแก้ไขข้อบกพร่องของแอปพลิเคชันและเกมที่ใช้ API นี้
- Vulkan เป็นหัวใจสำคัญของการเล่นเกมบน Linux โดยเป็นตัวขับเคลื่อน Proton และ DXVK ช่วยปรับปรุงประสิทธิภาพของเกมหลายเกม และให้การสนับสนุนขั้นสูง เช่น Ray Tracing ผ่านส่วนขยาย KHR

หากคุณใช้ GNU/Linux ในการเล่นหรือพัฒนาวิดีโอเกม คุณคงเคยได้ยินเรื่องนี้มาบ้างแล้ว Vulkan เป็นทางเลือกที่ทันสมัยแทน OpenGL และ DirectXในเกมใหม่ๆ หลายเกม โดยเฉพาะอย่างยิ่งเมื่อใช้ Proton, Wine หรือ Lutris ในการเล่นเกมบน Windows การตั้งค่า Vulkan อย่างถูกต้องจะทำให้ประสบการณ์การเล่นเกมราบรื่นขึ้น และทำให้เกมกระตุกอย่างมาก
ในระบบปฏิบัติการอย่าง Linux Mint, Ubuntu, Debian, Fedora, Arch หรือ openSUSE ข่าวดีก็คือ... การติดตั้ง Vulkan โดยทั่วไปแล้วทำได้ง่ายๆ เพียงแค่ใช้คำสั่งไม่กี่คำสั่งในเทอร์มินัลถึงกระนั้น การทำความเข้าใจสิ่งที่คุณกำลังติดตั้ง วิธีตรวจสอบว่าทุกอย่างทำงานได้หรือไม่ และแพ็กเกจเสริมใดบ้างที่น่าสนใจ หากคุณต้องการจริงจังกับการพัฒนาด้านกราฟิก หรือต้องการใช้ GPU ให้เกิดประโยชน์สูงสุด ก็เป็นสิ่งสำคัญ
Vulkan คืออะไร และทำไมจึงมีความสำคัญมากใน Linux?

Vulkan คือ API กราฟิก 3 มิติแบบข้ามแพลตฟอร์มระดับต่ำ Vulkan ถูกสร้างและดูแลโดย Khronos Group ซึ่งเป็นกลุ่มเดียวกับที่รับผิดชอบมาตรฐานต่างๆ เช่น OpenGL โดยเปิดตัวสู่สาธารณะในงาน GDC 2015 ซึ่งในตอนแรกถูกนำเสนอว่าเป็นวิวัฒนาการของ "Next Generation OpenGL" แต่ชื่อนั้นถูกยกเลิกไปในที่สุด และเรียกง่ายๆ ว่า Vulkan
พื้นฐานทางเทคโนโลยีของ Vulkan มาจาก Mantle คือ API ที่พัฒนาโดย AMDAMD มอบหมายงานให้กับ Khronos Group ก็เพื่อให้มันกลายเป็นมาตรฐานระดับต่ำแบบเปิด ซึ่งเทียบได้กับ DirectX 12 บน Windows แต่สามารถใช้งานได้กับทุกแพลตฟอร์ม ไม่ว่าจะเป็น Linux, Windows, Android, คอนโซลเกม, ความเป็นจริงเสมือน ฯลฯ
หนึ่งในแง่มุมสำคัญของ Vulkan คือ มันใช้ประโยชน์จากคอร์ CPU ได้อย่างมีประสิทธิภาพมากวิธีนี้ช่วยลดภาระการทำงานของ API แบบดั้งเดิม เช่น OpenGL ทำให้สามารถจัดการคำสั่งวาดภาพ ฉากที่ซับซ้อน และเอฟเฟกต์ขั้นสูงได้มากขึ้น โดยที่หน่วยประมวลผลไม่เกิดปัญหาคอขวดอย่างรวดเร็ว
เมื่อเทียบกับ OpenGL ซึ่งเป็นรุ่นก่อนหน้าและ API ที่เป็นกรรมสิทธิ์ Vulkan มีข้อดีหลายประการ ลดการใช้งาน CPU ควบคุม GPU ได้โดยตรงมากขึ้น และเพิ่มประสิทธิภาพการทำงานแบบมัลติคอร์ได้ดีขึ้นโดยทั่วไปแล้ว มันอยู่ในระดับแนวคิดเดียวกับ DirectX 12, Metal (ของ Apple) หรือ Mantle แต่มีข้อได้เปรียบตรงที่เป็นมาตรฐานแบบเปิดและใช้งานได้บนหลายแพลตฟอร์ม
การอยู่ใกล้ชิดกับฮาร์ดแวร์เช่นนี้ย่อมมีราคาที่ต้องจ่าย: การเขียนโปรแกรมด้วย Vulkan นั้นไม่ใช่เรื่องง่ายเลยหลายคนเปรียบเทียบมันกับภาษา C++ เมื่อเทียบกับภาษาโปรแกรมระดับสูงกว่า มันให้การควบคุมที่ยอดเยี่ยม แต่บังคับให้นักพัฒนาต้องจัดการกับรายละเอียดมากมายที่มักถูกมองข้ามไปใน API ที่ใช้งานง่ายกว่า
ข้อดีของการใช้ Vulkan สำหรับเกมและการพัฒนาซอฟต์แวร์

จากมุมมองของผู้ใช้งาน หนึ่งในจุดแข็งที่ยิ่งใหญ่ที่สุดของ Vulkan คือ ช่วยให้คุณได้ประสิทธิภาพที่สูงขึ้นด้วยฮาร์ดแวร์ชุดเดิมมันไม่ได้เกิดขึ้นเสมอไปในทุกเกม แต่เมื่อการนำไปใช้ทำได้ดี คุณจะได้รับเฟรมเรตที่สูงขึ้นอย่างเห็นได้ชัด โดยเฉพาะอย่างยิ่งในคอมพิวเตอร์สเปคปานกลางหรือซีพียูรุ่นเก่า
สำหรับนักพัฒนา Vulkan มีข้อดีหลายประการ การควบคุมการจัดการหน่วยความจำ คิวคำสั่ง และการซิงโครไนซ์ที่ละเอียดมากวิธีนี้ช่วยให้สามารถใช้ประโยชน์จาก GPU ได้อย่างเต็มที่ วางแผนการทำงานแบบขนานได้ดีขึ้น และลดเวลาหยุดทำงานและภาระการทำงานของ CPU ให้น้อยที่สุด
เมื่อเปรียบเทียบกับ DirectX ความแตกต่างที่สำคัญคือ Vulkan เป็น API แบบเปิดและใช้งานได้บนหลายแพลตฟอร์มแม้ว่า DirectX จะผูกติดอยู่กับ Windows และระบบนิเวศของ Microsoft อย่างมาก แต่ถ้าคุณต้องการให้เอนจิ้นหรือเกมของคุณทำงานบน Linux, Steam Deck, Android หรือแม้แต่คอนโซลบางรุ่น Vulkan ก็เป็นหนึ่งในตัวเลือกที่เหมาะสมที่สุด
อีกด้านหนึ่งของเหรียญก็คือ โดยทั่วไปแล้ว DirectX ใช้งานง่ายกว่า สำหรับสตูดิโอหลายแห่ง สาเหตุส่วนหนึ่งเป็นเพราะ Microsoft มีเครื่องมือ เอกสาร และไลบรารีสำเร็จรูปมากมายให้เลือกใช้ ส่วน Vulkan นั้นมีทุกอย่างให้พร้อมใช้งาน แต่คุณต้องทุ่มเทความพยายามมากขึ้นและยอมรับความซับซ้อนที่มากกว่าตั้งแต่เริ่มต้น
ในทางปฏิบัติ หากคุณเป็นเกมเมอร์บน Linux สิ่งที่คุณสนใจมากที่สุดคือ เอ็นจิ้นและเลเยอร์ความเข้ากันได้หลายตัว (Proton, DXVK เป็นต้น) อาศัย Vulkan ในการแปล แปลง DirectX เป็น Vulkan อย่างมีประสิทธิภาพหากไม่ได้ติดตั้ง Vulkan อย่างถูกต้อง เกมบางเกมจะไม่สามารถเริ่มต้นได้ หรืออาจทำงานได้ไม่เต็มประสิทธิภาพ
ความเข้ากันได้ของ Vulkan กับ GPU และไดรเวอร์ของคุณบน Linux
ก่อนที่คุณจะเริ่มติดตั้งแพ็กเกจต่างๆ อย่างไม่ยั้งคิด สิ่งสำคัญคือต้องทราบว่า ตรวจสอบว่าการ์ดจอของคุณรองรับ Vulkan หรือไม่ไม่ใช่รถยนต์ทุกรุ่น โดยเฉพาะรุ่นเก่ามาก ๆ จะมีไดรเวอร์ที่รองรับ API นี้
สิ่งที่ควรทำที่สุดคือไปที่... โดยตรง เว็บไซต์อย่างเป็นทางการของผู้ผลิตการ์ดจอของคุณ (AMD, NVIDIA หรือ Intel) และตรวจสอบข้อมูลจำเพาะหรือรายการอุปกรณ์ที่รองรับ Vulkan โดยทั่วไปแล้ว การ์ดจอสำหรับเดสก์ท็อปหรือแล็ปท็อปรุ่นใหม่ๆ จะใช้งานร่วมกันได้ แต่ควรตรวจสอบให้แน่ใจอีกครั้งจะดีที่สุด
อีกประเด็นสำคัญคือ ใน Linux คุณจำเป็นต้องมี ไดรเวอร์ที่อัปเดตและเสถียรในระบบปฏิบัติการหลายๆ ระบบ คุณสามารถเลือกใช้ไดรเวอร์แบบโอเพนซอร์ส (เช่น Mesa, Nouveau) หรือไดรเวอร์แบบกรรมสิทธิ์ (โดยเฉพาะสำหรับ NVIDIA) ได้ โดยทั่วไปแล้วทั้งสองแบบจะรองรับ Vulkan แต่คุณภาพและประสิทธิภาพอาจแตกต่างกันไป
บนการ์ด AMD นั้น สถาปัตยกรรมที่ใช้ GCN และ RDNA พวกเขาให้การสนับสนุน Vulkan อย่างครอบคลุม ทั้งผ่านไดรเวอร์โอเพนซอร์สและแพ็กเกจอย่างเป็นทางการ ที่ NVIDIA นั้น รองรับโปรเซสเซอร์รุ่นใหม่เกือบทั้งหมด (Kepler, Maxwell, Pascal, Volta, Turing, Ampere ฯลฯ) ผ่านไดรเวอร์ไบนารีของพวกเขา
ที่ Intel นั้น การสนับสนุนค่อนข้างจำกัดมาโดยตลอด แต่ การ์ดจอออนบอร์ดรุ่นใหม่ (Iris Plus, Intel Xe, Intel ARC) ฟีเจอร์เหล่านี้รวมถึงความเข้ากันได้ในตัว เช่นเคย การอัปเดตไดรเวอร์ให้ทันสมัยอยู่เสมอเป็นสิ่งสำคัญเพื่อให้ได้รับประโยชน์จากส่วนขยาย Vulkan ล่าสุดและการแก้ไขข้อผิดพลาด
ติดตั้ง Vulkan บน Linux Mint และ Ubuntu (และระบบปฏิบัติการที่พัฒนาต่อยอดจาก Ubuntu)
ในระบบที่ใช้ Ubuntu เป็นพื้นฐาน (เช่น Linux Mint, Pop!_OS, Elementary, Zorin เป็นต้น) เป็นเรื่องปกติที่จะ... ฐาน Vulkan สามารถดาวน์โหลดโดยตรงจากที่เก็บซอฟต์แวร์ได้อย่างไรก็ตาม เพื่อให้ได้ประสิทธิภาพสูงสุดกับ GPU ของ AMD หรือ NVIDIA ควรเพิ่ม PPA ไดรเวอร์เฉพาะลงไปด้วย
ติดตั้งเครื่องมือ Vulkan บน Linux Mint อย่างรวดเร็ว
หากคุณใช้ Linux Mint 19 (หรือเวอร์ชันที่ใหม่กว่า) คุณสามารถติดตั้งยูทิลิตี้พื้นฐานและไลบรารีสำหรับการพัฒนาได้ด้วยคำสั่งเพียงไม่กี่คำสั่ง เปิดเทอร์มินัลแล้วพิมพ์คำสั่งต่อไปนี้:
sudo apt install vulkan-tools
แพ็คเกจนี้ประกอบด้วยเครื่องมือต่างๆ เช่น vulkaninfo และ vkcubeมีประโยชน์มากสำหรับการตรวจสอบว่า Vulkan ทำงานได้อย่างถูกต้องบนระบบของคุณหรือไม่
ถัดไป ติดตั้งเฮดเดอร์หลักและไลบรารีสำหรับการพัฒนาของ Vulkan ด้วยคำสั่ง:
sudo apt install libvulkan-dev
ด้วยวิธีนี้คุณจะได้ ไฟล์เฮดเดอร์ที่จำเป็นสำหรับการคอมไพล์โปรแกรมที่ใช้ Vulkanสิ่งนี้จำเป็นอย่างยิ่งหากคุณต้องการทดลองใช้งานตัวอย่าง การสาธิต หรือเอนจิ้นกราฟิก
ขอแนะนำอย่างยิ่งให้เพิ่มเลเยอร์การตรวจสอบและเครื่องมือที่เกี่ยวข้องกับ SPIR-V ดังต่อไปนี้:
sudo apt install vulkan-validationlayers spirv-tools
ลา ระบบตรวจสอบความถูกต้องจะแจ้งเตือนคุณเมื่อพบข้อผิดพลาดในการใช้งาน API เมื่อคุณทำการพัฒนา โปรแกรม SPIR-V จะช่วยคุณจัดการเชเดอร์ที่คอมไพล์เป็นรูปแบบตัวกลางทั่วไปของ Vulkan
เพื่อทดสอบว่าการติดตั้งสำเร็จหรือไม่ ให้รันคำสั่งต่อไปนี้ในเทอร์มินัล:
vkcube
ถ้าทุกอย่างเป็นไปด้วยดี หน้าต่างควรจะปรากฏขึ้นพร้อมกับ... ลูกบาศก์ 3 มิติหมุนได้ แสดงผลโดยใช้ Vulkanหากไม่มีอะไรปรากฏขึ้น คุณได้รับข้อผิดพลาดในเทอร์มินัล หรือหน้าต่างไม่เปิด นั่นเป็นสัญญาณว่ามีปัญหาเกี่ยวกับไดรเวอร์ การกำหนดค่า GPU หรือแพ็กเกจที่ติดตั้งไว้
แหล่งเก็บซอฟต์แวร์สำหรับ AMD และ NVIDIA บน Ubuntu และระบบปฏิบัติการที่พัฒนาต่อยอดจาก Ubuntu
ใน Ubuntu, Linux Mint และระบบที่เกี่ยวข้อง โดยทั่วไปแล้ว Oibaf PPA จะใช้สำหรับกราฟิกการ์ด AMD ซึ่ง มันนำเสนอ Mesa เวอร์ชันใหม่กว่าและไดรเวอร์การ์ดจอหากต้องการเพิ่ม ให้รันคำสั่ง:
sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt update
sudo apt upgrade
เมื่อระบบได้รับการอัปเดตด้วยแพ็กเกจเหล่านี้แล้ว ให้ติดตั้งส่วนประกอบ Vulkan ที่จำเป็นโดยใช้คำสั่งต่อไปนี้:
sudo apt install libvulkan1 mesa-vulkan-drivers vulkan-utils
ด้วยสิ่งนี้คุณจะมี ไลบรารีหลักของ Vulkan, ไดรเวอร์ Mesa พร้อมการสนับสนุน API และยูทิลิตี้พื้นฐาน เหมือนกับ vulkaninfo
สำหรับผู้ใช้การ์ดจอ NVIDIA โดยทั่วไปจะใช้ PPA ของไดรเวอร์กราฟิกอย่างเป็นทางการเพื่อดาวน์โหลดไดรเวอร์เวอร์ชันล่าสุด เพิ่มได้ดังนี้:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt upgrade
จากนั้นติดตั้งไดรเวอร์ NVIDIA ที่รองรับ Vulkan พร้อมกับเครื่องมือที่เกี่ยวข้อง (หมายเลขเวอร์ชันอาจแตกต่างกันไปขึ้นอยู่กับยุคสมัย):
sudo apt install nvidia-graphics-drivers-396 nvidia-settings vulkan vulkan-utils
ด้วยสิ่งนี้คุณจะมี ไดรเวอร์เฉพาะของ NVIDIA เครื่องมือการกำหนดค่า และแพ็กเกจ Vulkan ที่จำเป็น เพื่อตรวจสอบว่าทุกอย่างทำงานได้ปกติ
การติดตั้ง Vulkan บน Debian
ใน Debian และระบบปฏิบัติการที่พัฒนาต่อยอดจาก Debian โดยตรงนั้น แนวคิดคล้ายคลึงกันมาก แต่คลังซอฟต์แวร์ค่อนข้างอนุรักษ์นิยมมากกว่า ถึงกระนั้นก็ตาม แพ็กเกจ Vulkan พื้นฐานมักหาได้ง่าย.
สำหรับผู้ใช้ที่มีการ์ดจอ AMD คุณสามารถติดตั้ง Vulkan base ได้โดยใช้คำสั่ง:
sudo apt install libvulkan1 mesa-vulkan-drivers vulkan-utils
สิ่งนี้จะทำให้คุณ ไลบรารีที่ใช้ร่วมกัน libvulkan, ไดรเวอร์ Mesa ที่รองรับ Vulkan และยูทิลิตี้สำหรับการวินิจฉัย เหมือนกับ vulkaninfo
หากการ์ดจอของคุณเป็นของ NVIDIA ในหลายๆ กรณี การติดตั้งยูทิลิตี้ Vulkan ก็เพียงพอแล้ว โดยมีเงื่อนไขว่าคุณได้ติดตั้งไดรเวอร์ NVIDIA ที่ถูกต้องไว้แล้ว:
sudo apt install vulkan-utils
โปรดจำไว้ว่าใน Debian นั้นเป็นเรื่องปกติที่จะต้อง... กำหนดค่าที่เก็บข้อมูลที่ไม่ใช่แบบฟรีหรือแบบ contrib หากต้องการเข้าถึงไดรเวอร์ NVIDIA ที่เป็นกรรมสิทธิ์ โปรดตรวจสอบไฟล์ของคุณ /etc/apt/sources.list หากคุณสังเกตว่าแพ็กเกจที่คาดหวังไม่ปรากฏขึ้น
การติดตั้ง Vulkan บน Fedora
ใน Fedora นั้น Vulkan พร้อมใช้งานค่อนข้างดี โดยเฉพาะอย่างยิ่งเมื่อใช้ repository ที่เหมาะสม สำหรับ GPU ของ AMD การติดตั้งทำได้ง่ายมากโดยใช้ DNF:
sudo dnf install vulkan vulkan-info
คำสั่งนี้จะทำการติดตั้ง ไลบรารี Vulkan และเครื่องมือ vulkan-infoซึ่งคุณสามารถใช้เพื่อแสดงรายการความสามารถ ส่วนขยาย และอุปกรณ์ที่มีอยู่
สำหรับ GPU ของ NVIDIA มีขั้นตอนเบื้องต้นที่สำคัญอย่างหนึ่งคือ ในหลายกรณี คุณจะต้องเปิดใช้งานที่เก็บข้อมูล RPM Fusion (ทั้งแบบฟรีและไม่ฟรี) เพื่อให้สามารถติดตั้งไดรเวอร์ที่เป็นกรรมสิทธิ์และการสนับสนุนเพิ่มเติมสำหรับ Vulkan ได้
คุณสามารถเพิ่ม RPM Fusion บน Fedora ได้โดยการเรียกใช้คำสั่ง:
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
เมื่อเปิดใช้งานแล้ว ให้ติดตั้งไดรเวอร์ NVIDIA และ Vulkan ด้วยคำสั่ง:
sudo dnf install xorg-x11-drv-nvidia akmod-nvidia vulkan vulkan-tools
อัคโมดส์จะเป็นผู้รับผิดชอบ คอมไพล์โมดูลเคอร์เนลของ NVIDIA เมื่อจำเป็นและแพ็กเกจ Vulkan จะเพิ่มไลบรารีและยูทิลิตี้ต่างๆ เพื่อใช้ประโยชน์จาก API บนระบบ Fedora ของคุณ
การติดตั้ง Vulkan บน openSUSE
ผู้ใช้ openSUSE ไม่ว่าจะใช้ Leap หรือ Tumbleweed ก็สามารถติดตั้ง Vulkan ได้ด้วยคำสั่งเดียว โดยปรับแพ็กเกจให้เหมาะสมกับ GPU ที่ใช้งาน สำหรับการ์ด AMD คำสั่งที่แนะนำคือ:
sudo zypper in vulkan libvulkan1 vulkan-utils mesa-vulkan-drivers
ด้วยสิ่งนี้คุณจะได้รับ ไลบรารี Vulkan, เครื่องมือทดสอบ และไดรเวอร์ Mesa พร้อมใช้งาน API แล้ว ใช้งานร่วมกับฮาร์ดแวร์ AMD ของคุณ
หากการ์ดจอของคุณเป็น NVIDIA โดยทั่วไปแล้ว การตั้งค่าต่อไปนี้ก็เพียงพอแล้ว:
sudo zypper in vulkan libvulkan1 vulkan-utils
ต้องแน่ใจเสมอว่า คุณได้ติดตั้งไดรเวอร์ NVIDIA ที่ถูกต้องแล้ว สำหรับรุ่นของคุณ openSUSE มีที่เก็บไดรเวอร์เฉพาะสำหรับไดรเวอร์เหล่านี้ ซึ่งควรเปิดใช้งานจาก YaST หรือเพิ่มที่เก็บด้วยตนเอง
ติดตั้ง Vulkan บน Arch Linux และระบบปฏิบัติการที่พัฒนาต่อยอดจาก Arch Linux (เช่น Manjaro, EndeavourOS เป็นต้น)
ใน Arch Linux และดิสทริบิวชันที่ใช้ Arch Linux เป็นพื้นฐาน (เช่น Manjaro, EndeavourOS, Antergos ในอดีต) การติดตั้ง Vulkan นั้นมีความเชื่อมโยงอย่างใกล้ชิดกับ... ไดรเวอร์เฉพาะสำหรับ GPU แต่ละตัวPacman และ AUR ทำให้การมีเวอร์ชันที่เหมาะสมง่ายขึ้นมาก
หากคุณใช้การ์ดจอ Intel คุณสามารถติดตั้งได้ดังนี้:
sudo pacman -S vulkan-intel
แพ็คเกจนี้ประกอบด้วย การใช้งาน Vulkan สำหรับ GPU ในตัวของ Intelซึ่งจำเป็นอย่างยิ่งสำหรับเกมหรือแอปพลิเคชันที่ต้องพึ่งพา API นี้
ในกรณีของ AMD ที่ใช้ไดรเวอร์ Radeon (ไดรเวอร์โอเพนซอร์สมาตรฐานใน Arch) คุณควรติดตั้ง:
sudo pacman -S vulkan-radeon
ด้วยสิ่งนี้คุณจะได้รับ เลเยอร์ Vulkan เฉพาะสำหรับการ์ด Radeonผสานรวมเข้ากับ Mesa และมีการอัปเดตอย่างสม่ำเสมอในคลังเก็บข้อมูลอย่างเป็นทางการของ Arch
หากคุณใช้ AMDGPU Pro และต้องการเลเยอร์ Vulkan เฉพาะของ AMD โดยปกติแล้วจะมีการแจกจ่ายผ่าน AUR ตัวอย่างแพ็กเกจทั่วไปจะเป็นดังนี้:
yay -S amdgpu-pro-vulkan
โปรดจำไว้ว่าเมื่อดึง AUR คุณรวบรวมแพ็กเกจที่ดูแลโดยชุมชนดังนั้น จึงควรตรวจสอบไฟล์ PKGBUILD และระมัดระวังในการติดตั้งโปรแกรมต่างๆ
เพื่อตรวจสอบว่าระบบตรวจจับ Vulkan บน Arch และระบบปฏิบัติการที่พัฒนาต่อยอดจาก Arch ได้หรือไม่ คุณสามารถใช้เครื่องมืออย่าง vulkaninfo หรือตรวจสอบการมีอยู่ของส่วนขยายได้โดยใช้คำสั่งต่อไปนี้:
glxinfo | grep -i vulkan
แม้ว่า glxinfo จะเน้นไปที่ OpenGL มากกว่า แต่ในหลายๆ ครั้ง นี่เป็นเบาะแสที่จะช่วยให้ทราบว่ามีการรองรับ Vulkan หรือไม่ ในส่วนของสแต็กกราฟิก นอกเหนือจากสิ่งที่ vulkaninfo รายงานเองแล้ว
แพ็คเกจเสริมที่แนะนำสำหรับการพัฒนาด้วย Vulkan
หากไอเดียของคุณไม่ใช่แค่การเล่นเกม แต่ยังต้องการเรียนรู้หรือทำงานกับ Vulkan สำหรับการพัฒนาวิดีโอเกมหรือแอปพลิเคชัน 3 มิติ ก็มีตัวเลือกมากมายให้คุณเลือก ไลบรารีและเครื่องมือเสริมที่น่าสนใจมาก ซึ่งคุณสามารถติดตั้งได้บน Linux Mint/Ubuntu และระบบปฏิบัติการที่พัฒนาต่อยอดจาก Ubuntu
อันดับแรก ร้านหนังสือ libxxf86vm-devซึ่งมีส่วนขยายที่เกี่ยวข้องกับการจัดการโหมดวิดีโอใน X11 อาจมีประโยชน์สำหรับบางโครงการ:
sudo apt install libxxf86vm-dev
นอกจากนี้ยังควรมี libxi-dev สำหรับการจัดการอินพุตใน X11 (เมาส์ คีย์บอร์ด และอุปกรณ์ป้อนข้อมูลอื่นๆ):
sudo apt install libxi-dev
สำหรับการจัดการหน้าต่างและการป้อนข้อมูลข้ามแพลตฟอร์ม ผู้คนจำนวนมากใช้ GLFW แพ็คเกจการพัฒนาสำหรับ Debian/Ubuntu คือ:
sudo apt install libglfw3-dev
ด้วย GLFW คุณสามารถ สร้างหน้าต่าง จัดการบริบทกราฟิก และประมวลผลข้อมูลจากแป้นพิมพ์และเมาส์ โดยไม่ต้องเจาะลึกรายละเอียดเฉพาะของระบบปฏิบัติการแต่ละระบบมากเกินไป
อีกหนึ่งไลบรารีที่แทบจะขาดไม่ได้เลยหากคุณทำงานกับกราฟิก 3 มิติ คือ GLM (OpenGL Mathematics) ซึ่งมีคุณสมบัติมากมาย ประเภทและฟังก์ชันของพีชคณิตเชิงเส้น เมทริกซ์ เวกเตอร์ และการแปลงบน Ubuntu และระบบปฏิบัติการที่พัฒนาต่อยอดจาก Ubuntu คุณสามารถติดตั้งได้ด้วยคำสั่ง:
sudo apt install libglm-dev
ไลบรารีเหล่านี้ก่อให้เกิดระบบนิเวศที่เหมาะสมอย่างยิ่งสำหรับการเรียนรู้ Vulkan ทีละขั้นตอน เนื่องจาก คุณมุ่งเน้นไปที่ API ด้านกราฟิกโดยไม่ต้องสร้างสิ่งใหม่ขึ้นมาเองทั้งหมด ด้วยการจัดการหน้าต่าง การป้อนข้อมูล หรือคณิตศาสตร์สามมิติ
การกำหนดค่า Shader และการคอมไพล์ Shader ด้วย GLSL
ใน Vulkan นั้น shaders จะไม่ถูกส่งผ่านโดยตรงในรูปแบบโค้ด GLSL แต่โดยปกติจะถูกคอมไพล์เป็น SPIR-V เพื่ออำนวยความสะดวกในกระบวนการนี้ คุณสามารถใช้ Shaderc คือชุดเครื่องมือที่พัฒนาโดย Google ซึ่งรวมถึงคอมไพเลอร์ด้วย glslc.
หากต้องการดาวน์โหลด Shaderc โปรดไปที่หน้าดาวน์โหลดบน GitHub ในส่วนที่เกี่ยวข้องกับ Linux (โดยปกติจะเป็นเวอร์ชันที่ใช้ clang):
https://github.com/google/shaderc/blob/main/downloads.md
ดาวน์โหลดไฟล์สำหรับ Linux (ตัวอย่างเช่น ไฟล์ .a. install.tgz) แล้วแตกไฟล์ไปยังโฟลเดอร์ดาวน์โหลดของคุณ หรือที่ใดก็ได้ที่คุณต้องการ สมมติว่าคุณแตกไฟล์ไปยัง /home/TUUSUARIO/Downloads/installเพื่อติดตั้งไฟล์ปฏิบัติการ glslc ในเส้นทางระบบมาตรฐาน ให้รันคำสั่ง:
sudo cp /home/TUUSUARIO/Downloads/install/bin/glslc /usr/local/bin
หลังจากนั้น คุณสามารถตรวจสอบว่าทุกอย่างเรียบร้อยดีด้วยวิธีการดังต่อไปนี้:
glslc
หากติดตั้งเครื่องมืออย่างถูกต้องและเรียกใช้โดยไม่ระบุพารามิเตอร์ มันจะแสดงข้อความแสดงข้อผิดพลาดเช่น "glslc: error: no input files"ซึ่งในบริบทนี้ถือเป็นสัญญาณที่ดี: หมายความว่าโปรแกรมกำลังทำงานอยู่ และแค่บ่นว่าคุณไม่ได้ส่งไฟล์ shader ให้มันเท่านั้นเอง
สถานะปัจจุบัน การใช้งานในเกม และเทคโนโลยี Ray Tracing ด้วย Vulkan
ในแง่ของจำนวนเกมที่ใช้งาน Vulkan โดยตรงนั้น ยังคงตามหลัง API อย่าง DirectX หรือ OpenGL อยู่ แต่การใช้งานก็ยังคงเติบโตอย่างต่อเนื่อง ปัจจุบันมีเกมที่ใช้งาน Vulkan อยู่... เกมหลายร้อยเกมที่รองรับ Vulkan โดยตรงและอีกหลายคนได้รับประโยชน์ทางอ้อมจากการใช้ Proton/DXVK บน Linux
จำนวนเกมที่รองรับ Vulkan มีประมาณหลายร้อยเกม (ประมาณ 200-300 เกมที่เกี่ยวข้อง) ในขณะที่ DirectX และ OpenGL มีจำนวนมากกว่าหนึ่งพันอย่างแน่นอนถึงกระนั้น การที่เกมใหญ่ๆ อย่าง Baldur's Gate 3 หรือ Red Dead Redemption 2 นำเสนอ Vulkan เป็นตัวเลือก ก็แสดงให้เห็นว่าอุตสาหกรรมเกมกำลังจับตามองเทคโนโลยีนี้อยู่
ส่วนเรื่องเรย์เทรซซิ่งนั้น Vulkan ก็ไม่ได้ด้อยไปกว่าใคร ส่วนขยาย KHR สำหรับการติดตามรังสี Vulkan พวกเขาประสบความสำเร็จในการท้าทายเทคโนโลยี DirectX Raytracing (DXR) อย่างจริงจัง API นี้อนุญาตให้ควบคุมโครงสร้างการเร่งความเร็วได้อย่างละเอียด เช่น BLAS (Bottom-Level Acceleration Structures) และ TLAS (Top-Level Acceleration Structures)
ด้วยการควบคุมดังกล่าว นักพัฒนาจึงสามารถ เพื่อเพิ่มประสิทธิภาพการใช้งานหน่วยความจำวิดีโอและลดการทำงานที่ไม่จำเป็นสิ่งนี้มีความสำคัญอย่างยิ่งในฮาร์ดแวร์ที่ไม่มีคอร์ RT โดยเฉพาะ เช่น GPU ของ AMD และ Intel หลายรุ่น
ในเกมบางเกมและการอัปเดตล่าสุด Vulkan ได้แสดงให้เห็นถึงความสามารถในการรักษาประสิทธิภาพ อัตราเฟรมต่อวินาที (FPS) ที่เสถียรมากเมื่อใช้เทคโนโลยี Ray Tracingส่วนหนึ่งเป็นเพราะมันช่วยให้ควบคุมคิวแบบอะซิงโครนัสได้โดยตรง ทำให้การเรย์เทรซซิ่งสามารถทำงานซ้อนทับกับงานเรนเดอร์อื่นๆ ได้โดยไม่เกิดปัญหาคอขวดได้ง่ายนัก
ในขณะที่ DirectX 12 อาศัยการปรับแต่งไดรเวอร์เฉพาะเกมเป็นอย่างมาก แต่ Vulkan นั้นแตกต่างออกไป มันทำให้มองเห็นการทำงานของฮาร์ดแวร์ได้ชัดเจนยิ่งขึ้นเพื่อให้เอนจิ้นเกมสามารถกำหนดได้อย่างแม่นยำว่าต้องการจัดการลำแสง หน่วยความจำ และการประมวลผลแบบขนานอย่างไร
SDK อย่างเป็นทางการของ Vulkan (LunarG) และการพัฒนาข้ามแพลตฟอร์ม
หากคุณต้องการก้าวไปอีกขั้นและเริ่มต้นพัฒนาด้วย Vulkan ในแบบ "จริงจัง" สิ่งที่ดีที่สุดคือการดาวน์โหลด... ชุดพัฒนาซอฟต์แวร์ Vulkan อย่างเป็นทางการ ดูแลรักษาโดย LunarGประกอบด้วยไลบรารี ไฟล์ส่วนหัว เครื่องมือตรวจสอบความถูกต้อง ตัวอย่าง และเอกสารประกอบที่ครบถ้วนสมบูรณ์
คุณจะพบไฟล์ดาวน์โหลดสำหรับ SDK บนเว็บไซต์อย่างเป็นทางการ Windows, Linux, macOS และแม้แต่ Androidวิธีนี้ทำให้การสร้างโปรเจ็กต์ที่ใช้งานได้บนหลายแพลตฟอร์มอย่างแท้จริงทำได้ง่ายขึ้นมาก โดยไม่ต้องปรับโครงสร้างพื้นฐานครึ่งหนึ่งในแต่ละครั้ง
Vulkan ไม่ขึ้นกับแพลตฟอร์มใดๆ ดังนั้นเอนจิ้นเดียวกันจึงสามารถใช้งานได้กับหลายแพลตฟอร์ม... พีซี, คอนโซลเกม, อุปกรณ์พกพา, ความจริงเสมือน และบริการคลาวด์ โดยไม่ผูกมัดคุณกับบริษัทใดบริษัทหนึ่ง ที่จริงแล้ว มันเป็น API กราฟิกหลักที่ Google Stadia ใช้ในขณะที่บริการยังเปิดให้บริการอยู่
นอกจากนี้ SDK เวอร์ชันใหม่แต่ละเวอร์ชันมักจะถูกเผยแพร่ในแหล่งเก็บข้อมูลเช่น GitHub ด้วย ดังนั้น คุณสามารถอัปเดตด้วยตนเองได้โดยไม่ต้องพึ่งพาไดรเวอร์การ์ดจอเพียงอย่างเดียววิธีนี้มีประโยชน์หากคุณต้องการทดลองใช้ส่วนขยายล่าสุดหรือฟีเจอร์ใหม่ๆ
Vulkan เทียบกับ DirectX ในแง่ของประสบการณ์ผู้ใช้
สำหรับผู้ใช้งานทั่วไป คำถามสำคัญมักจะเป็นว่า Vulkan จะให้เฟรมเรต (FPS) ที่สูงกว่า DirectX ในเกมโปรดของพวกเขาหรือไม่ ความจริงก็คือ... ทั้งหมดขึ้นอยู่กับการใช้งานของเกม การ์ดจอ และระดับการปรับแต่งประสิทธิภาพ ว่ามีการทำการศึกษาดังกล่าว
ในเกมที่สร้างสรรค์อย่างดีบางเกม Vulkan สามารถมอบสิ่งต่อไปนี้ได้ ประสิทธิภาพที่เหนือกว่าอย่างเห็นได้ชัดบนอุปกรณ์ระดับล่างหรือระดับกลางสาเหตุหลักเป็นเพราะการใช้ทรัพยากร CPU น้อยกว่า แต่ก็มีบางกรณีที่เวอร์ชัน DirectX มีความสมบูรณ์กว่าและทำงานได้เท่ากันหรือดีกว่าเล็กน้อยด้วยซ้ำ
ในแง่ของภาพ คุณแทบจะไม่สังเกตเห็นความแตกต่างอย่างมากระหว่าง API ทั้งสองแบบหากเกมนั้นทำออกมาได้ดี ความแตกต่างที่เห็นได้ชัดที่สุดมักจะปรากฏใน... ความเสถียรของเฟรมต่อวินาที (FPS), เวลาในการโหลด, อาการกระตุกเล็กน้อย และการจัดการทรัพยากรVulkan จะแสดงประสิทธิภาพได้อย่างยอดเยี่ยมเมื่อนักพัฒนาได้ใส่ใจและปรับแต่งมันอย่างดี
อย่างไรก็ตาม ใน Linux นั้น Vulkan มีข้อได้เปรียบที่ชัดเจนมาก: มันคือ... เป็นรากฐานสำคัญของเทคโนโลยีต่างๆ เช่น Proton และ DXVKซึ่งช่วยให้เกม Windows จำนวนมากสามารถทำงานได้โดยการแปลง DirectX เป็น Vulkan แบบเรียลไทม์ หากไม่มี Vulkan เกมส่วนใหญ่ที่สามารถเล่นได้จะลดลงอย่างมาก
ด้วยเหตุผลทั้งหมดนี้ การตั้งค่า Vulkan อย่างถูกต้องบนระบบปฏิบัติการ Linux ของคุณจึงไม่ใช่แค่ "ทางเลือก" แต่กลายเป็นสิ่งจำเป็นไปแล้ว ในปัจจุบัน การเล่นเกมอย่างเข้ากันได้ดีแทบจะเป็นข้อกำหนดที่จำเป็นเลยทีเดียวโดยเฉพาะอย่างยิ่งหากคุณใช้แพลตฟอร์มอย่าง Steam หรือ Lutris สำหรับเกมบนระบบ Windows
เมื่อพิจารณาจากสิ่งที่กล่าวมาทั้งหมดแล้ว ก็เป็นที่ชัดเจนว่า ติดตั้ง Vulkan บน Linux พร้อมติดตั้งไดรเวอร์และเครื่องมือเสริมที่เหมาะสม การลงทุนในซอฟต์แวร์เสริม (เช่น DXVK, ไลบรารีสำหรับการพัฒนา และ LunarG SDK) เป็นหนึ่งในการลงทุนเวลาที่คุ้มค่าที่สุดที่คุณสามารถทำได้ หากคุณชื่นชอบการเล่นเกมหรือพัฒนาโปรแกรมบนระบบนี้ คุณจะได้รับประสิทธิภาพที่ดีขึ้น ขยายแคตตาล็อกซอฟต์แวร์ที่ใช้งานร่วมกันได้ และเปิดประตูสู่การทำงานกับ API ที่ทันสมัยและใช้งานได้หลายแพลตฟอร์ม ซึ่งมีแนวโน้มที่จะเติบโตอย่างต่อเนื่องในอีกหลายปีข้างหน้า