虚拟现实

出自 ArchWiki

此文章或章节需要扩充。

原因: 重写正在进行中:本文中的许多内容已过时 (在 Talk:Virtual reality 中讨论)

虚拟现实 是为用户模拟环境的过程,使用各种外围设备、头戴式显示器或 CAVEs 和追踪器。它不是从屏幕上向您展示静态视点,而是渲染相对于您站立位置的视点,在头部连接或投影的表面上,以产生与您自己眼睛相同的效果。

最近发布或即将发布许多外围设备,这些设备为每个人带来了价格实惠、极具沉浸感的虚拟现实体验。这些外围设备中的大多数都具有完整或部分的 Linux 支持,并且许多具有 AUR 软件包。

硬件兼容性

以下是当前支持的 VR/XR 设备以及支持它们的软件的非详尽列表。

PCVR 头戴式显示器

设备 SteamVR Monado
Valve Index
HTC Vive/Vive Pro
HTC Vive Pro Eye 是 (眼动追踪正在进行中) 是 (眼动追踪正在进行中)
HTC Vive Pro 2 是 (自定义驱动和补丁 需要) 是 (仅限 AMD GPU,需要 2 个内核补丁:1 2)
Bigscreen Beyond 是 (仅限 AMD GPU,需要 内核补丁) 是 (仅限 AMD GPU,需要 内核补丁)
Pimax 头戴式显示器 否 (计划中) 正在进行中 (可能与 内核补丁 一起使用)
WMR 是 (常见头戴式显示器,Monado SteamVR 插件) 是 (6DoF 控制器实验性)
Oculus Rift CV1 是 (推荐 OpenHMD) 是 (推荐 OpenHMD)
Oculus Rift S 是 (Monado SteamVR 插件) 是 (6DoF 控制器实验性)

此外,还有一个用于 WiVRn 的实验性 PC-PC 流客户端,可能适用于 Monado 支持的上述头戴式显示器。

独立头戴式显示器

设备 SteamVR (通过 ALVR) WiVRn
Meta Quest/2/3/Pro
Pico 4
Pico Neo 3 否 (SDK 损坏)
HTC Vive Focus 3
HTC Vive XR Elite
Lynx R1
Apple Vision Pro

追踪设备

设备 SteamVR Monado WiVRn
Vive/Tundra 追踪器 是 (原生或 spacecal) 是 (原生或 motoc) 是 (motoc)
SlimeVR 追踪器 仅限 OSC (合并请求) 仅限 OSC (合并请求)
Project Babble 是 (oscavmgr) 是 (oscavmgr) 是 (oscavmgr)
Eyetrack VR 是 (oscavmgr) 是 (oscavmgr) 是 (oscavmgr)
Mercury 手部追踪 是 (仅限 survive 驱动)
Lucid VR 手套 ? 是 (仅限 survive 驱动)
基于 Kinect 的全身追踪 是 (实验性) 正在进行中
Standable FBT

支持的运行时和工具包

OpenXR

OpenXR 是一个开放、免版税的标准,用于访问虚拟现实和增强现实平台和设备。它由 Khronos Group 维护,并被行业中的大多数公司采用。大多数运行时支持 OpenXR。

Monado

Monado 是 Collabora 开发的开源 OpenXR 运行时。它正在大力开发中,旨在提供一个通用的运行时,支持大多数头戴式设备。当前的进展可以在这里找到:https://monado.freedesktop.org/

使用 monadoAUR 安装。

Envision

Envision 是一个图形应用程序,充当协调器,只需点击几下即可启动并运行完整的 MonadoWiVRn 设置。Envision 尝试构建一个工作运行时,其中包含原生 OpenXR 和 OpenVR API,由 OpenCompositeXRizer 提供,供客户端应用程序使用。

WiVRn

WiVRn 是 Monado 的一个分支/封装器,能够流式传输到独立头戴式设备。它目前支持大多数可用的基于 Android 的头戴式显示器,并且还具有对 PC 到 PC 流式传输的实验性支持。

使用 wivrn-serverAUR 安装服务器,并使用 wivrn-dashboardAUR 安装(可选)配置仪表板。您可以从 GitHub 发布页面 下载预构建的 Android 客户端,或者根据 构建文档 自行编译。

OpenVR / SteamVR

OpenVR 是 Valve 为 VR 开发创建开放 API 的一项努力。不幸的是,虽然 API 是开放的,但实际的默认实现 (SteamVR) 却不是。SteamVR 还提供 OpenXR 运行时。

SteamVR 注意事项

众所周知,截至 2025 年 1 月,Linux 上的 SteamVR 存在许多无法修复的问题,并且被 Linux VR 领域的许多人广泛认为是弃置软件。如果您正在寻找 Linux 上 VR 的实际解决方案,请尽可能使用 Monado 或 WiVRn。

设置 SteamVR

安装 VulkanSteam。如果使用 NVIDIA 驱动程序,您可能需要设置 VK_DRIVER_FILES 环境变量。32 位软件包的必需依赖项为:lib32-gtk2lib32-libvalib32-libvdpau

从 Steam 中,从工具菜单安装 SteamVR。

ALVR

ALVR 是一个 SteamVR 驱动程序,允许流式传输到独立头戴式设备,如 Meta/Oculus Quest。它在 alvrAURalvr-gitAUR 软件包中可用。

OpenHMD

OpenHMD 目前未维护,对于除旧版头戴式显示器之外的所有设备,应将其视为已弃用。它旨在为沉浸式技术(如内置头部追踪的头戴式显示器)提供免费和开源的 API 和驱动程序。其目标是在一个可移植的跨平台软件包中实现对尽可能多设备的支持。

OpenHMD 仅支持较旧的设备,如 Oculus Rift、HTC Vive、Sony PSVR、Deepoon E2 等,因此对于较新的设备不需要它,也不应考虑使用。现在大多数头戴式显示器驱动程序的努力都转向了 Monado。有一个 分支 专注于 Oculus Rift CV1 追踪,并且仍然推荐用于该特定头戴式设备;否则请使用 Monado。

SteamVR 支持

可以将 OpenHMD 与 SteamVR 一起使用。为此,您需要安装 steamvr-openhmd-gitAUR 并创建一个符号链接,指向 SteamVR 驱动程序目录中的 OpenHMD SteamVR 驱动程序,例如

$ ln -s /usr/lib/steamvr/openhmd ~/.steam/steam/steamapps/common/SteamVR/drivers/openhmd

其他软件

vr-video-player

一个简单的工具,用于在您的 VR 头戴式显示器中查看任何 X11 窗口。vr-video-player 支持立体/180°/360° 视频/游戏。vr-video-player 还允许您在 VR 中将常规视频/游戏/窗口视为平面屏幕。

vr-video-playerAUR 提供。

xr-video-player

vr-video-player 的一个分支,用于 OpenXR 和 wayland,它使用 pipewire 捕获窗口或屏幕。

xr-video-player-gitAUR 提供。

SideQuest

SideQuest 可用于将 APK 文件 安装到您的 Oculus Quest。它以 sidequest-binAUR 提供。

有关安装步骤,请参阅 https://sidequestvr.com/setup-howto

  1. 创建一个 Oculus 开发者帐户。
  2. 在开发者模式下打开 Quest(例如,使用您的手机)并通过电缆连接您的 Quest。
  3. 在 Quest 内按允许 USB 调试

有关更多信息,请参阅 SideQuest 网站

wlx-overlay-s

wlx-overlay-s 是一个轻量级的 OpenXR/OpenVR 覆盖层,可以镜像和控制 X11/Wayland 桌面。如果使用 wayvr 功能编译,它也可以充当 Wayland 合成器。

wlx-overlay-s-gitAUR 提供。

Stardust XR

Stardust XR (GitHub) 是一个模块化的 XR 显示服务器。它可以充当覆盖层(并且可以与 wlx-overlay-s 并排运行)或作为独立应用程序运行。它可以使用 stardust-xr-flatlandAUR 提供 Wayland 合成器,使用 stardust-xr-protostarAUR 提供应用程序启动器,使用 stardust-xr-atmosphereAUR 提供天空盒/主环境,以及使用 其他软件包 的其他几个功能。使用 stardust-xr-serverAUR 安装服务器;您还可以安装 stardust-xr-telescopeAUR 以获取预制的启动脚本。

故障排除

SteamVR 支持

配置或启动错误

SteamVR/OpenVR 创建一个 ~/.openvr 目录,该目录可能会因各种版本而配置错误。删除该目录并完全卸载/重新安装 SteamVR。

显然,在某些配置下,它也可能难以访问不同的头戴式显示器。请参阅头戴式显示器兼容性图表,以查看您的头戴式设备是否兼容。

游戏/程序

大多数 XR 应用程序通过 Proton 运行而没有重大问题。Proton-GE(可以使用 protonup-qtAURprotonup-rsAUR 安装)或 Proton-GE-RTSP 可能是一些游戏或特定功能所必需的。如果游戏在通过 Proton 运行时遇到问题,请参阅游戏的 Linux/Wine 兼容性信息、ProtonDB 以及正在使用的 XR 运行时和兼容性层的文档,以获取可能的修复方案。

其他问题

由于 Linux 上 VR 的性质,弹出各种各样的问题非常常见,并且由于可能出现的问题数量庞大,因此不可能在此处写出所有内容。相反,请参阅软件各自的文档、Linux VR Adventures WikiLinux VR Adventures Discord,以获得有关您可能遇到的任何问题的帮助。