ฉันจะบังคับให้แอปพลิเคชันใช้การแสดงผล 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ได้