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

如何使用Godot导出适配Linux系统的采用OpenVR插件的VR游戏

Godot OpenVR插件Linux导出无法检测头显解决方案

问题根因

编辑器中测试正常是因为你通过Steam Runtime启动Godot,运行环境自带OpenVR依赖的底层驱动、设备访问库及对应环境变量;直接导出的x86_64二进制默认不带这套运行环境,因此无法识别头显设备。

可选解决方案

方案一:封装Steam Runtime启动脚本(操作简单,兼容性最佳)

  • 导出游戏时选择导出为文件夹格式,确保导出目录内包含完整的addons/godot_openvr/bin/路径,且路径下存在libgodot_openvr.x86_64.so动态库*(注意导出时要在导出配置的资源过滤选项中勾选addons目录,否则插件文件会被遗漏)*
  • 在导出的游戏根目录下新建启动脚本start_game.sh,写入以下内容:
#!/bin/bash
# 自动检索本地Steam Runtime路径
STEAM_RUNTIME=$(find ~/.steam/steam/ubuntu12_32/steam-runtime -name "run.sh" 2>/dev/null | head -n 1)
if [ -z "$STEAM_RUNTIME" ]; then
    echo "未检测到Steam安装,请先安装Steam并配置好VR运行环境"
    exit 1
fi
# 替换<游戏二进制文件名>为你导出的x86_64文件名称
exec "$STEAM_RUNTIME" "$(dirname "$0")/<游戏二进制文件名>.x86_64"
  • 给脚本添加执行权限:chmod +x start_game.sh
    用户直接运行start_game.sh即可启动游戏,无需额外操作。如果需要上架Steam平台,直接在Steamworks后台的游戏启动配置中,将启动参数设置为steam-runtime/run.sh %command%即可,Steam会自动补全运行环境路径。

方案二:编译全独立二进制(无Steam依赖,适合分发非Steam版本)

  • 拉取对应版本的Godot源码,将godot_openvr作为内置模块集成到Godot源码中
  • 编译Godot导出模板时添加use_static_cpp=yes编译参数,将OpenVR的所有依赖库静态链接到导出模板中
  • 导出游戏时使用你自行编译的导出模板,生成的二进制本身就包含所有依赖,无需Steam Runtime即可运行
    注意该方案需要配套打包SteamVR的udev设备规则文件,否则普通用户运行时没有VR头显的访问权限,规则文件默认路径为/usr/lib/udev/rules.d/60-steamvr.rules,可随安装包一起分发,安装时写入对应系统路径即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 20:24:00