Emby Emby Emby Learn
  • Emby Home
  • Video
  • Audio
  • Media Files
    • Subtitles and captions
    • Photos and images
    • Metadata and discovery
    • Libraries and media collections
    • Playback and streaming
    • Media hardware acceleration
    • Displays and AV connections
    • Live TV and recording
  1. Emby Learn
  2. Storage and server platforms
  3. Server execution environments
  4. Native libraries and runtime dependencies
Search Results for

    Show / Hide Table of Contents

    Native libraries and runtime dependencies

    Native dependencies must match the process's architecture, operating-system ABI and runtime requirements, and some are loaded only when a feature is used.

    A server can combine managed application code with native executables or libraries. Media processing, database access and hardware interfaces can use native components.

    The native component has to fit the process and platform that load it. A file being present in a directory is not enough.

    A feature can exercise a later loading path

    Imagine a server that starts successfully and displays its library. A playback request then invokes a native media component whose architecture does not match the running process.

    Startup success is consistent with that later failure if startup did not load or execute the component. The same pattern can occur when only a particular codec or hardware interface needs an additional dependency.

    Requirement Example mismatch
    Instruction-set architecture ARM64 process and x86-64 library
    Process binary environment 32-bit component and 64-bit process without a supported bridge
    Operating-system ABI Linux binary used as a Windows native library
    Runtime/library environment Required native symbol or version unavailable
    Device interface User-space library exists but its driver/device path is unavailable

    A managed assembly and a native library therefore need different compatibility evidence. The server's language does not remove the native component's platform contract.

    The loader searches and resolves symbols

    The operating system and runtime apply loading rules: finding the component, opening its dependencies and resolving the expected functions. A “not found” error can refer to a dependency of the named file, rather than that named file itself.

    A symbol error can mean that a file was found but does not provide the expected API or ABI. A device-access error can occur later still, after the library loaded successfully.

    For .NET packages, runtime identifiers such as linux-x64 and linux-arm64 help select platform-specific assets. They do not promise that every native prerequisite or driver is bundled.

    Preserve the intended software combination

    Use the supported server package and documented dependency arrangement for the platform. Replacing a library with a similarly named file can change the ABI or supported behavior without satisfying the missing requirement.

    For Emby diagnostics, retain the server version, architecture, invoked feature and exact loading or device error. Those facts identify which compatibility layer failed more precisely than a general statement that “the server works except for transcoding.”

    See Also

    • x86-64 architecture and compatible server software
    • ARM64 architecture and native software compatibility
    • Docker images, running containers and writable layers

    References

    • Microsoft .NET runtime identifiers
    • Microsoft .NET native library loading
    On this Page
    2026 © EMBY LLC. Please see our terms of use and privacy policy.
    Back to Top