Blog - SilverDiamond's site
Libfprint on an ROG Ally
Most of the Ally's hardware has been fully supported on linux for at least a year now, except for the fingerprint reader on the power button.
Depending on the batch an Ally can have a LighTuning Technology Inc. ETU905A86-E (1c7a:0588) (mine has this one) or a
FocalTech Systems Focaltech FT9769 ESS (2808:a753).
You can check yours by running lsusb.
I am not sure what the spread is but https://linux-hardware.org/?id=usb:1c7a-0588 has more devices than https://linux-hardware.org/?id=usb:2808-a753.
LighTuning
Getting the LighTuning sensor working is as easy as
---
libfprint/drivers/egismoc/egismoc.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/libfprint/drivers/egismoc/egismoc.c b/libfprint/drivers/egismoc/egismoc.c
index 8f35a67..f68398e 100644
--- a/libfprint/drivers/egismoc/egismoc.c
+++ b/libfprint/drivers/egismoc/egismoc.c
@@ -54,6 +54,7 @@ static const FpIdEntry egismoc_id_table[] = {
{ .vid = 0x1c7a, .pid = 0x0583, .driver_data = EGISMOC_DRIVER_CHECK_PREFIX_TYPE1 },
{ .vid = 0x1c7a, .pid = 0x0586, .driver_data = EGISMOC_DRIVER_CHECK_PREFIX_TYPE1 | EGISMOC_DRIVER_MAX_ENROLL_STAGES_20 },
{ .vid = 0x1c7a, .pid = 0x0587, .driver_data = EGISMOC_DRIVER_CHECK_PREFIX_TYPE1 | EGISMOC_DRIVER_MAX_ENROLL_STAGES_20 },
+ { .vid = 0x1c7a, .pid = 0x0588, .driver_data = EGISMOC_DRIVER_CHECK_PREFIX_TYPE1 | EGISMOC_DRIVER_MAX_ENROLL_STAGES_20 },
{ .vid = 0x1c7a, .pid = 0x05a1, .driver_data = EGISMOC_DRIVER_CHECK_PREFIX_TYPE2 },
{ .vid = 0, .pid = 0, .driver_data = 0 }
};
And recompiling libfprint, changing the .so file in /lib (or /lib64)
Hopefully https://gitlab.freedesktop.org/libfprint/libfprint/-/issues/685 will be solved, and then you'll
just wait for your favourite linux distro to ship a new version of it instead of having to do this yourself.
Caveats
The fingerprint sensor is just as bad as it is on Microsoft Windows (at least the driver doesn't seem to randomly stop working)
You risk permanent damage (I think I am the only one to have tested this and its only been a day or two)
The power button doesn't react instantly (You have to hold it down a few seconds for sleep)
I don't know how it affects battery life (Or if it does at all)
Update 25.6.2025
The fingerprint stuff seems to freak out after resuming from sleep (i have no clue why) but after logging in with your password on klockscreen it starts working again.
Focaltech
The Focaltech seems more of a difficult case though.
There seem to exist proprietary blobs that claim to support a device with an id one lower than it (which you probably shouldn't use as their origin seems to be unknown)
Maybe https://gitlab.freedesktop.org/libfprint/libfprint/-/issues/672 will help