五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【Unity3D/Linux】解決Linux無法運(yùn)行Unity3D程序問題

2021-01-29 15:58 作者:YouSing  | 我要投稿

讀前聲明

????這里指的Unity,是Unity Engine(游戲引擎),不是那個(gè)Linux的Unity桌面,玩同音梗要 扣 錢 的。

我遇到什么問題?

???由于最近的項(xiàng)目要求,需要在云端Linux服務(wù)器上運(yùn)行Unity3D程序,進(jìn)行一些渲染任務(wù)。嘗試ssh遠(yuǎn)程運(yùn)行一下,卻出現(xiàn)無法啟動(dòng)的問題。確認(rèn)一下文件權(quán)限沒問題后,再到Player.log查看,發(fā)現(xiàn)日志如下:

Unable to find a supported OpenGL core profile

Failed to create valid graphics context: please ensure you meet the minimum requirements

E.g. OpenGL core profile 3.2 or later for OpenGL Core renderer

????好家伙,直接的原因是OpenGL版本過低。我們再看看Unity的運(yùn)行需求:

https://docs.unity3d.com/2019.4/Documentation/Manual/system-requirements.html

????所以各種安裝猛如虎,整上了顯卡驅(qū)動(dòng),桌面,遠(yuǎn)程工具等等。各個(gè)功能都正常,但是問題照舊,glxinfo依舊顯示OpenGL差了一個(gè)版本號,Unity無法找到OpenGL渲染器。

xrdp的glxinfo

????由于需要跑渲染,Headless模式運(yùn)行Unity程序是不行的。Headless模式,是禁用輸入和渲染,適合做跑邏輯的服務(wù)器應(yīng)用。

我怎么解決的?

????我發(fā)現(xiàn)xrdp和vnc連接云服務(wù)器,glxinfo打印的版本號都不一樣,vnc下打印的OpenGL版本就低得多了:

vnc的glxinfo

????再結(jié)合之前查閱的Unity的論壇和Github的ML項(xiàng)目,發(fā)現(xiàn)有種現(xiàn)象就是遠(yuǎn)程連接云端,都是無法運(yùn)行Unity程序,但是直連Linux都是沒問題的。所以我覺得Linux的OpenGL版本,應(yīng)該跟什么東西掛鉤。然后ps -x查看一下系統(tǒng)進(jìn)程,發(fā)現(xiàn)一個(gè)有趣的東西:

:數(shù)字,即關(guān)聯(lián)的顯示器id號

????由于Linux管理顯示器方式比較特別,大部分服務(wù)器不會連接物理顯示器。當(dāng)你使用遠(yuǎn)程工具時(shí),會啟用一個(gè)單獨(dú)的虛擬顯示器。而你程序運(yùn)行時(shí)的OpenGL版本,就取決于當(dāng)前顯示器的渲染器。遠(yuǎn)程工具一般是用CPU軟件渲染器,如果這時(shí)調(diào)用的渲染器OpenGL版本過低,Unity程序就無法找到OpenGL渲染器。就算是滿足OpenGL版本,也可能出現(xiàn)CPU滿載,GPU在一邊乘涼的情況。

????解決方式也很簡單,我們這時(shí)只需要在調(diào)用GPU渲染器的虛擬顯示器下,運(yùn)行Unity程序即可。如果你看著教程安裝Nvidia驅(qū)動(dòng),應(yīng)該會有個(gè)修改Xorg設(shè)置的步驟。如果系統(tǒng)沒有啟動(dòng)對應(yīng)的顯示器,直接運(yùn)行Xorg啟動(dòng)就行。然后export DISPLAY:對應(yīng)顯示器id,切換到所需顯示器,再運(yùn)行g(shù)lxinfo看看:

這下總算OK了

感想

????這下讓我感受到孤兒平臺的可怕,估計(jì)自己去提問題等回復(fù)的時(shí)間,就夠自己解決了。由于接觸時(shí)間不長,也不好做系統(tǒng)性總結(jié)。唯一的教訓(xùn)就是不要傻傻跟著教程走,到后面才知道Linux的顯示器,也是類似程序的東西,可以使用不同的OpenGL渲染器。特別是看到Unity需要X11的Gnome桌面環(huán)境,我前后裝了幾種版本的桌面(Linux的桌面也是類似程序來著),不小心把遠(yuǎn)程工具的設(shè)置搞錯(cuò)了,又反反復(fù)復(fù)裝了幾次遠(yuǎn)程工具。

????隨著機(jī)器學(xué)習(xí)之類的項(xiàng)目增多,在Linux云服務(wù)器運(yùn)行Unity發(fā)布的程序的需求也是跟著變多。但是我覺得,如果一開始就在官方論壇和Github找到合適的解決方案,那么能省下很多時(shí)間去做更多事情,而不是每個(gè)平臺都要自己踩坑,讓開發(fā)者自己自生自滅。不過現(xiàn)在能接觸Unity不太相干的東西,那種陌生感還是挺有意思的。人如果不積極去嘗試新事物的話,畢竟對于大人而言,時(shí)代變了,真的可能該食大便了。

????


【Unity3D/Linux】解決Linux無法運(yùn)行Unity3D程序問題的評論 (共 條)

分享到微博請遵守國家法律
泸水县| 政和县| 繁峙县| 龙胜| 盐池县| 通道| 洛川县| 迭部县| 潼关县| 沂南县| 丹巴县| 大埔县| 南康市| 怀集县| 青浦区| 金华市| 瑞昌市| 宁陵县| 内丘县| 资中县| 屯昌县| 青阳县| 武冈市| 鸡泽县| 桐柏县| 达尔| 邵阳县| 安平县| 柳江县| 通州区| 平江县| 循化| 瓦房店市| 大姚县| 葫芦岛市| 平远县| 韩城市| 遵义县| 黔南| 杭州市| 石屏县|