blamairia/howdy-patcher
π‘οΈ Fix Howdy v2.6.1 for modern Linux (Debian 13, Ubuntu 24.04+)
π‘οΈ Howdy Patcher
Windows Helloβ’ Style Face Unlock for Debian 13, Ubuntu 24.04+ & Modern Linux
TL;DR: Howdy face recognition broken on modern Linux? Run this script to fix it instantly.
β‘ One-Line Fix
curl -fsSL https://raw.githubusercontent.com/blamairia/howdy-patcher/main/howdy-patcher.sh -o howdy-patcher.sh && chmod +x howdy-patcher.sh && sudo ./howdy-patcher.shπ₯ Are You Getting These Errors?
β ModuleNotFoundError: No module named 'ConfigParser'
Traceback (most recent call last):
File "/lib/security/howdy/pam.py", line 10, in <module>
import ConfigParser
ModuleNotFoundError: No module named 'ConfigParser'
β externally-managed-environment during installation
error: externally-managed-environment
Γ This environment is externally managed
β GStreamer camera errors
[ WARN:0@2.941] global cap_gstreamer.cpp:2839 handleMessage OpenCV | GStreamer warning: Embedded video playback halted
[ WARN:0@2.941] global cap_gstreamer.cpp:1698 open OpenCV | GStreamer warning: unable to start pipeline
β Sudo works without password after installing Howdy
Your PAM is failing silently and falling back to permit-all!
β Face recognition not working on Debian 13 / Ubuntu 24.04
The old Howdy package is incompatible with Python 3.10+
π If you're experiencing ANY of these β this patcher fixes them all!
π€ What is Howdy?
Howdy provides Windows Helloβ’ style facial authentication for Linux. It uses your IR camera to recognize your face and log you in β no password needed!
The Problem: The packaged version (v2.6.1) doesn't work on modern systems like Debian 13 "Trixie" or Ubuntu 24.04+ because:
- It uses Python 2 syntax (
ConfigParser) but modern systems only have Python 3 (configparser) - The PAM module crashes silently, making
sudowork without ANY authentication - OpenCV defaults to GStreamer which doesn't work with many IR cameras
The Solution: This patcher automatically fixes all these issues in seconds.
π§ What Gets Fixed
| Issue | Before | After |
|---|---|---|
| Python Module | import ConfigParser (Python 2) |
import configparser (Python 3) |
| Camera Backend | GStreamer (broken) | V4L2 (works) |
| dlib Dependency | Blocked by PEP 668 | Installed with workaround |
π Installation
Quick Install
curl -fsSL https://raw.githubusercontent.com/blamairia/howdy-patcher/main/howdy-patcher.sh -o howdy-patcher.sh
chmod +x howdy-patcher.sh
sudo ./howdy-patcher.shFrom Source
git clone https://github.com/blamairia/howdy-patcher.git
cd howdy-patcher
sudo ./howdy-patcher.shπ Requirements
- β
Howdy v2.6.1 installed (from
.debpackage, PPA, or gdebi) - β Linux with Python 3.10+ (Debian 13, Ubuntu 24.04, Fedora 39+, etc.)
- β Root/sudo access
- β
IR Camera (usually
/dev/video2)
π» Supported Distributions
| Distribution | Version | Status |
|---|---|---|
| Debian | 13 "Trixie" | β Tested |
| Ubuntu | 24.04 LTS | β Supported |
| Ubuntu | 24.10+ | β Supported |
| Linux Mint | 22+ | β Supported |
| Fedora | 39+ | β Supported |
| Arch Linux | Rolling |
π After Patching
-
Find your IR camera:
v4l2-ctl --list-devices
Look for "IR" in the name (usually
/dev/video2) -
Configure Howdy:
sudo howdy config
Set
device_path = /dev/video2(your IR camera path) -
Add your face:
sudo howdy add
-
Test it:
sudo howdy test # Visual test with camera feed sudo -i # Real authentication test
π Rollback
The patcher creates a timestamped backup. To restore:
# Find your backup
ls /lib/security/howdy-backup-*
# Restore it
sudo ./restore-howdy.sh /lib/security/howdy-backup-YYYYMMDD-HHMMSSπ Manual Fixes
If you prefer to apply fixes manually:
Fix 1: Python 3 Compatibility (pam.py)
sudo sed -i 's/^import ConfigParser$/import configparser as ConfigParser/' /lib/security/howdy/pam.pyFix 2: V4L2 Camera Backend (video_capture.py)
Edit /lib/security/howdy/recorders/video_capture.py:
# Change this:
self.internal = cv2.VideoCapture(
self.config.get("video", "device_path")
)
# To this:
self.internal = cv2.VideoCapture(
self.config.get("video", "device_path"), cv2.CAP_V4L2
)Fix 3: Install dlib (PEP 668 bypass)
sudo pip3 install dlib --break-system-packagesπ Related Howdy Issues
This patcher was created to solve these open issues:
- #912 - Howdy can't import module ConfigParser
- #954 - externally-managed-environment error
- #1027 - Python 2 commands in pam script
- #935 - Ubuntu 24.04 LTS issues
- #890 - Ubuntu 24.04 LTS
- #1046 - Howdy PAM module fails on Ubuntu 25.04
π€ Contributing
Contributions welcome! Please open an issue or PR.
Found this helpful? β Star the repo!
π License
MIT License - see LICENSE file.
π Credits
- Howdy by boltgolt β The amazing Windows Helloβ’ style facial authentication for Linux
- This patcher was created after encountering these issues on Debian 13 "Trixie"
π SEO Keywords
howdy not working debian 13 Β· howdy ubuntu 24.04 fix Β· ModuleNotFoundError ConfigParser howdy Β· howdy pam.py error Β· howdy externally-managed-environment Β· howdy GStreamer error Β· howdy facial recognition linux fix Β· windows hello linux debian Β· face unlock ubuntu Β· howdy v4l2 Β· howdy python 3 Β· sudo no password howdy Β· howdy IR camera not working
Note: The dev branch of Howdy has been completely rewritten and includes these fixes natively. This patcher is specifically for users stuck on the packaged v2.6.1 version.