sudo または SSH X11 転送では、Vulkan が他のユーザーに対して動作できるようにすることはできません。

sudo または SSH X11 転送では、Vulkan が他のユーザーに対して動作できるようにすることはできません。

シナリオと質問:

私のメインユーザーXで同じSteamゲームの2つのインスタンスを実行しています。これを行うには、プライマリユーザーで最初のインスタンスを起動し、別のユーザーから別のインスタンスを起動します。これは期待どおりに機能しますが、Vulkanが2番目のインスタンスで機能することはできません。

他のユーザーと一緒に2番目のSteamインスタンスを実行しています。xhost local:remoto && sudo -u remoto /usr/games/steam -applaunch 1041320.-> WINED3Dを使用することをお勧めします。 Vulkanを使用すると、ゲームプロセスはCPUの約50%を消費するため、Vulkanを使用して実行してみました。

トラブルシューティング:

他のユーザーのsudoでvulkanを実行できないことを説明するには、次のようにします.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.

sudoの代わりにSSH X11配信を使用して上記のシナリオを実行してみましたが、同じ結果が得られました。

上記のシナリオでは、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 vulkaninfoVulkanは、「remoto」ユーザーXsessionで実行すると正常に動作します。

関連情報