From c97f15e81a93594e525b581865d21572b69aa42b Mon Sep 17 00:00:00 2001 From: Matt McHenry Date: Thu, 16 Sep 2021 07:11:38 -0400 Subject: virtualbox: fix audio driver loading (#136048) virtualbox: fix audio driver loading fixes #123851 patch by @jcumming --- .../virtualization/virtualbox/default.nix | 2 ++ .../virtualbox/fix-audio-driver-loading.patch | 26 ++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/applications/virtualization/virtualbox/fix-audio-driver-loading.patch diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index f54f9d84546b2..0d6d707a60d5f 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 0000000000000..552f867f1acc0 --- /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 -- cgit 1.4.1