无法通过 sudo 或 SSH X11 转发让 Vulkan 在不同用户上工作

无法通过 sudo 或 SSH X11 转发让 Vulkan 在不同用户上工作

场景和问题:

我在我的主用户 X 上运行同一个 Steam 游戏的两个实例。为此,我在我的主用户上启动第一个实例,在另一个用户上启动另一个实例。这按我的预期工作,但我无法让 Vulkan 在我的第二个实例上工作。

我正在运行另一个用户的第二个 Steam 实例:xhost local:remoto && sudo -u remoto /usr/games/steam -applaunch 1041320.-> 使用 WINED3D 效果很好。我尝试使用 Vulkan 运行它,因为使用它游戏进程将消耗大约 50% 的 CPU。

故障排除:

为了说明 vulkan 无法通过另一个用户使用 sudo 运行,我这样做:xhost local:remoto && sudo -u remoto VK_LOADER_DEBUG=all vulkaninfo

输出:

error: XDG_RUNTIME_DIR not set in the environment.
ERROR: setupLoaderTermPhysDevs:  Failed to detect any valid GPUs in the current config 
ERROR: setupLoaderTrampPhysDevs:  Failed during dispatch call of vkEnumeratePhysicalDevices' to lower layers or load
er to get count.

我尝试使用 SSH X11 转发而不是 sudo 来执行上述场景,但得到了完全相同的结果。

问题不在于直接渲染,因为我在上述场景中使用 WINED3D 运行游戏效果很好。

输出 xhost local:remoto && sudo -u remoto glxinfo | grep "OpenGL renderer string"

non-network local connections being added to access control list
OpenGL renderer string: Mesa DRI Intel(R) Haswell Desktop 

VK_LOADER_DEBUG=all vulkaninfo如果我在“remoto”用户 Xsession 上运行,Vulkan 可以正常工作。

相关内容