Ubuntu 14.04 Bumblebee / Optimus错误与蒸汽

当我在没有primus或bumblebee的情况下运行Dota 2时它工作但速度很慢,当我尝试使用optirun / primusrun运行steam或dota时,我会收到错误。

The Primusrun error: Game update: AppID 570 "Dota 2", ProcID 4131, IP 0.0.0.0:0 ERROR: ld.so: object '/home/aleks/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/aleks/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. malloc: unknown:0: assertion botched free: called with unallocated block argument last command: (null) Aborting...Aborted (core dumped) Game removed: AppID 570 "Dota 2", ProcID 4131 Installing breakpad exception handler for appid(steam)/version(1411443970) 

您可以在primusrun目录的游戏目录中的shell脚本中添加primusrun ,而不是在启动选项( primusrun %command% )中添加primusrun primusrun %command% 。 每个游戏似乎都有自己的shell脚本。 CS:GO例如:“。 .steam/steam/SteamApps/common/Counter-Strike Global Offensive/csgo.sh

找到dota2的脚本并更改该行:

${DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"

至:

primusrun ${DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"

你应该像往常一样启动游戏,但是会使用primusrun。