You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu虚拟机中运行mangohud glxgears提示Can't get libdl.so错误求助

Ubuntu虚拟机中运行mangohud glxgears提示Can't get libdl.so错误求助

看起来你在Ubuntu虚拟机里折腾MangoHud时遇到了OpenGL程序的兼容性问题——Vulkan正常但GLX(也就是OpenGL)的glxgears报错找不到libdl.so,我来帮你一步步排查解决~

  • 第一步:确认系统核心库是否正常
    libdl.so是Linux负责动态链接的核心库,属于libc6包的一部分,理论上不会缺失,但我们先确认状态:
    打开终端运行:

    ls /lib/x86_64-linux-gnu/libdl.so*
    

    如果输出里只有libdl.so.2(实际库文件),没有libdl.so(符号链接),可以手动创建链接:

    sudo ln -s /lib/x86_64-linux-gnu/libdl.so.2 /lib/x86_64-linux-gnu/libdl.so
    

    如果连libdl.so.2都找不到,说明libc6包可能损坏,重新安装它:

    sudo apt install --reinstall libc6
    
  • 第二步:确保MangoHud的GLX组件安装完整
    有时候基础安装可能漏掉了OpenGL相关的模块,试试彻底重装MangoHud和GOverlay:

    # 先卸载现有版本
    sudo apt remove --purge mangohud goverlay
    # 添加官方PPA(如果之前没加过)
    sudo add-apt-repository ppa:flexiondotorg/mangohud
    sudo apt update
    # 重新安装完整包
    sudo apt install mangohud goverlay
    
  • 第三步:检查虚拟机的3D加速支持
    虚拟机里的OpenGL依赖GPU虚拟化设置,如果glxgears本身都跑不起来,MangoHud肯定没法挂载:
    先试试直接运行glxgears,看能不能正常显示齿轮动画:

    • 如果失败,先搞定虚拟机的3D加速:
      • VirtualBox用户:安装Guest Additions,然后在虚拟机设置的「显示」选项卡开启「启用3D加速」
      • VMware用户:安装VMware Tools,在虚拟机设置的「显示器」中开启「加速3D图形」
  • 第四步:手动指定动态库加载路径
    如果上面的步骤都无效,可以强制指定库的加载路径,帮MangoHud找到libdl:

    LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libdl.so.2 mangohud glxgears
    

    或者更直接地指定MangoHud的GLX模块和libdl:

    LD_PRELOAD=/usr/lib/x86_64-linux-gnu/mangohud/libMangoHud_glx.so:/usr/lib/x86_64-linux-gnu/libdl.so.2 glxgears
    

备注:内容来源于stack exchange,提问作者moeeeom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 07:34:51