diff --git a/distribution/macos/vulkan/icd.d/MoltenVK_icd-flat.json b/distribution/macos/vulkan/icd.d/MoltenVK_icd-flat.json
new file mode 100644
index 000000000..2b26d3a25
--- /dev/null
+++ b/distribution/macos/vulkan/icd.d/MoltenVK_icd-flat.json
@@ -0,0 +1,8 @@
+{
+ "file_format_version" : "1.0.0",
+ "ICD": {
+ "library_path": "../../libMoltenVK.dylib",
+ "api_version" : "1.4.0",
+ "is_portability_driver" : true
+ }
+}
diff --git a/distribution/macos/vulkan/icd.d/libkosmickrisp_icd-flat.json b/distribution/macos/vulkan/icd.d/libkosmickrisp_icd-flat.json
new file mode 100644
index 000000000..3f82fcc9d
--- /dev/null
+++ b/distribution/macos/vulkan/icd.d/libkosmickrisp_icd-flat.json
@@ -0,0 +1,7 @@
+{
+ "ICD": {
+ "api_version": "1.3.0",
+ "library_path": "../../libvulkan_kosmickrisp.dylib"
+ },
+ "file_format_version": "1.0.1"
+}
\ No newline at end of file
diff --git a/src/Ryujinx.Graphics.Vulkan/VulkanDriver.cs b/src/Ryujinx.Graphics.Vulkan/VulkanDriver.cs
index a13e65af2..37f5fef3e 100644
--- a/src/Ryujinx.Graphics.Vulkan/VulkanDriver.cs
+++ b/src/Ryujinx.Graphics.Vulkan/VulkanDriver.cs
@@ -10,9 +10,19 @@ namespace Ryujinx.Graphics.Vulkan
private static string GetIcdPath(string fileName)
{
string contentsDir = Path.GetDirectoryName(AppContext.BaseDirectory.TrimEnd('/'))!;
- string icdPath = Path.Combine(contentsDir, "Resources", "vulkan", "icd.d", fileName);
+ string[] searchPaths =
+ [
+ Path.Combine(contentsDir, "Resources", "vulkan", "icd.d", fileName),
+ Path.Combine(contentsDir, "vulkan", "icd.d", fileName)
+ ];
- return !File.Exists(icdPath) ? throw new FileNotFoundException($"{fileName} not found", icdPath) : icdPath;
+ foreach (string icdPath in searchPaths)
+ {
+ if (File.Exists(icdPath))
+ return icdPath;
+ }
+
+ throw new FileNotFoundException($"{fileName} not found");
}
public static void MoltenVK()
diff --git a/src/Ryujinx/Ryujinx.csproj b/src/Ryujinx/Ryujinx.csproj
index 409248ee7..712f69fd4 100644
--- a/src/Ryujinx/Ryujinx.csproj
+++ b/src/Ryujinx/Ryujinx.csproj
@@ -91,6 +91,18 @@
+
+
+
+
+
+
+
+
Always