シナリオと質問:
私のメインユーザー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 vulkaninfo
Vulkanは、「remoto」ユーザーXsessionで実行すると正常に動作します。