2017-04-26 41 views
0

基本上我有沒有顯卡的windows系統,而我試圖執行在cmd中一個.jar文件,它提供了以下的輸出:OpenGl沒有兼容的圖形卡?

的Microsoft Windows [版本6.1.7601] 版權所有( c)2009年微軟公司。版權所有。

C:\破滅> Java的罐子Test.jar的

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: OpenGL is not supported by the video driver. 

我只是有點高科技識字,但我從得到了外賣的是,我需要得到OpenGL的。所以我做了一些研究,發現了一些OpenGl軟件模式的提及,但我不知道如何去做。任何幫助將不勝感激,歡呼!

而之前提到,我已嘗試更新視頻驅動程序。

+1

如果你有一個視頻驅動程序,那麼你肯定有一個顯卡:)。你能分享這個系統的細節嗎?您可能需要一個軟件兼容層,但性能差不多,OpenGL支持卡(如果它是舊的OpenGL)幾乎可以免費獲得。 –

+0

那麼我有一個,它只是默認的VGA圖形適配器,不支持OpenGL – SeaCrumbs

+0

IIRC Windows標籤設備沒有適當的驅動程序['標準VGA圖形適配器'](http://digital.ni.com/public.nsf/ allkb/64957610341434FF862578E7004B2B71)。你是如何嘗試更新驅動程序的?這是一個標準的PC主板嗎? –

回答

1

首先對「什麼」

OpenGL是操作系統的圖形設備之間的應用程序編程接口(API)(在廣義的術語,包括把窗口到屏幕向下放置之間的一切單個像素)和個人節目。 OpenGL的主要目的是提供對加速圖形基礎結構的訪問,該圖形基礎結構已經過優化,用於光柵化最適合3D圖像生成的圖形基元。

我們的「如何」

典型的OpenGL實現艦艇作爲3D圖形加速器處理器的驅動程序(圖形處理器)的一部分。然而,自從Windows 95B和Windows NT-4包含一個後備軟件實現以來,由於(非常舊的)OpenGL版本(即OpenGL-1.1)已被指定爲Win32 API的一部分,所以每個版本的Windows都可以在未加速OpenGL版本可用。但是,如果需要超出OpenGL-1.1的任何版本,則此後備方法不提供此功能。

但是,您可以將標準OpenGL接口替換爲高級軟件光柵化器實現:Mesa項目提供了他們的軟件光柵化器版本,該版本甚至可以提供現代化的核心配置文件OpenGL。通常的建議是除了需要它的程序的.exe文件之外,放置這些替代品opengl32.dll;實際上在具有系統文件保護功能的現代Windows系統上,實際上不可能在不跳過幾圈的情況下替換原始DLL。 MSys2項目提供預編譯的替代DLL版本。

電流(如寫本):

XZ檔案可以與7-zip被解壓。

+1

那些是使用「llvmpipe」還是「softpipe」構建的? – genpfault

+1

@genpfault:AFAIK llvmpipe,但更好的雙重檢查。 – datenwolf

+0

@datenwolf:謝謝你,先生,我通過將包含的.dll放在正確的文件夾中,使程序運行起來,它有點功能。但有趣的是,有些功能似乎不存在,我在一臺配有OpenGL兼容卡的計算機上測試了.jar,許多功能在我的電腦中完全沒有,但它確實有點用處,所以謝謝! – SeaCrumbs

0

默認VGA/VESA驅動程序也用於沒有propper驅動程序的gfx卡。這些卡通常模擬EGA/VGA/VESA,直到初始化,以便Windows默認驅動程序適用於它們。

因此在開機過程中凍結屏幕並查看已安裝設備的PID/VID表。從這些數字你可以檢測到你真正擁有哪張gfx卡並尋找驅動程序。

在極少數情況下,你真的老MS-DOS次僅獲得EGA/VGA/VESA(我懷疑)有即使對那些OpenGL的軟件驅動程序。你需要的是找到OpebGL DLL您的平臺像(opengl32.dll),並直接將其放置到你的可執行文件或到像SYSTEM32知路......在這種情況下,你應該得到至少的OpenGL 1.0支持SW渲染模式

順便說一句,如果我的記憶中win3.11人傑地靈提供良好服務WIN9XOPENGL32.DLL是在Windows安裝目錄的一部分,我們得到了運行的OpenGL屏幕保護程序VESA卡原生。