FMOD errors during startup using Epic's Docker container image

Hi, I was hoping someone was able to help me get FMOD running inside Epic’s docker container image. The docker image does not have an audio system service running which seems to be a problem.

Here’s the errors we’re having on startup:

  1. I got a COM error which I fixed by applying this PR, please consider accepting it!
  2. I have an error I don’t know how to fix, it’s the same as is described here
LogInit: Display: LogFMOD: Error: c:\jk\workspace\Build__2.2__Unreal_Win\core_api\platforms\win\src\fmod_os_misc.cpp(100) - IMMDeviceEnumerator::RegisterEndpointNotificationCallback returned 0x80070424.
LogInit: Display: LogFMOD: Error: 'FMOD::Studio::System::create(&StudioSystem)' returned 'Error initializing output device.'
LogInit: Display: LogFMOD: Error: 'StudioSystem->getCoreSystem(&lowLevelSystem)' returned 'An invalid object handle was used.'
LogInit: Display: LogFMOD: Error: 'lowLevelSystem->setOutput(FMOD_OUTPUTTYPE_NOSOUND_NRT)' returned 'An invalid object handle was used.'
LogInit: Display: LogFMOD: Error: 'StudioSystem->initialize(1, FMOD_STUDIO_INIT_ALLOW_MISSING_PLUGINS | FMOD_STUDIO_INIT_SYNCHRONOUS_UPDATE, FMOD_INIT_MIX_FROM_UPDATE, nullptr)' returned 'An invalid object handle was used.'
LogInit: Display: Failure - 5 error(s), 0 warning(s)

Any thoughts on how I can fix this would be appreciated!

A couple of things I’ve tried:

  1. Inside the container: net start audiosrv → “The service name is invalid.”
  2. Inside the container: net start "Windows Audio" → The service name is invalid.
  3. Return early from FFMODStudioModule::LoadLibraries() → Crashes later in the startup when trying to load banks?
  4. The build system already passes -nosound, -buildmachine etc. to UE5 on startup.

According to this website UE5’s audio system does not have this issue because it uses an XAudio2 null audio device, perhaps FMOD could do the same?

The container is based on Epic’s ghcr.io/epicgames/unreal-engine:runtime-windows-ltsc2022 which is Windows Server 2022 (21H2) [10.0.22621.825].

systeminfo output:

OS Name:                   Microsoft Windows Server 2022 Datacenter
OS Version:                10.0.22621 N/A Build 22621
OS Manufacturer:           Microsoft Corporation
OS Configuration:          Standalone Server

I fixed this by building my own image based on server rather than relying on Epic’s image (that uses servercore). Not ideal because of the additional maintenance burden, and having to use a more bloated image, but it fixes the issue.

2 Likes