作者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/cn.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