作者hizuki (入贅桧月家,我妻彩花)
看板Linux
標題Re: [問題] libGL error & glxinfo 奇怪錯誤
時間Wed Feb 27 13:56:00 2019
你這個蠻奇怪的,看起來是想把遠端的程式在本地顯示?
※ 引述《Philethan (Ethan)》之銘言:
: 各位大大好,小弟目前在用 ssh -y 連線實驗室 scientific linux 主機,
X forward應該是是-X吧?
-y是開log
: 雖然可以正常開啟 xclock 以及使用許多圖形化介面,像是 Sentaurus TCAD
: 的 Sentaurus Workbench、Svisual 功能,但是在開啟 Structure Editor 時,
: 雖然有畫面出來,但是裡面有些功能、按鈕似乎無法正常運作,並且於終端機
: 出現了如下訊息:
: 開啟畫面:https://i.imgur.com/o5IMZh7.png
: Machine type information not available.
: libGL error: No matching fbConfigs or visuals found
: libGL error: failed to load driver: swrast
: libGL error: No matching fbConfigs or visuals found
: libGL error: failed to load driver: swrast
: HOOPS Error -- There was an unexpected Hoops internal error -
: HOOPS Error -- glXMakeCurrent failed for get_physical_info test window.
: HOOPS STACK -- Show_Device_Info_By_Key
: HOOPS Error -- There was an unexpected Hoops internal error -
: HOOPS Error -- Driver specified hardware gouraud/phong lighting, but no lights!
: HOOPS STACK -- Show_Device_Info_By_Key
上面的問題表示無法初始化OpenGL環境
: 目前看來有兩個錯誤,分別是 libGL 與 HOOPS,我目前僅針對 libGL error 思考
: 該怎麼解決,還沒開始著手了解、處理 HOOPS Error。後來我查到這篇文章:
: 〈[求助] sentaurus2013运行时出错,求指导〉
: http://bbs.eetop.cn/thread-634823-1-1.html
: 其中有網友說是:「看样子,是系统中没有安装声卡或显卡驱动引起的。」
這個問題是只和顯示卡有關係,但是你不是這個問題
: 於是我試著確定我的顯示卡及其驅動目前狀況為何:
: 顯示卡: Intel Corporation Xeon E3-1200 v3/4th Gen Co
: 顯示卡驅動程式(driver):i915
: 顯卡驅動程式位址:
: /lib/modules/3.10.0-862.11.6.el7.x86_64/kernel/drivers/gpu/drm/i915/i915.ko.xz
: 顯示卡及其它硬體設備確認結果:
: https://paste.ofcode.org/wHLxL8HXMAkiCqfHP4JUj6
: 顯示卡驅動程式確認結果:
: https://paste.ofcode.org/kV5rkD2DtSZrteXxWBu7s5
: 目前看來,我應該是有顯示卡及其驅動程式?所以我不知道問題出在哪了..
這些都是你Server上的hardware資料吧,你程式需要顯示在local啊
我是不清楚到底X forwarding能不能支援OpenGL在remote使用,印象中需要支援
GLX才行。
OpenGL Indirect rendering試著開一下,可以參考下文
https://evpo.wordpress.com/2017/03/04/opengl-hardware-acceleration-through-remote-x11-ssh-connection/
不過我覺得需要看看你local的機器的支援情況,我也不知道你用哪個X server。
--
你比較喜歡哪一個?
當年不是黨國大老但是被江浙財團捧紅的中國帥哥
跟同樣擁兵一方的諸侯約會裁軍結果半途諸侯們爽約,平常有在寫日記的莊嚴男人開始發飆
在旁邊讀著荒漠甘泉冷眼旁觀看著薔薇戰爭的人,為了中國的事情爭吵
別國調侃是不是中國總統,義正詞嚴的說著我是民族的燈塔的威嚴老先生
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 103.29.142.67
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Linux/M.1551246963.A.241.html
※ 編輯: hizuki (103.29.142.67), 02/27/2019 14:05:40
1F:推 Philethan: 大大您好,很感謝您的幫忙。小弟原先也是用 -X 02/27 14:33
2F:→ Philethan: 但是隔 20 分鐘後,就無法再顯示新的圖形化介面 02/27 14:33
3F:→ Philethan: 像是 xclock 或其他的模擬軟體功能 02/27 14:33
4F:→ Philethan: 我有嘗試過修改 ssh_config 的 ForwardX11Trusted no 02/27 14:34
5F:→ Philethan: 把 no 改為 yes(印象中),但仍無法解決20min斷線問題 02/27 14:34
6F:→ Philethan: 哦哦也不是斷線,ssh連線仍存在,但是不能開xclock 02/27 14:34
7F:→ Philethan: 所以我後來查到可以用 -Y 強制開(?)就改 -Y 了 02/27 14:35
8F:→ Philethan: 是的,都是 Server 上的硬體資料 02/27 14:35
9F:→ Philethan: 不曉得您說的 X server 是什麼? 02/27 14:36
10F:推 Philethan: 非常感謝大大的分析&連結,小弟正在讀連結,來試試看 02/27 14:38
你local是什麼環境稍微寫一下就好了
20min斷線應該不是這種問題,而且你要改的是Server上的sshd_config才對
沒有開X forwarding,我很好奇怎麼能用xlock這樣的東西。
※ 編輯: hizuki (103.29.142.67), 02/27/2019 15:11:52
※ 編輯: hizuki (103.29.142.67), 02/27/2019 15:19:59
11F:推 Philethan: 我其實一直不太懂 ssh_config 跟 sshd_config 的差別( 02/27 18:25
12F:→ Philethan: 有看過一些文章)。印象中,兩者的 X11Forwarding 都是 02/27 18:25
13F:→ Philethan: Yes,不確定有沒有記錯代碼.. 02/27 18:25
14F:→ hizuki: ssh是你去連別人,sshd就是給別人連進來 02/27 18:50
15F:推 Philethan: 感謝大大 我晚點再嘗試關於 sshd_config 02/27 20:44
16F:→ Philethan: 後來根據您說的glx,indirect rendering關鍵字去搜尋 02/27 20:45
17F:→ Philethan: 有找到一篇文章 解決了一大部分問題 02/27 20:45
19F:→ Philethan: 先前的 HOOPS 錯誤訊息已消失 02/27 20:46
20F:→ Philethan: 我的理解是 linux 與 mac 都沒開啟 indirectGLX 02/27 20:47
21F:→ Philethan: 所以我按照該回答提供的方式 在linux wrapping Xorg 02/27 20:48
22F:→ Philethan: itself with a shell script 以執行 +iglx flag 02/27 20:49
23F:→ Philethan: 接著就是設定 mac 的 xquartz,開啟 iglx 02/27 20:50
24F:→ Philethan: 我的圖形就出現了,但目前仍有兩個錯誤訊息 02/27 20:50
25F:→ Philethan: libGL error: No matching fbConfigs or visuals found 02/27 20:51
26F:→ Philethan: libGL error: failed to load driver: swrast 02/27 20:51
28F:→ Philethan: 有找到解決方式,似乎是說顯示卡驅動程式破壞了對 02/27 20:54
29F:推 Bencrie: 為什麼會想要用 indirect rendering 啊? 02/27 20:54
30F:→ Philethan: libGL.so 的連結。可藉 LIBGL_DEBUG=verbose glxgears 02/27 20:54
31F:→ Bencrie: 效能差、extension 又東缺西缺 02/27 20:54
32F:→ Philethan: 去找到我那電腦想載入的OpenGL library究竟是啥 02/27 20:55
33F:→ Bencrie: swrast == Software Rasterizer == 完全 CPU 繪圖 02/27 20:56
34F:→ Philethan: @Bencrie 是在問我嗎?我不確定我是不是能夠選擇"不用 02/27 20:56
35F:→ Philethan: Indirect rendering,我剛接觸linux..不熟這些 只是照 02/27 20:57
36F:→ Philethan: 本文大大所說去找相關答案 02/27 20:57
37F:→ Philethan: @Bencrie 我剛用開 LIBGL_DEBUG 時有看到它用swrast 02/27 20:58
39F:推 Bencrie: 如果你只是要 remote 操作 OpenGL 程式,那改用 vnc 之類 02/27 20:58
40F:→ Philethan: 上面是我用 LIBGL_DEBUG 得到的結果 02/27 20:58
41F:→ Bencrie: 的會比較實際。 02/27 20:58
42F:→ Bencrie: 至少你不用去亂搞 libGL.so.1 XD 02/27 21:00
43F:→ Philethan: VNC?是共享螢幕嗎?但我其實正在設定給多人使用的電腦 02/27 21:00
44F:→ Philethan: 如果共享螢幕,還能多人同時使用裡面的軟體、開視窗嗎 02/27 21:00
45F:→ Philethan: 我目前也是可用Chrome remote遠端遙控(新)桌面 02/27 21:00
46F:→ Philethan: 另外也勉強可用Teamviewer(但久了就會被鎖) 02/27 21:01
47F:→ Philethan: 只是Chrome remote & Teamviewer都無法讓多人同時使用 02/27 21:01
48F:→ Philethan: 因為螢幕畫面只有一個.. 02/27 21:01
49F:→ Bencrie: VNC 可以弄成 login 那種的吧 02/27 21:07
50F:推 Philethan: 好...之後有時間再來研究一下(暈了 02/27 21:13
51F:→ hizuki: 因為原po沒有問所以沒提vnc,但是vnc搞虛擬螢幕效率也差 02/27 21:34
52F:推 Bencrie: 但是至少 OpenGL 會是正常的 XD 02/28 02:12
可是VNC必須有實際輸出啊,不能讓每個人都登錄不同的畫面
※ 編輯: hizuki (103.29.142.67), 02/28/2019 17:07:34
53F:→ lantw44: VNC 不必有實際輸出吧,一般執行 vncserver 都是直接開一 02/28 22:44
54F:→ lantw44: 個和實際螢幕內容完全無關的環境,當然這種狀況下 OpenGL 02/28 22:45
55F:→ lantw44: 通常是完全用 CPU 跑的,不保證能用的很順 02/28 22:46
56F:→ lantw44: 設定 LIBGL_ALWAYS_SOFTWARE=1 可以叫 libGL 用 CPU 跑 02/28 22:49
如果我沒搞錯這種情況下他的desktop環境要執行好多份
※ 編輯: hizuki (103.29.142.67), 03/01/2019 16:10:24
57F:→ lantw44: vncserver 每執行一次就多開一個 VNC server,要有很多個 03/01 19:49
58F:→ lantw44: 桌面環境不是問題,每個使用者都可以自己跑 vncserver 03/01 19:50