7

I am running the flatpak version of Steam, and it happens that my system has two discrete GPUs, a nvidia one and a lowend AMD one.

Normally Steam opens proton games and it uses the nvidia card for running Vulkan, but sometimes, specially after some upgrade, it uses the AMD one.

I have tried to understand which GPU is passed to the flatpak container, or if both, how it decides which ones to use, but apparently there is no Vulkan ICD loader in the flatpak container.

How does flatpak provides access to the GPUs of the host system? How can I enforce to use one or another?

4
  • Are you sure you have 2 discrete GPUs? Far more likely would be an integrated GPU (Intel or AMD) and a discrete GPU (Nvidia or AMD) > Intel+Nvidia, Intel+AMD, AMD+AMD and AMD+Nvidia are all possible combinations. That would mean you have switchable hybrid graphics and which one is used depends on system settings, not flatpak Commented Feb 22, 2023 at 16:02
  • 1
    I have 2 discrete GPUs, I can assure you that, I have installed them both myself, an AMD 6500 XT and a nvidia 2070 super. On the host I can select which one to use depending on __GLX_VENDOR_LIBRARY and VK_ICD_FILENAMES, but not sure how a flatpaked app decides to use one or another, as there are no ICD Loaders inside the flatpak container. Commented Feb 22, 2023 at 16:19
  • @jjcasmar did you find more info about this? Commented Mar 6, 2024 at 5:03
  • Actually yes. flatpak kind of copies the nvidia ICD files to a particular location, you can create the VK_ICD_FILENAMES envvar to point to them. github.com/flatpak/flatpak/issues/5543#issuecomment-1808871433 Commented Mar 13, 2024 at 15:02

0

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.