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을 사용하면 게임 프로세스가 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에서 실행하면 제대로 작동합니다.

관련 정보