ฉันจะบังคับให้แอปพลิเคชันใช้การแสดงผล opengl บนซอฟต์แวร์บน Ubuntu ได้อย่างไร
เรากำลังพูดถึงแอปพลิเคชั่นประเภทใด
—
Bobby
ฉันจะบังคับให้แอปพลิเคชันใช้การแสดงผล opengl บนซอฟต์แวร์บน Ubuntu ได้อย่างไร
คำตอบ:
หากคุณใช้ Mesa อยู่libGL
คุณสามารถเปิดใช้งานการแสดงผลซอฟต์แวร์อย่างถาวรโดยเรียกใช้:
sudo apt-get install libgl1-mesa-swx11
สิ่งนี้จะลบlibgl1-mesa-glx
ไลบรารี Mesa ที่เร่งด้วยฮาร์ดแวร์และติดตั้ง renderer เฉพาะซอฟต์แวร์
อีกวิธีหนึ่งคุณสามารถตั้งค่าLIBGL_ALWAYS_SOFTWARE=1
ซึ่งจะมีผลเฉพาะกับโปรแกรมที่เริ่มต้นด้วยตัวแปรสภาพแวดล้อมนั้นไม่ใช่ทั้งระบบ
ทั้งการเปลี่ยนแปลงเหล่านี้อาจจะไม่ทำงานถ้าคุณกำลังใช้ไดรเวอร์ NVidia libGL
ไบนารีซึ่งจัดหาของตัวเอง
LIBGL_ALWAYS_SOFTWARE=1
ไม่สามารถทำงานกับไดรเวอร์ NVIDIA ที่ติดตั้ง + libgl1-mesa-glx
เนื่องจากโปรแกรมของฉันยังคงเชื่อมโยงกับ/usr/lib/x86_64-linux-gnu/libGL.so
(ให้บริการโดยlibgl1-mesa-dev
) และไม่ใช่/usr/lib/nvidia-361/libGL.so
ซึ่งดูเหมือนว่าจะโหลดdlopen
โดย Mesa Ubuntu 16.04
หากนี่เป็นเรื่องเกี่ยวกับแอปพลิเคชันของคุณเองคุณสามารถเชื่อมโยงกับการใช้งานซอฟต์แวร์ OpenGL Mesa3Dได้