Cum pot afla ce versiune de opengl am? Ce este OpenGL? De ce driverele nu sunt actualizate?

În cele mai multe cazuri, utilizatorii solicită un pachet de fișiere numit OpenGL pentru a rula corect anumite jocuri pe un computer care rulează sistemul de operare Windows 7 Dacă acest driver lipsește sau versiunea sa este învechită, programele pur și simplu nu se vor porni și a notificarea corespunzătoare va fi afișată pe ecran solicitând instalarea sau actualizarea PINE. În acest articol vom vorbi cât mai detaliat despre încărcarea noilor biblioteci OpenGL.

În primul rând, merită să înțelegeți cum este instalată componenta în cauză pe un computer. Toate fișierele necesare sunt instalate împreună cu driverele adaptorului grafic. Prin urmare, ar trebui mai întâi să actualizați software-ul acestei componente și apoi să treceți la analiza metodei alternative.

Când aveți cel mai recent driver instalat pe placa video și nu mai există actualizări, dar încă apare o notificare despre necesitatea actualizării OpenGL, treceți imediat la a treia metodă. Dacă această opțiune nu aduce niciun rezultat, înseamnă că echipamentul dumneavoastră nu acceptă cele mai recente biblioteci. Vă recomandăm să vă gândiți să alegeți o nouă placă video.

Metoda 1: Actualizați driverele plăcii video în Windows 7

După cum sa menționat mai sus, componentele OpenGL sunt instalate împreună cu fișierele adaptorului grafic. Windows 7 are mai multe metode pentru a le actualiza. Fiecare dintre ele este potrivit în diferite situații și necesită utilizatorului să efectueze anumite acțiuni. Accesați articolul de la linkul de mai jos pentru a vă familiariza cu toate metodele în detaliu. Alegeți-l pe cel care vi se potrivește și urmați instrucțiunile furnizate. Odată ce procesul este finalizat, trebuie doar să reporniți computerul și să verificați funcționalitatea jocurilor sau a altor programe care necesitau o nouă versiune a bibliotecii.

Metoda 2: Actualizarea componentelor în utilitarul proprietar al plăcii video

În prezent, principalii producători de adaptoare grafice sunt AMD și NVIDIA. Fiecare are propriul software care asigură funcționarea corectă a sistemului de operare și vă permite să actualizați software-ul. Proprietarii de plăci video NVIDIA sunt sfătuiți să consulte materialul de la următorul link pentru a înțelege cum să instaleze noua versiune a driverului OpenGL în GeForce Experience.

Posesorii de carduri AMD trebuie să citească alte articole, deoarece în acest caz toate acțiunile sunt efectuate în Catalyst Control Center sau în Radeon Software Adrenalin Edition, în funcție de tipul de software instalat.

Metoda 3: Actualizare DirectX

Nu cea mai eficientă, dar uneori metoda de lucru este instalarea de noi componente de bibliotecă DirectX. Uneori conține fișiere adecvate care permit ca jocurile sau programele necesare să funcționeze normal. Mai întâi trebuie să aflați care DirectX este deja instalat pe computer. Pentru a face acest lucru, citiți instrucțiunile din articolul de mai jos.

În acest moment, cea mai recentă versiune pentru sistemul de operare Windows 7 este DirectX 11. Dacă aveți instalată o bibliotecă anterioară, vă recomandăm să o actualizați și să verificați funcționalitatea software-ului. Citiți mai multe despre acest subiect într-un alt articol.

După cum puteți vedea, nu este nimic complicat în actualizarea OpenGL, principala problemă este doar suportul pentru cele mai recente fișiere ale acestei componente de către placa dvs. video. Vă recomandăm să testați toate metodele, deoarece eficiența fiecăreia depinde de circumstanțe diferite. Citiți instrucțiunile și urmați-le, atunci cu siguranță veți reuși.

4 raspunsuri

Mă tem că va trebui să deschideți promptul de comandă în prima zi de Linux (nu vă faceți griji, mi s-a întâmplat și mie). Aplicații -> Standard -> Terminal. Tastați lspci și apăsați Enter. Toate conexiunile prin PCI sau PCI express sunt enumerate aici, inclusiv placa video. Citiți lista până când vedeți ceva despre ATI sau nVidia sau despre unul dintre modelele Intel.

apoi accesați diagramele de comparație ale plăcilor grafice ale Wikipedia pentru a afla versiunea de OpenGL pe care o acceptă placa dvs.

amintiți-vă că vă spun doar ce versiune suportă hardware-ul. Pentru a putea rula biblioteci OpenGL, aveți nevoie și de un driver care să le accepte. Mai multe drivere video pentru fiecare generație de cip pentru Linux. Ubuntu vine cu versiuni open source, care nu sunt rele, dar tind să fie cu un pas în spatele driverelor proprietare lansate de producătorii de plăci grafice (numite adesea drivere binare sau drivere proprietare). Dacă se dovedește că hardware-ul dvs. acceptă OpenGL 2.0 (ceea ce majoritatea fac), puteți încerca drivere proprietare. Ele sunt numite nvidia-current pentru nvidia și fglrx pentru ATI. Pentru Intel, există doar drivere open source.

exemplu de pe laptopul meu:

Prompt>lspci | grep VGA 00:02.0 Controler compatibil VGA: Intel Corporation Core Processor Integrated Graphics Controller (rev 02) 01:00.0 Controler compatibil VGA: nVidia Corporation Device 0df0 (rev a1) prompt>

și fragmentul corespunzător din lshw:

*-pci:0 descriere: PCI bridge product: Core Processor PCI Express x16 Root Port furnizor: Intel Corporation ID fizic: 1 bus info: :00:01.0 versiune: 02 lățime: 32 biți ceas: 33MHz capabilități: pci pm msi pciexpress normal_decode bus_master cap_list configurație: driver=pcieport resurse: irq:42 ioport:2000(size=4096) memory:fb000000-fbffffff ioport:f0000000(size=167772160) *-display descriere: VGA controler compatibil produs: nVidia Corporation furnizor fizic: nVidia Corporation id: 0 info bus: :01:00.0 versiune: a1 lățime: 64 biți ceas: 33MHz capabilități: pm msi pciexpress vga_controller bus_master cap_list configurație: driver=nouveau latency=0 resurse: irq:16 memorie:fb000000-fbffffff memorie:f0-0000 f7ffffff memorie:f8000000-f9ffffff ioport:2000(dimensiune=128) *-afișare descriere: produs controler compatibil VGA: procesor de bază pentru grafică integrată Vânzător controler: Intel Corporation ID fizic: 2 informații despre bus.

  1. Driverele pentru plăcile video NVIDIA incluse în sistemul de operare Windows nu acceptă de obicei OpenGL. Aplicațiile vor utiliza redarea software Windows OpenGL (un wrapper în Direct3D în Windows Vista). Puteți verifica prezența unui driver OpenGL în sistem utilizând utilitățile OpenGL Extensions Viewer și GPU Caps Viewer. Dacă arată că furnizorul OpenGL este Microsoft, atunci sistemul nu are un driver OpenGL. Descărcați și instalați cel mai recent driver de placă grafică de pe site-ul web NVIDIA.
  2. Este posibil ca o nouă versiune a driverului să fi adăugat suport pentru o nouă versiune a API-ului OpenGL, care este necunoscută aplicației. De exemplu, driverul spune aplicațiilor că acceptă OpenGL versiunea 2.0, iar aplicația/jocul verifică dacă este compatibil cu OpenGL versiunea 1.X. Pentru a rezolva problema, puteți utiliza RivaTuner în setările OpenGL din fila „Compatibilitate” pentru a forța înlocuirea șirului versiunii OpenGL raportată de driver către cea acceptată de aplicație, de exemplu, 1.5. Această opțiune nu afectează execuția OpenGL de către placa video, dar din același motiv aplicațiile care necesită OpenGL versiunea 2.0 pot înceta să funcționeze. O modalitate mai flexibilă este crearea unui profil de driver pentru aplicația problematică folosind utilitarul nHancer, specificând versiunea necesară în opțiunea „Versiune OpenGL raportată” din fila „Compatibilitate”.
  3. Problema poate apărea dacă mai multe drivere OpenGL sunt instalate pe sistem dintr-un motiv oarecare. In registrul de la adresa HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\OpenGLDrivers (HKLM\Software\Microsoft\Windows\CurrentVersion\OpenGLdrivers pentru Windows 9x-ME) verificați dacă există o singură subcheie RIVATNT și cheia Dll din această secțiune are valoarea nvoglnt (există o singură cheie cu valoarea nvopengl.dll pentru Windows 9x-ME). Dacă există alte subsecțiuni, de exemplu ati2dvag (driver ATI OpenGL), acestea ar trebui eliminate prin exportarea lor într-un fișier .reg.
  4. Implementarea OpenGL 2.0 pentru GeForce FX și GPU-uri superioare în driverul NVIDIA necesită suport CPU pentru extensiile SSE. Dacă aceste extensii nu sunt disponibile, driverul OpenGL ICD nu va fi inițializat, aplicațiile OpenGL se vor închide sau se va utiliza redarea software. Puteți verifica inițializarea driverului folosind utilitarele OpenGL Extensions Viewer și GPU Caps Viewer, puteți verifica extensiile acceptate de procesor folosind utilitarele CPU-Z sau Sandra. Dacă procesorul nu acceptă SSE, puteți fie să utilizați versiuni anterioare ale driverului (până la 75.XX), fie să utilizați RivaTuner în setările OpenGL din fila „Compatibilitate”, să activați „Modul de emulare NV25” în loc de cel implicit „Accelerație maximă” „ Ca ultimă soluție, puteți utiliza OpenGL -> Direct3D wrapper GLDirect sau TitaniumGL. Uneori procesorul acceptă SSE, dar suportul nu funcționează din cauza BIOS-ului plăcii de bază învechite. Această problemă este tipică în special pentru sistemele cu procesoare AMD Athlon XP și Duron. Actualizarea BIOS-ului plăcii de bază poate restabili suportul SSE.
  5. Dacă sistemul are mai multe plăci video bazate pe diferite GPU-uri NVIDIA, atunci driverul OpenGL va accepta doar versiunea OpenGL acceptată de toate plăcile video.

Uneori, pentru a lansa o aplicație sau un joc pe Windows, este posibil să aveți nevoie de numele pachetului de programe instalat pe sistemul de operare.

Și, prin urmare, răspundeți la întrebarea cum să aflați care este instalat.

Cunoscând versiunea exactă a acestui pachet, utilizat inițial doar în scopuri de jocuri, dar apoi folosit pentru a sprijini redarea fișierelor multimedia și pentru a efectua alte sarcini, puteți înțelege dacă computerul dvs. are suficiente resurse sau dacă este necesară o actualizare (a programul în sine sau elemente de calculator).

Ce oferă noua versiune?

O parte semnificativă a software-ului funcționează numai în mediul adecvat - cu driverele și pachetele software necesare.

De exemplu, Adobe Photoshop necesită instalat software OpenGL și aproape toate jocurile moderne nu vor rula fără el.

Cunoașterea exactă a pachetului multimedia (precum și a resurselor computerului) vă permite să evitați următoarele probleme:

  • Achiziționarea sau descărcarea de aplicații care nu sunt acceptate de sistem;
  • Încercări de a instala versiuni anterioare de DirectX.

Pentru majoritatea aplicațiilor care necesită software special, cum ar fi DirectX, este inclus. Și în timpul procesului de instalare este sugerat să îl instalați pe computer sau să îl actualizați.

Dar, dacă actualizarea automată nu are loc, dar programul nu pornește dintr-un motiv oarecare, va trebui să aflați pachetul multimedia pentru a înțelege dacă incompatibilitatea acestuia cu aplicația cauzează problema.

O modalitate simplă de a determina

Aflarea versiunii de DirectX pe un sistem instalat recent este destul de simplă - în sistemele de operare moderne pachetul este deja inclus în Windows. Și puteți determina varietatea după numele sistemului:

  • Unul dintre cele mai comune sisteme, Windows 7, are încorporat DirectX 10, potrivit pentru majoritatea aplicațiilor grafice, jocurilor și fișierelor multimedia;
  • În Windows XP învechit, a fost instalată implicit versiunea 9 a pachetului, care de multe ori trebuia actualizată pentru a rula programe mai moderne;
  • Windows 8 a inclus DirectX 11;
  • Ambele versiuni a 11-a și a 12-a ale programului ar putea fi incluse cu cel mai recent, al zecelea Windows.

Definiție folosind instrumente încorporate

Pentru a determina cu precizie versiunea DirectX folosind instrumentul de diagnosticare încorporat, aveți nevoie de:

  1. Deschideți meniul de execuție a comenzii apăsând simultan tastele Windows + „R”;
  2. Introduceți comanda dxdiag;
  3. În fereastra care se deschide după executarea comenzii, în prima filă, găsiți informații despre program, care se află în partea de jos a listei.

Sfat! Deoarece sistemul arată doar valori întregi, uneori informațiile DirectX 11 afișate pot însemna că sistemul are de fapt instalată versiunea 11.1 sau 11.2. Cu toate acestea, în majoritatea cazurilor, astfel de detalii nu sunt importante.

Un alt loc pentru a afla versiunea DirectX este panoul de control al plăcii video, dacă este instalată.

De exemplu, pentru produsele NVidia, astfel de informații sunt afișate atunci când se vizualizează informații despre sistem.

În plus, există utilități speciale care oferă și toate informațiile necesare despre sistem, inclusiv versiunea. De exemplu, numit anterior Everest.

Versiunile gratuite ale acestui utilitar pot fi găsite pe Internet și instalate pe computer - în viitor veți avea nevoie de el nu numai pentru a determina ce versiune de DirectX aveți.

Puteți găsi caracteristici similare în alte utilitare.

Ce e de facut in continuare?

Așadar, au fost primite informații despre ce versiune a pachetului software este instalată. Și acum, pentru ca programul sau jocul dvs. să ruleze, trebuie să cunoașteți cerințele minime ale acestuia.

Acestea pot fi găsite pe internet pe site-ul producătorului sau pe forumuri, unde informații despre jocuri sunt adesea postate înainte de a ajunge pe rafturi.

Pe de o parte, pentru a rula majoritatea programelor este suficient să instalați cea mai recentă versiune, care probabil acceptă toate cele anterioare. Sau cel puțin DirectX 11.

Dar aici sunt două probleme:

  1. Plăcile video învechite nu acceptă ediția a 11-a a driverului;
  2. Unele jocuri necesită o versiune specifică a pachetului pentru a rula.

În acest caz, va trebui să instalați DirectX-ul specificat în cerințe.

Și, dacă sistemul a instalat implicit o versiune mai nouă și, din această cauză, în opinia sistemului, nu necesită actualizare (care poate provoca un conflict de software și poate duce la eșec de pornire), ar trebui să eliminați complet pachetul și să instalați un nou unul care este compatibil cu programul dvs.

Le puteți găsi și descărca complet gratuit pe site-ul producătorului.

Videoclipuri tematice:



afla versiunea de opengl linux (4)

Cea mai simplă și rapidă modalitate este de a utiliza un instrument de diagnosticare precum GPU Caps Viewer.

De asemenea, puteți utiliza glGetString(GL_VERSION), dar amintiți-vă că versiunea pe care doriți să o afișați este versiunea contextului OpenGL dat, care nu este neapărat cea mai înaltă pe care o poate face GPU-ul dvs. Cu toate acestea, dacă creați un context cu setări implicite, probabil veți ajunge cu cel mai mare context OpenGL posibil în profilul de compatibilitate, așa că da, această metodă poate fi utilă.

De asemenea, deoarece glGetString(GL_VERSION) este specific unui context OpenGL dat, trebuie să-l creați în avans. De fapt, pentru apel orice Funcția gl* necesită un context GL.

Într-adevăr, actualizare de driver Pot fi vă oferă o versiune GL mai mare, dar este puțin probabil ca versiunea majoră să se schimbe. De exemplu, dacă aveți suport GL 3.1, este foarte probabil ca cele mai recente drivere să vă ofere GL 3.3, dar nu GL 4.0.

Folosesc Windows 7. Programez cu OpenGL. Dar am descoperit că există câteva posibilități pe care le pot folosi. Așa că vreau să verific versiunea OpenGL pe sistemul meu. Folosesc codul de mai jos pentru a-l testa

Const char* version = (const char*)glGetString(GL_VERSION);

Dar primesc un indicator nul. Și dacă vreau să actualizez OpenGL, ce ar trebui să fac?

încercați să utilizați următorul cod, funcționează pentru mine:

Cout<< "OpenGL Version: " << glGetString(GL_VERSION) << endl;

Asigurați-vă că includeți șir și iostream în programul dvs.

Aveți nevoie de contextul GL curent înainte de a putea întreba ce versiune aveți.

Așa că mai întâi creați un context, apelați wglMakeCurrent pe el și după aceea puteți apela glGetString.

Versiunea raportată provine de la driverul pe care l-ați instalat. Versiunea OpenGL pe care hardware-ul dumneavoastră o poate suporta nu este ea însăși „actualizată” (deoarece unele caracteristici hardware vor lipsi pentru a suporta cele mai recente și mai bune).

Deci, cel mai bun lucru pe care îl puteți face este să vă actualizați driverul, dar nu vă așteptați la rezultate excelente, va avea ca rezultat un nou OpenGL.

Ai nevoie creați un context OpenGL(WGL) înainte de a apela glGetString(GL_VERSION):

#include #include #pragma comentariu (lib, "opengl32.lib") LRESULT CALLBACK WndProc(HWND hWnd, mesaj UINT, WPARAM wParam, LPARAM lParam); int WinMain(__in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in_opt LPSTR lpCmdLine, __in int nShowCmd) ( MSG msg = (0); WNDCLASS wc = (0); wc.lpfnWndProc;wc.lpfnWndProc;wc = (HBRUSH)(COLOR_BACKGROUND); wc.lpszClassName = L"oglversionchecksample"; wc.style = CS_OWNDC; if(!RegisterClass(&wc)) return 1; 0,640,480,0,0,hInstance,0 while(GetMessage(&msg, NULL, 0, 0) > 0) DispatchMessage(&msg return 0 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM lPARAM); ( comutați(mesaj) (case WM_CREATE: ( PIXELFORMATDESCRIPTOR pfd = ( sizeof(PIXELFORMATDESCRIPTOR), 1, PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER, //Flags PFD_TYPE_RGBA, or2p al framebuffer 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, //Număr de biți pentru depthbuffer 8, //Număr de biți pentru stencilbuffer. //Numărul de buffere auxiliare din framebuffer. PFD_MAIN_PLANE, 0, 0, 0, 0); HDC ourWindowHandleToDeviceContext = GetDC(hWnd); int letWindowsChooseThisPixelFormat; letWindowsChooseThisPixelFormat = ChoosePixelFormat(ourWindowHandleToDeviceContext, &pfd); SetPixelFormat(ourWindowHandleToDeviceContext,lasăWindowsChooseThisPixelFormat, &pfd); HGLRC ourOpenGLRenderingContext = wglCreateContext(ourWindowHandleToDeviceContext); wglMakeCurrent(ourWindowHandleToDeviceContext, ourOpenGLRenderingContext); MessageBoxA(0,(char*)glGetString(GL_VERSION), „OPENGL VERSION”,0); wglDeleteContext(ourOpenGLRenderingContext); PostQuitMessage(0); ) pauză;