summary refs log tree commit diff
path: root/pkgs/applications/virtualization
diff options
context:
space:
mode:
authorMatt McHenry <github@matt.mchenryfamily.org>2021-09-16 07:11:38 -0400
committerGitHub <noreply@github.com>2021-09-16 14:11:38 +0300
commitc97f15e81a93594e525b581865d21572b69aa42b (patch)
tree4dc84818d42460c68025e56cd17af992ec04d987 /pkgs/applications/virtualization
parent0ecf2a99ddbfef2ddb541c0afbfbb27a54c8a8cb (diff)
downloadnixpkgs-c97f15e81a93594e525b581865d21572b69aa42b.tar
nixpkgs-c97f15e81a93594e525b581865d21572b69aa42b.tar.gz
nixpkgs-c97f15e81a93594e525b581865d21572b69aa42b.tar.bz2
nixpkgs-c97f15e81a93594e525b581865d21572b69aa42b.tar.lz
nixpkgs-c97f15e81a93594e525b581865d21572b69aa42b.tar.xz
nixpkgs-c97f15e81a93594e525b581865d21572b69aa42b.tar.zst
nixpkgs-c97f15e81a93594e525b581865d21572b69aa42b.zip
virtualbox: fix audio driver loading (#136048)
virtualbox: fix audio driver loading

fixes #123851

patch by @jcumming
Diffstat (limited to 'pkgs/applications/virtualization')
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix2
-rw-r--r--pkgs/applications/virtualization/virtualbox/fix-audio-driver-loading.patch26
2 files changed, 28 insertions, 0 deletions
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index f54f9d84546..0d6d707a60d 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -97,6 +97,8 @@ in stdenv.mkDerivation {
     # Temporary workaround for broken build
     # https://www.virtualbox.org/pipermail/vbox-dev/2021-July/015670.html
     ./fix-configure-pkgconfig-qt.patch
+    # https://github.com/NixOS/nixpkgs/issues/123851
+    ./fix-audio-driver-loading.patch
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/virtualization/virtualbox/fix-audio-driver-loading.patch b/pkgs/applications/virtualization/virtualbox/fix-audio-driver-loading.patch
new file mode 100644
index 00000000000..552f867f1ac
--- /dev/null
+++ b/pkgs/applications/virtualization/virtualbox/fix-audio-driver-loading.patch
@@ -0,0 +1,26 @@
+diff --git a/src/VBox/Devices/Audio/DrvHostAudioAlsaStubs.cpp b/src/VBox/Devices/Audio/DrvHostAudioAlsaStubs.cpp
+index cfcb0abbf..2ce564f6f 100644
+--- a/src/VBox/Devices/Audio/DrvHostAudioAlsaStubs.cpp
++++ b/src/VBox/Devices/Audio/DrvHostAudioAlsaStubs.cpp
+@@ -258,7 +258,7 @@ static DECLCALLBACK(int32_t) drvHostAudioAlsaLibInitOnce(void *pvUser)
+     LogFlowFunc(("\n"));
+ 
+     RTLDRMOD hMod = NIL_RTLDRMOD;
+-    int rc = RTLdrLoadSystemEx(VBOX_ALSA_LIB, RTLDRLOAD_FLAGS_NO_UNLOAD, &hMod);
++    int rc = RTLdrLoad(VBOX_ALSA_LIB, &hMod);
+     if (RT_SUCCESS(rc))
+     {
+         for (uintptr_t i = 0; i < RT_ELEMENTS(SharedFuncs); i++)
+diff --git a/src/VBox/Devices/Audio/DrvHostAudioPulseAudioStubs.cpp b/src/VBox/Devices/Audio/DrvHostAudioPulseAudioStubs.cpp
+index a17fc93f9..148f5c39a 100644
+--- a/src/VBox/Devices/Audio/DrvHostAudioPulseAudioStubs.cpp
++++ b/src/VBox/Devices/Audio/DrvHostAudioPulseAudioStubs.cpp
+@@ -332,7 +332,7 @@ static DECLCALLBACK(int32_t) drvHostAudioPulseLibInitOnce(void *pvUser)
+     LogFlowFunc(("\n"));
+ 
+     RTLDRMOD hMod = NIL_RTLDRMOD;
+-    int rc = RTLdrLoadSystemEx(VBOX_PULSE_LIB, RTLDRLOAD_FLAGS_NO_UNLOAD, &hMod);
++    int rc = RTLdrLoad(VBOX_PULSE_LIB, &hMod);
+     if (RT_SUCCESS(rc))
+     {
+         for (unsigned i = 0; i < RT_ELEMENTS(g_aImportedFunctions); i++)
\ No newline at end of file