Linux + unity + fmod

Hello. Something weird happened to my working setup. After I made a clean install of Xubuntu 24.04 and installed Unity Hub with Unity Engine and opened my working project I got errors from FMod plugin basically claiming it couldn’t initialize audio (ERR_OUTPUT_INIT Error initializing audio device). Tried refreshing banks, rebuilding fmod project, reinstalling (with purge) alsa and pulseaudio packages, tried even installing another linux distro (Manjaro), but the error persists. The audio is actually seems to be working fine - I can listen to music or watching videos or playing games without any problem. The problem is only in this unity project. Unity version is 2022.3.52 (LTS). Any suggestions on where to dig?
P.S. On windows the project opens and works fine.

Have you tried opening a non-FMOD Unity project in the Unity editor? If so, did its sound effects play correctly when playing in editor?

Are there any additional error messages appearing in Unity’s logs when you attempt to play the FMOD-integrated Unity project in editor?

Hello. Normal sounds behave as intended - they import correctly and play correctly in playmode in editor.
Here are all the errors I get when project opens:

FMOD Studio: Encountered Error: ERR_OUTPUT_INIT Error initializing output device.
UnityEngine.Debug:LogError (object)
FMODUnity.RuntimeUtils:DebugLogError (string) (at Assets/Plugins/FMOD/src/RuntimeUtils.cs:585)
FMODUnity.EditorUtils:CheckResult (FMOD.RESULT) (at Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:44)
FMODUnity.EditorUtils:CreateSystem () (at Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:553)
FMODUnity.EditorUtils:get_System () (at Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:616)
FMODUnity.EventManager:UpdateCache () (at Assets/Plugins/FMOD/src/Editor/EventManager.cs:179)
FMODUnity.EventManager:RefreshBanks () (at Assets/Plugins/FMOD/src/Editor/EventManager.cs:33)
FMODUnity.EventManager:Startup () (at Assets/Plugins/FMOD/src/Editor/EventManager.cs:590)
FMODUnity.EditorUtils:CallStartupMethodsWhenReady () (at Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:504)
UnityEditor.EditorApplication:Internal_CallUpdateFunctions () (at /home/bokken/build/output/unity/unity/Editor/Mono/EditorApplication.cs:381)

FMOD Studio: Encountered Error: ERR_INVALID_HANDLE An invalid object handle was used.
UnityEngine.Debug:LogError (object)
FMODUnity.RuntimeUtils:DebugLogError (string) (at Assets/Plugins/FMOD/src/RuntimeUtils.cs:585)
FMODUnity.EditorUtils:CheckResult (FMOD.RESULT) (at Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:44)
FMODUnity.EditorUtils:CreateSystem () (at Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:556)
FMODUnity.EditorUtils:get_System () (at Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:616)
FMODUnity.EventManager:UpdateCache () (at Assets/Plugins/FMOD/src/Editor/EventManager.cs:179)
FMODUnity.EventManager:RefreshBanks () (at Assets/Plugins/FMOD/src/Editor/EventManager.cs:33)
FMODUnity.EventManager:Startup () (at Assets/Plugins/FMOD/src/Editor/EventManager.cs:590)
FMODUnity.EditorUtils:CallStartupMethodsWhenReady () (at Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:504)
UnityEditor.EditorApplication:Internal_CallUpdateFunctions () (at /home/bokken/build/output/unity/unity/Editor/Mono/EditorApplication.cs:381)

FMOD Studio: Encountered Error: ERR_INVALID_PARAM An invalid parameter was passed to this function.
UnityEngine.Debug:LogError (object)
FMODUnity.RuntimeUtils:DebugLogError (string) (at Assets/Plugins/FMOD/src/RuntimeUtils.cs:585)
FMODUnity.EditorUtils:CheckResult (FMOD.RESULT) (at Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:44)
FMODUnity.EditorUtils:CreateSystem () (at Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:558)
FMODUnity.EditorUtils:get_System () (at Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:616)
FMODUnity.EventManager:UpdateCache () (at Assets/Plugins/FMOD/src/Editor/EventManager.cs:179)
FMODUnity.EventManager:RefreshBanks () (at Assets/Plugins/FMOD/src/Editor/EventManager.cs:33)
FMODUnity.EventManager:Startup () (at Assets/Plugins/FMOD/src/Editor/EventManager.cs:590)
FMODUnity.EditorUtils:CallStartupMethodsWhenReady () (at Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:504)
UnityEditor.EditorApplication:Internal_CallUpdateFunctions () (at /home/bokken/build/output/unity/unity/Editor/Mono/EditorApplication.cs:381)

FMOD Studio: Encountered Error: ERR_INVALID_HANDLE An invalid object handle was used.
UnityEngine.Debug:LogError (object)
FMODUnity.RuntimeUtils:DebugLogError (string) (at Assets/Plugins/FMOD/src/RuntimeUtils.cs:585)
FMODUnity.EditorUtils:CheckResult (FMOD.RESULT) (at Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:44)
FMODUnity.EventManager:UpdateCache () (at Assets/Plugins/FMOD/src/Editor/EventManager.cs:179)
FMODUnity.EventManager:RefreshBanks () (at Assets/Plugins/FMOD/src/Editor/EventManager.cs:33)
FMODUnity.EventManager:Startup () (at Assets/Plugins/FMOD/src/Editor/EventManager.cs:590)
FMODUnity.EditorUtils:CallStartupMethodsWhenReady () (at Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:504)
UnityEditor.EditorApplication:Internal_CallUpdateFunctions () (at /home/bokken/build/output/unity/unity/Editor/Mono/EditorApplication.cs:381)

FMOD: Bank refresh failed: Assets/Content/Fmod/FmodSpaceship/Build/Desktop/Master.strings.bank is not a valid bank.
UnityEngine.Debug:LogErrorFormat (string,object)
FMODUnity.RuntimeUtils:DebugLogErrorFormat (string,object) (at Assets/Plugins/FMOD/src/RuntimeUtils.cs:593)
FMODUnity.BankRefreshWindow:HandleBankRefresh (string) (at Assets/Plugins/FMOD/src/Editor/BankRefreshWindow.cs:81)
FMODUnity.BankRefresher:HandleBankRefresh (string) (at Assets/Plugins/FMOD/src/Editor/BankRefresher.cs:129)
FMODUnity.EventManager:RefreshBanks () (at Assets/Plugins/FMOD/src/Editor/EventManager.cs:44)
FMODUnity.EventManager:Startup () (at Assets/Plugins/FMOD/src/Editor/EventManager.cs:590)
FMODUnity.EditorUtils:CallStartupMethodsWhenReady () (at Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:504)
UnityEditor.EditorApplication:Internal_CallUpdateFunctions () (at /home/bokken/build/output/unity/unity/Editor/Mono/EditorApplication.cs:381)

And here is what gives trying to play:

[FMOD] PulseAudio_Init : pa_stream_new returned NULL, errno 3 = Invalid argument.

UnityEngine.Debug:LogError (object)
FMODUnity.RuntimeUtils:DebugLogError (string) (at Assets/Plugins/FMOD/src/RuntimeUtils.cs:585)
FMODUnity.RuntimeManager:DEBUG_CALLBACK (FMOD.DEBUG_FLAGS,intptr,int,intptr,intptr) (at Assets/Plugins/FMOD/src/RuntimeManager.cs:77)
FMOD.Studio.System:initialize (int,FMOD.Studio.INITFLAGS,FMOD.INITFLAGS,intptr) (at Assets/Plugins/FMOD/src/fmod_studio.cs:419)
FMODUnity.RuntimeManager:Initialize () (at Assets/Plugins/FMOD/src/RuntimeManager.cs:347)
FMODUnity.RuntimeManager:get_Instance () (at Assets/Plugins/FMOD/src/RuntimeManager.cs:173)
FMODUnity.RuntimeManager:get_StudioSystem () (at Assets/Plugins/FMOD/src/RuntimeManager.cs:196)
FMODUnity.StudioListener:AddListener (FMODUnity.StudioListener) (at Assets/Plugins/FMOD/src/StudioListener.cs:72)
FMODUnity.StudioListener:OnEnable () (at Assets/Plugins/FMOD/src/StudioListener.cs:90)

[FMOD] Studio::System::initialize returned ERR_OUTPUT_INIT, defaulting to no-sound mode.
UnityEngine.Debug:LogErrorFormat (string,object)
FMODUnity.RuntimeUtils:DebugLogErrorFormat (string,object) (at Assets/Plugins/FMOD/src/RuntimeUtils.cs:593)
FMODUnity.RuntimeManager:Initialize () (at Assets/Plugins/FMOD/src/RuntimeManager.cs:352)
FMODUnity.RuntimeManager:get_Instance () (at Assets/Plugins/FMOD/src/RuntimeManager.cs:173)
FMODUnity.RuntimeManager:get_StudioSystem () (at Assets/Plugins/FMOD/src/RuntimeManager.cs:196)
FMODUnity.StudioListener:AddListener (FMODUnity.StudioListener) (at Assets/Plugins/FMOD/src/StudioListener.cs:72)
FMODUnity.StudioListener:OnEnable () (at Assets/Plugins/FMOD/src/StudioListener.cs:90)

SystemNotInitializedException: [FMOD] Initialization failed : Output forced to NO SOUND mode : ERR_OUTPUT_INIT : Error initializing output device.
FMODUnity.RuntimeManager.get_Instance () (at Assets/Plugins/FMOD/src/RuntimeManager.cs:190)
FMODUnity.RuntimeManager.get_StudioSystem () (at Assets/Plugins/FMOD/src/RuntimeManager.cs:196)
FMODUnity.StudioListener.AddListener (FMODUnity.StudioListener listener) (at Assets/Plugins/FMOD/src/StudioListener.cs:72)
FMODUnity.StudioListener.OnEnable () (at Assets/Plugins/FMOD/src/StudioListener.cs:90)

Maybe this will help. The fmod_editor.log contains the following:

[LOG] System::create : Header version = 2.02.15. Current version = 2.02.15.
[LOG] Manager::init : maxchannels = 256 studioflags = 00000006 flags 00000000 extradriverdata (nil).
[LOG] SystemI::init : Initialize version=20215 (134211), maxchannels=256, flags=0x00020000
[LOG] SystemI::setOutputInternal : Setting output to ‘FMOD PulseAudio Output’
[LOG] OutputPulseAudio::registerLib : Loaded PulseAudio version 16.1.0.
[LOG] PulseAudio_EnumOutputCallback : Found output device NAME:alsa_output.pci-0000_07_00.6.analog-stereo DESC:Family 17h/19h HD Audio Controller Analog Stereo CHANNELS:2 RATE:48000.
[LOG] PulseAudio_EnumInputCallback : Found input device NAME:alsa_output.pci-0000_07_00.6.analog-stereo.monitor DESC:Monitor of Family 17h/19h HD Audio Controller Analog Stereo CHANNELS:2 RATE:48000.
[LOG] PulseAudio_EnumInputCallback : Found input device NAME:alsa_input.pci-0000_07_00.6.analog-stereo DESC:Family 17h/19h HD Audio Controller Analog Stereo CHANNELS:2 RATE:48000.
[ERR] PulseAudio_Init : pa_stream_new returned NULL, errno 3 = Invalid argument.
[LOG] SystemI::close : Closed.
[LOG] LiveUpdate::release :
[LOG] LiveUpdate::reset : Reset connection (reason Disconnected)

It looks like something wrong wen when it tried to init pulseaudio. And the ALSA seems to be fine…

I finally managed to make it work. For some reason it failed to initialize audio and banks ON LINUX without Windows Build Support (Mono) module installed. As soon as I installed it and I refreshed banks - it worked.

I’m glad to hear you were able to find a solution to your issue. Thanks for posting so much information from the logs; we’ll look into the cause of the issue here.