Support multiple nvidia cards

Closes: #2695
Approved by: alexlarsson
This commit is contained in:
Patrick Griffis
2019-02-10 15:13:10 -05:00
committed by Atomic Bot
parent 4607739677
commit d2dff2875b

View File

@@ -1076,7 +1076,6 @@ flatpak_run_add_environment_args (FlatpakBwrap *bwrap,
"/dev/umplock",
/* nvidia */
"/dev/nvidiactl",
"/dev/nvidia0",
"/dev/nvidia-modeset",
/* nvidia OpenCL/CUDA */
"/dev/nvidia-uvm",
@@ -1088,6 +1087,16 @@ flatpak_run_add_environment_args (FlatpakBwrap *bwrap,
if (g_file_test (dri_devices[i], G_FILE_TEST_EXISTS))
flatpak_bwrap_add_args (bwrap, "--dev-bind", dri_devices[i], dri_devices[i], NULL);
}
/* Each Nvidia card gets its own device.
This is a fairly arbitrary limit but ASUS sells mining boards supporting 20 in theory. */
char nvidia_dev[14]; /* /dev/nvidia plus up to 2 digits */
for (i = 0; i < 20; i++)
{
g_snprintf (nvidia_dev, sizeof (nvidia_dev), "/dev/nvidia%d", i);
if (g_file_test (nvidia_dev, G_FILE_TEST_EXISTS))
flatpak_bwrap_add_args (bwrap, "--dev-bind", nvidia_dev, nvidia_dev, NULL);
}
}
if (context->devices & FLATPAK_CONTEXT_DEVICE_KVM)