> ## Documentation Index
> Fetch the complete documentation index at: https://eurusys-6c0957fa.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Desktop services

> On desktop, smart card reading and fingerprint capture run through small background services you install once per machine. This is what they are and which to install.

On desktop platforms (Windows, Linux, macOS), the SDK doesn't drive USB hardware directly. Card reading and fingerprint capture run through small **background services** you install once per machine; the SDK discovers and talks to them locally. You install only the services for the hardware you use.

<Info>
  This applies to **desktop** apps (the C, C#, Swift, and Kotlin/Java desktop SDKs) and to the **web** SDK (which also needs the browser native host). On **Android**, hardware support ships as app/service packages instead — see the [Android guide](/sdks/android).
</Info>

<Warning>
  **These services are a prerequisite for hardware.** A card reader or fingerprint sensor will **not** be discovered until the matching service is installed and running — `listSmartcardReaders()` / `listFingerprintReaders()` simply return empty. Manual-entry verification needs no services.
</Warning>

## Available services

| Package                       | Hardware it serves                                | Platforms                           |
| ----------------------------- | ------------------------------------------------- | ----------------------------------- |
| `mbkyc-pcsc-service`          | Any PC/SC smart card reader                       | Windows · Linux · macOS             |
| `mbkyc-ccid-service`          | CCID-over-USB readers (Linux fallback, see below) | Linux                               |
| `mbkyc-morpho-service`        | IDEMIA (Morpho) MSO 1350 fingerprint              | Windows · Linux · macOS             |
| `mbkyc-suprema-service`       | Suprema BioMini fingerprint                       | Linux · macOS (Windows: driver gap) |
| `mbkyc-zhiang-service`        | NEXUS / Zhiang fingerprint                        | Linux (Windows: driver gap)         |
| `mbkyc-web-host`              | Browser extension native host (web SDK)           | Windows · Linux · macOS             |
| `mbkyc-capi` / `libmbkyc-dev` | C API library + headers (for C/C++ integrators)   | Windows · Linux                     |

<Info>
  **Linux CCID fallback.** macOS and Windows ship class-compliant CCID drivers that handle any CCID-conformant reader automatically. On Linux, `pcscd`/`libccid` only bind readers on their whitelist — install `mbkyc-ccid-service` alongside `mbkyc-pcsc-service` to cover the rest. The two coexist; each claims only readers it can, so a device never appears twice.
</Info>

<Warning>
  **Windows driver gap — Zhiang & Suprema.** The Zhiang ZA-K-240715 and Suprema BMS-2 (V408) fingerprint readers need a WinUSB driver that is not yet bundled in the MSI/Chocolatey packages. On a stock Windows machine these devices show `Status=Error` until the driver is installed manually. The PC/SC and Morpho services install cleanly with no custom driver. See [Supported devices](/distribution/supported-devices).
</Warning>

## Which services do I install?

| You need…                           | Install                                                                            |
| ----------------------------------- | ---------------------------------------------------------------------------------- |
| Read Emirates ID from a card reader | `mbkyc-pcsc-service` (+ `mbkyc-ccid-service` on Linux for non-whitelisted readers) |
| Fingerprint with IDEMIA MSO 1350    | `mbkyc-morpho-service`                                                             |
| Fingerprint with Suprema BioMini    | `mbkyc-suprema-service`                                                            |
| Fingerprint with NEXUS / Zhiang     | `mbkyc-zhiang-service`                                                             |
| Browser (web SDK)                   | `mbkyc-web-host` (+ the card/fingerprint services above)                           |

## Install by platform

<CardGroup cols={3}>
  <Card title="macOS (.pkg)" icon="apple" href="/distribution/services-macos">
    Signed `.pkg` installers, plus `launchctl` service management.
  </Card>

  <Card title="Linux (apt / yum)" icon="linux" href="/distribution/services-linux">
    Debian/Ubuntu via apt, RHEL/Fedora via dnf, plus service management.
  </Card>

  <Card title="Windows (Chocolatey / MSI)" icon="windows" href="/distribution/services-windows">
    Chocolatey, the MSI installer, and Windows service management.
  </Card>
</CardGroup>
