Mik*_*ell 16 nvidia opengl drivers windows-subsystem-for-linux
我并不是真的在问问题,但是这个 ___ 网站不允许我以任何其他方式这样做。
我今天在 Win10 的 Linux 子系统(特别是 Ubuntu 18.04)下使用 GTK 遇到了一个问题。错误消息是:
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Run Code Online (Sandbox Code Playgroud)
其他人在使用 Steam 时遇到了这个问题,这里有一些答案:Steam libGL error。第二个答案“适用于 Linux 的 Windows 子系统 (WSL) 具有相同的错误”是引导我找到解决方案的答案,但是该答案并没有立即生效。
他们的回答涉及目录/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
。该目录在我的系统中不存在,但我将在我的回答中提供对我的词干起作用的解决方案(对我自己)。
我意识到这是一个非常笨拙的方式来回答这个问题。但是,我觉得回答它很重要,因为我花了很多时间才找到对我有用的答案,而其他人可能也有同样的问题。我无法在原始问题上留下答案,因为它已关闭;我无法评论引导我找到解决方案的答案,因为我没有足够的声誉。而且我也无法发布元问题。你能说“Catch-22”吗?我知道你可以。
小智 14
将 LIBGL_ALWAYS_INDIRECT 变量添加到 /etc/bash.bashrc 解决了我的错误。
export LIBGL_ALWAYS_INDIRECT=1
Run Code Online (Sandbox Code Playgroud)
不知道实际用途是什么。但也许有用,因为 XLauch 配置说它需要这个。
从 wsl2 调用 emacs 时出现我的错误,并在 XLauch (vcxsrv) 中显示:
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Run Code Online (Sandbox Code Playgroud)
我根据以下方法找到解决方案:
再次,为回答我自己的问题而道歉,但这似乎是解决问题的唯一方法,正如我在我的问题中详述的那样。
在我的Win10 Linux操作系统Ubuntu子系统,台面司机在此目录中:/usr/lib/x86_64-linux-gnu/
; 与上面链接的答案不同,没有 Mesa(或 mesa,或...)子目录。所以我在其他地方创建了一个 tmp 目录,并将台面驱动程序(两个,加上两个链接)移动到该 tmp 目录。现在我的基于 GTK 的应用程序可以运行了。
这两个司机是/usr/lib/x86_64-linux-gnu/libEGL_mesa.so.0.0.0
和/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0
; 这两个链接是/usr/lib/x86_64-linux-gnu/libEGL_mesa.so.0
和/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0
。移动文件的 cmd 是sudo mv /usr/lib/x86_64-linux-gnu/*mesa* tmp/
(确保 tmp/dir 不在库文件所在的位置)。
我没有声明是否需要 mesa 驱动程序用于其他用途,这就是为什么我将它们移动到 tmp/ 目录而不是删除它们的原因。但是在移动它们之后,我的 GTK 应用程序工作了。
归档时间: |
|
查看次数: |
13957 次 |
最近记录: |