使用 primus 运行 Steam 和 Dota 2

abs*_*umb 5 steam bumblebee primus

我想用 bumblebee 运行我的 Steam 但遇到了一个问题:当我尝试使用 primusrun 运行 Steam 时,我遇到了段错误。其他任何东西也不能与 primus 一起运行。这是primusrun glxspheres64使用LIBGL_DEBUG=verbose.

shy@shy-Inspiron-N5110:~$ LIBGL_DEBUG=verbose primusrun glxspheres64
libGL: screen 0 does not appear to be DRI3 capable
libGL: screen 0 does not appear to be DRI2 capable
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
libGL: driver does not expose __driDriverGetExtensions_swrast(): /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so: undefined symbol: __driDriverGetExtensions_swrast
libGL: Can't open configuration file /home/shy/.drirc: No such file or directory.
libGL: Can't open configuration file /home/shy/.drirc: No such file or directory.
libGL error: failed to load driver: swrast
Polygons in scene: 62464
libGL: screen 0 does not appear to be DRI3 capable
libGL: screen 0 does not appear to be DRI2 capable
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
libGL: driver does not expose __driDriverGetExtensions_swrast(): /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so: undefined symbol: __driDriverGetExtensions_swrast
libGL: Can't open configuration file /home/shy/.drirc: No such file or directory.
libGL: Can't open configuration file /home/shy/.drirc: No such file or directory.
libGL error: failed to load driver: swrast
Visual ID of window: 0x5f
Context is Direct
OpenGL Renderer: GeForce GT 525M/PCIe/SSE2
libGL: screen 0 does not appear to be DRI3 capable
libGL: screen 0 does not appear to be DRI2 capable
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
libGL: driver does not expose __driDriverGetExtensions_swrast(): /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so: undefined symbol: __driDriverGetExtensions_swrast
libGL: Can't open configuration file /home/shy/.drirc: No such file or directory.
libGL: Can't open configuration file /home/shy/.drirc: No such file or directory.
libGL error: failed to load driver: swrast
primus: fatal: failed to acquire direct rendering context for display thread
Run Code Online (Sandbox Code Playgroud)

如果我使用 运行 Steam optirun,则 Steam 本身运行良好,但在启动 Dota 时,它会给我一些其他错误。启动选项:

LD_PRELOAD=libpthread.so.0 libGL.so.1 __GL_THREADED_OPTIMIZATIONS=1 optirun %command%
Run Code Online (Sandbox Code Playgroud)

日志本身:

Game update: AppID 570 "Dota 2", ProcID 10988, IP 0.0.0.0:0
ERROR: ld.so: object '/home/shy/.steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
/bin/sh: 1: libGL.so.1: not found
Game removed: AppID 570 "Dota 2", ProcID 10988 
Run Code Online (Sandbox Code Playgroud)

我试图手动从我的复制libGL.so.1/usr/lib32/nvidia-343~/steamlibs,并用它来代替。现在 Dota 给了我一个段错误。

Game update: AppID 570 "Dota 2", ProcID 12567, IP 0.0.0.0:0
ERROR: ld.so: object '/home/shy/.steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Segmentation fault (core dumped)
Game removed: AppID 570 "Dota 2", ProcID 12567 
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?