Framework NixOS (Linux) users self-help (Firmware/Fingerprint discussion)

[I think I’m too new to this Discourse instance to edit my posts? That or I’m losing my mind. Either way, additional context follows]

Confirmed that this should NOT be set on AMD: [TRACKING] Cannot resume from suspend on AMD - #14

I had one instance of weird, flashy white boxes covering parts of the screen. Probably a couple days of uptime and lots of suspend/resume. Uncommented this, have not seen it since (4 days of uptime).

Should now be unnecessary/safe to comment out as 3.03 is no longer in beta: AMD Ryzen 7040 Series BIOS 3.03 and Driver Bundle Release - #214

2 Likes

First off, welcome to the community @milas! Fantastic contribution!

Second, really delighted to see how amazing this thread has become. Keep up the great work everyone! :slightly_smiling_face:

2 Likes

Hey everyone! Long time framework user and new NixOS convertee here! Still new and learning the ways of Nix :).

I’ve been following this thread to be on the lookout for anything that I might want to add that’s framework specific. I came across the nixos-hardware part with configurations for different devices and followed it using the nix-channel method, set the imports appropriately in my configuration.nix, and ran the rebuild command to reflect changes.

Everything works fine, however, when I reboot I can’t get past my login screen (KDE plasma). Meaning, I input my password, press enter, things gray out as if loading but goes no further (I can still move my cursor freely). Thankfully, rollbacks are easy and I don’t face this issue anymore when reverting to previous changes. Any ideas what this might be, and what to do?

relevant info: I have an 11th gen intel framework with a fresh NixOS install only having added packages I use and very minimal changes to the default otherwise.

Did you enroll your fingerprint? If so, try tapping the fingerprint reader. I think this is a weird thing with SDDM, at least in the default config, you don’t actually even need to enter a password (can hit enter at the blank prompt) but you MUST tap your finger. It’s…confusing and not apparent.

1 Like

I believe it’s something with pam, same behavior on swaylock/waylock/greetd whatsoever.

@milas I tried it out for a bit, was a bit finicky and couldn’t log in despite seeing a graphical response (text bar shaking). I left everything as is in the nixos-hardware settings and just forced my fingerprint reader off in my main config with:

services.fprintd.enable = lib.mkForce false;

Your guess was right, I can log back in no problems! I’d rather have it off for now and figure this thing with SDDM later.
Thank you for the assist :).

EDIT: I’ve found this issue SDDM doesn't work with fingerprint login (fprintd) · Issue #239770 · NixOS/nixpkgs · GitHub basically going through the same thing for anyone interested!

2 Likes

Good find on the issue! I am on unstable (23.11), so based on some of the comments in that thread, it explains why fingerprint-via-SSDM works for me (albeit unintuitively - “hit enter at the blank prompt and then scan your finger without any feedback”).

FWIW unstable will imminently be stable, release schedule @ NixOS 23.11 — Release Schedule · Issue #258640 · NixOS/nixpkgs · GitHub

Random find, looks promising as an option to clear ones fingerprint for Nix users. GitHub - nixvital/fprint-clear: Quick solution to clear your fprint storage - passing along here on the dedicated thread.

2 Likes

@kjhoerr , thanks so much for the work on nixos hardware! Installed nixos with the hardware config yesterday and it went really well! So glad to be out of a VM :smile:

I’m having a bit of issue with the fingerprint though.

  1. It shows up sporadically in Gnome’s User settings page. But I was able to enroll via fprintd-enroll in the command line.

  2. On login it declares a failure without doing anything, but if I scan my fingerprint it logs me in…

  3. Running sudo in the cli doesn’t prompt for a fingerprint scan. ***Update, this now shows when running sudo in the cli. (Maybe a rebuild/restart enabled this, I’m unsure.)

1 Like

Happy to contribute!

This is also the behavior I see. It also prevents you from logging in with a password until a hidden timeout passes. As far as I know this is the common behavior of GDM for all devices, unless the fingerprint reader stores the pass/fail ephemerally on boot, which apparently exists on some (non-Framework) devices.

1 Like

I applied the configuration here: Enabling `fprintd` prevents authentication with password in graphical applications · Issue #171136 · NixOS/nixpkgs · GitHub

It’s greatly improved the fingerprint login/unlock experience, GDM and the lock screen now present a password entry immediately, appended by “(or place finger on reader)”. No timeouts to wait for.

4 Likes

I’ve got it working nicely after updating the goodix fingeprint reader using windows in a VM (under virt-manager) and enabling passthrough.

1 Like

Just wondering if anyone has managed to get the fingerprint scanner working on nixos? (I have an AMD 13)

(Edit: I should have read the above first…)
(Second edit: after looking further above looks like my issue is still relevant, My scanner cant be found.)
I get this when I run fprintd-enroll,
“Impossible to enroll: GDBus.Error:net.reactivated.Fprint.Error.NoSuchDevice: No devices available”
But I got it to work using fedora previously, and have the goodix driver in my config.

Any ideas?

This fixed it for me as well.
Do you think this should be added to the nixos hardware git repo?

1 Like

If it’s not Framework-specific (and it doesn’t look like it is), it should probably go into mainline NixOS or even Nixpkgs.

1 Like

Agreed. There’s already a linked PR for nixpkgs.

This one seems a good candidate for inclusion in nixos-hardware. Could you propose it there?

@uwelaf I had to spin up a vm, install windows, run the official framework’s firmware update tool, stop it in the middle of execution and getting the extracted files from the temp dir.

The extracted files have the goodix update tool so then I mounted the fingerprint reader on the windows vm and updated it there.

Reboot and now linux sees the fingerprint reader.

1 Like

@vitorio_cilia that didnt fix the issue…



1 Like

Moving the firmware / patch discussion portion of Framework NixOS (Linux) users self-help to keep things easier to navigate.