# libfprint Goodix SPI Driver: reconstructing GDIX51C0 support

> libfprint Goodix SPI Driver reconstructs support for the Goodix GDIX51C0 fingerprint sensor on Linux. It combines SPI transport, session and capture handling with a native ChicagoHS host-side biometric matcher, integrated through libfprint and fprintd patches. The source includes protocol research, algorithm comparison tools and deterministic tests.

- Type: Case study
- Targets: Binary · Protocol
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-08
- Added to the catalog: 2026-11-08
- Original resource: <https://github.com/berkekbgz/libfprint-goodix-spi>
- Primary source: <https://github.com/berkekbgz/libfprint-goodix-spi/blob/505dc7e4602cae828e5a1e80221f3fec8e15411e/README.md>
- Catalog page: <https://awesomerea.org/resources/libfprint-goodix-spi-case/>
- Record JSON: <https://awesomerea.org/resources/libfprint-goodix-spi-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/libfprint-goodix-spi-case/index.md)

## Requirements & limits

- **Prerequisites:** Requires a GDIX51C0 sensor exposed through Linux spidev; the documented defaults were hardware-tested on a Huawei MateBook 16s.
- **Prerequisites:** Integration targets libfprint v1.94.10 and fprintd v1.94.5, with the listed build dependencies.
- **Limits:** This is a pre-release; other laptops may need GPIO overrides.
- **License:** Original project source is LGPL-2.1-or-later; adapted files and patches retain their stated upstream licenses.

## Primary sources

1. <https://github.com/berkekbgz/libfprint-goodix-spi/blob/505dc7e4602cae828e5a1e80221f3fec8e15411e/README.md>
2. <https://github.com/berkekbgz/libfprint-goodix-spi/blob/505dc7e4602cae828e5a1e80221f3fec8e15411e/re/README.md>
3. <https://github.com/berkekbgz/libfprint-goodix-spi/blob/505dc7e4602cae828e5a1e80221f3fec8e15411e/docs/ARCHITECTURE.md>

## More in Protocols

- [Insta360 GO Ultra: reconstructing its Wi-Fi camera protocol](https://awesomerea.org/resources/insta360-go-ultra-sdk-case/index.md) · Case study
- [Chuwi CoreBook X: recovering the left-speaker audio path on Linux](https://awesomerea.org/resources/chuwi-corebook-x-left-speaker-case/index.md) · Case study
- [LIBREPODS-RS: rebuilding AirPods AAP control in Rust](https://awesomerea.org/resources/librepods-rs-case/index.md) · Case study
- [Blue Star AC → ESPHome: reconstructing the Wi-Fi port protocol](https://awesomerea.org/resources/blue-star-ac-esphome-case/index.md) · Case study
- [Intel NUC M15 Light Bar Control for Linux: reconstructing WMI lighting commands](https://awesomerea.org/resources/intel-nuc-m15-lightbar-linux-case/index.md) · Case study
- [libfprint-microarray: reconstructing the MAFP fingerprint reader USB protocol](https://awesomerea.org/resources/libfprint-microarray-mafp-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
