You need to enable JavaScript to run this app. VirtualBox下Ubuntu 18.04.5 LTS运行VTK脚本GL版本不支持怎么解决
优惠活动
大模型
产品
解决方案
定价
更多

VirtualBox下Ubuntu 18.04.5 LTS运行VTK脚本GL版本不支持怎么解决

可行解决方法

方法1:强制Mesa指定OpenGL版本

Mesa 20.0本身支持OpenGL 3.2,只是VirtualBox默认环境下会优先暴露2.1版本,通过临时设置环境变量即可覆盖:

  • 单次运行脚本时直接添加环境变量前缀:
    MESA_GL_VERSION_OVERRIDE=3.2 MESA_GLSL_VERSION_OVERRIDE=150 python3 Cylinder.py
    
  • 如需永久生效,可将以下两行写入~/.bashrc文件末尾:
    export MESA_GL_VERSION_OVERRIDE=3.2
    export MESA_GLSL_VERSION_OVERRIDE=150
    
    写入后执行source ~/.bashrc生效,后续运行VTK脚本无需再加前缀。

方法2:调整VirtualBox虚拟机显示配置

需先关闭运行中的Ubuntu客户机,再执行以下操作:

  • 打开VirtualBox对应虚拟机的设置页面,切换到「显示」标签
  • 将显存大小调整至128MB及以上,勾选「启用3D加速」选项后保存配置
  • 重新启动Ubuntu客户机,卸载原有可能存在的版本不符的增强功能:
    sudo apt remove -y virtualbox-guest*
    
  • 点击虚拟机顶部菜单栏「设备」->「安装增强功能」,挂载镜像后执行安装脚本:
    sudo /media/$USER/VBox_GAs_*/VBoxLinuxAdditions.run
    
  • 安装完成后重启客户机即可,此时再次执行glxinfo | grep "OpenGL version"可看到版本升级到3.2+。

方法3:使用VTK软件渲染(性能较低,适配所有场景)

如果前两种方法无效,可切换为VTK软件渲染后端,无需依赖硬件OpenGL支持:

  • 先安装依赖包:
    sudo apt install -y libosmesa6
    
  • 运行脚本时添加环境变量指定渲染后端:
    VTK_RENDERING_BACKEND=OSMesa python3 Cylinder.py
    

内容的提问来源于stack exchange,提问作者lskrinjar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 15:54:06