From d2dff2875bb3b7e2cd92d8204088d743fd07f3ff Mon Sep 17 00:00:00 2001 From: Patrick Griffis Date: Sun, 10 Feb 2019 15:13:10 -0500 Subject: [PATCH] Support multiple nvidia cards Closes: #2695 Approved by: alexlarsson --- common/flatpak-run.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/common/flatpak-run.c b/common/flatpak-run.c index 16faf9b7..294ce32d 100644 --- a/common/flatpak-run.c +++ b/common/flatpak-run.c @@ -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)