调查32位MESA驱动程序选择

时间:2018-05-07 16:32:41

标签: linux 32bit-64bit mesa

我使用了NVidia卡,在Debian Stretch上安装了properary驱动程序。

但是因为我在不同的机器之间携带我的硬盘(英特尔,amd,但总是在amd64行为),我决定放弃NVidia卡,并将opengl回滚到MESA以便在每个机器上使用3D加速机。经过大量的努力,我成功识别并恢复了一些严重覆盖的文件(libGL.so,libdrm2.so,NVidia安装程序)。

现在我成功恢复了64位相关库,因此glxgears,浏览器的WebGL支持,gnuplot等运行良好。

但32位库(wine,steam)仍然不能很好地工作,它总是回到“Mesa X11”渲染。

我使用了glxgears     $ LIBGL_DEBUG=verbose glxinfo | grep "OpenGL renderer string" 确定选择哪个和DRI。它打印查找过程和渲染器:

libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/r600_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
libGL: Using DRI2 for screen 0
OpenGL renderer string: Gallium 0.4 on AMD SUMO (DRM 2.50.0 / 4.12.0-0.bpo.1-amd64, LLVM 3.9.1)

要调查32位库(我们不能安装64位和32位的mesa),我已经下载了32位版本:

$ apt-get download mesa-utils:i386

解压缩它并试图弄清楚为什么它无法选择正确的DRI:

LIBGL_DEBUG=verbose  ./glxinfo | grep "OpenGL renderer string"
OpenGL renderer string: Mesa X11

pevious 64bit glxinfo将调试信息打印到stderr,因此我们可以看到选择是如何发生的。

对于32位版本,我无法获得任何有用的信息,即使我指定了     LIBGL_DRIVERS_PATH=/usr/lib/i386-linux-gnu/dri/ 环境变量,其中mesa可能会找到正确的32位。

$ file /usr/lib/i386-linux-gnu/dri/r600_dri.so
/usr/lib/i386-linux-gnu/dri/r600_dri.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=d5177f823f11ac8ea7412e517aa6684154de506e, stripped

如何获得有关MESA DRI选择的更多信息?

0 个答案:

没有答案