OpenGL Programmering/Installation/Linux

OpenGL är det primära 3D-grafik-API:t på GNU/Linux-baserade system. Om din enhet har stöd för 3D-acceleration på GNU/Linux innehåller den förmodligen en OpenGL-distribution.

OpenGL ingår i drivrutiner, så du måste se till att drivrutinerna är korrekt installerade om du vill njuta av program som använder OpenGL.Drivrutiner med öppen källkod använder sig faktiskt av Mesa’s OpenGL-implementation. Proprietära drivrutiner bäddar in sitt eget OpenGL-bibliotek.

Proprietära alternativRedigera

Nvidia tillhandahåller generellt sett utmärkta drivrutiner, men utan öppen källkod, via nvidia-drivrutinen från deras webbplats. fglrx driver många moderna AMD-enheter; den är också med sluten källkod och finns tillgänglig från AMD:s webbplats.

Alternativ med fri/öppen källkodRedigera

Om din CPU är en Intel-enhet med inbyggd grafik kommer de nödvändiga drivrutinerna med öppen källkod som en standarddel av Linuxkärnan.

Om du har ett av de nyaste chipen kan du tvingas använda den mediokra fglrx-drivrutinen. Men sedan AMD släppte specifikationerna för sina chip har den öppna källkodsdrivrutinen ”radeon” tagit sig fram till att bli en fullfjädrad 2D- och 3D-drivrutin.

Det är sedan juni 2013 så att de flesta AMD-chip fungerar bra med den öppna källkodsdrivrutinen ”radeon”. 3D-prestanda är fortfarande bättre med AMD Catalyst-drivrutinen på moderna kort, men detta kan komma att ändras i framtiden. Kontrollera funktionsmatrisen för en färdigställandestatus.

Den öppna källkodsdrivrutinen nouveau har stöd för nVidia-chipset, men i skrivande stund är den inte lika komplett som nVidias slutna källkodsdrivrutiner, 3D-stödet kan vara otillfredsställande.

OpenGL-drivrutinen på Linuxsystem består av två filer:

  • libGL.so för själva GL; libGL.so måste vara tillgänglig för Linux library loader (se man pages för ldconfig);
  • glx.so (namnet kan variera) för Xorg-stödet för OpenGL; glx.so kommer att finnas i Xorgs utökningssökväg och måste laddas av xorg.conf (se man pages för xorg.conf).

Många OpenGL-tillämpningar kräver också libGLU.so; GLU-operationer är inte hårdvaruaccelererade, så den implementering som tillhandahålls av Mesa är ett utmärkt alternativ.

Lämna ett svar

Din e-postadress kommer inte publiceras.