howdy facial recognition with fedora workstation 42
I had a bunch of issues setting it up to work on my laptop, but now that I have I would like to compile all the bits and stuff together into one guide!
source: copr.fedorainfracloud.org/copr… and github.com/boltgolt/howdy/issu…
- install dependencies
downloading:
SEE GITHUB ISSUE SECTION “DOWNLOAD DEPENDENCIES”
(I can’t post the links!)
installing:
cd ~/Downloads
sudo dnf install \
python3-elevate-0.1.3-3.20240124git78e82a8.fc41.noarch.rpm \
python3-keyboard-0.13.5-3.fc41.noarch.rpm \
python3-pyv4l2-1.0.2-3.20240124gitf12f0b3.fc41.x86_64.rpm
installing opencv (note that I had to use pip install for opencv-python, so try that as well!)
sudo dnf install -y opencv opencv-devel opencv-python
sudo dnf install -y v4l-utils
When I tried to install howdy from “howdy-beta, an error pops up with “nothing provides python3dist(ffmpeg-python)...”
BettridgeCameron on GitHub is the holy saviour with this fix:
dnf install https://kojipkgs.fedoraproject.org/packages/python-ffmpeg-python/0.2.0/8.fc41/noarch/python3-ffmpeg-python-0.2.0-8.fc41.noarch.rpm
- installing howdy
remove non-beta howdy (it doesn’t seem to work for Fedora 41+)
sudo dnf remove howdy
sudo dnf copr remove principis/howdy
install beta howdy
sudo dnf copr enable principis/howdy-beta
sudo dnf —refresh install howdy
- use sudo howdy config
device-path: use ls /dev/video*
or v4l2-ctl —list-devices
to see all device paths and test each of them using sudo howdy test
(for me it was /dev/video2
)
settings to change “freedy237” recommends:
(note that howdy-beta uses different words e.g. “abort if” rather than “ignore”, make sure you have howdy-beta! This stumped me for a while)
detection_notice = true
timeout_notice = true
no_confirmation = false
suppress_unknown = false
abort_if_ssh = true
abort_if_lid_closed = true
disabled = false
use_cnn = false
workaround = input
certainty = 4.0
timeout = 10
device_path = /dev/video0 # Replace with your detected device
warn_no_device = true
max_height = 480
frame_width = 640
frame_height = 480
dark_threshold = 80
recording_plugin = opencv
device_format = v4l2
force_mjpeg = true
exposure = -1
device_fps = 15
rotate = 1
- use
sudo howdy add
to add a face.
Name it anything you want, I go with names like “glasses” and “no-glasses” since…I wear glasses. Some random person on GitHub with a multi-monitor setup has it set to looking at different monitors. Whatever you want, doesn’t really matter.
You can use sudo howdy test
to check if it works. A red outline means it’s an unrecognised face, a green outline with the name means it is a recognises face. no outline means not a face. Also check that whether it is a “dark frame” or not vs a “scan frame”. You might need to set the dark threshold higher using config. (this was an issue I faced as well, for me 80 works)
- howdy on login
sudo nano /etc/pam.d/gdm-password
add: auth sufficient pam_howdy.so
a similar thing can be done for gnome’s password pop ups (e.g. when installing an app) by going to “polkit-1”
- howdy on sudo (you might not want this!)
sudo nano /etc/pam.d/sudo
add: auth sufficient pam_howdy.so no_confirmation
- permissions
sudo chmod o+rw /dev/video*
sudo chmod -R o+rx /usr/share/howdy/dlib-data
sudo chmod +x /usr/bin/howdy
sudo usermod -aG video gdm
sudo chmod 666 /dev/video*
sudo chmod 755 /usr/lib64/security/pam_howdy.so
- fix SELinux perms for login screen
create “howdy.te”sudo nano howdy.te
add: (as seen on fedora copr repo)
module howdy 1.0;
require {
type lib_t;
type xdm_t;
type v4l_device_t;
type sysctl_vm_t;
class chr_file map;
class file { create getattr open read write };
class dir add_name;
}
\#============= xdm_t ==============
allow xdm_t lib_t:dir add_name;
allow xdm_t lib_t:file { create write };
allow xdm_t sysctl_vm_t:file { getattr open read };
allow xdm_t v4l_device_t:chr_file map;
compile and insert it
checkmodule -M -m -o howdy.mod howdy.te
semodule_package -o howdy.pp -m howdy.mod
semodule -i howdy.pp
Installed howdy can't upgrade Fedora 42 · Issue #1004 · boltgolt/howdy
Hey! I was installed howdy(3.0 beta) on my Fedora 41,but I trying upgrading Fedora 42.howdy requires the python3dist(dlib).As a result,I can't update Fedora 42.Howdy and Fedora 42 incompatible?GitHub
MonkderVierte
in reply to Leaflet • • •zygo_histo_morpheus
in reply to MonkderVierte • • •They are open to drop some features apparently, but maybe not "90%"
kixik
in reply to Leaflet • • •A way smaller alternative therefore less prompt to vulnerabilities is OpenDoas found on Arch/Artix/... and other distros. From the GH project:
GitHub - Duncaen/OpenDoas: A portable fork of the OpenBSD `doas` command
GitHubNanook
in reply to Leaflet • •FooBarrington
in reply to Nanook • • •sudo-rs doesn't have anything to do with run0. Please take your pills grandpa, we're worried about you.
Edit: in case you're actually an older person, the latter part wasn't meant as a swipe (just saw your pfp). In that case, sorry!
Nanook
in reply to FooBarrington • •FauxLiving
in reply to Nanook • • •Don't install Ubuntu 25.10 if this isn't what you want. Using Ubuntu means accepting that they're going to make a lot of decisions about your system. The whole point of these large pre-configured Linux distros is that they make all of the decisions for you.
If you want more control than that try installing one of the other distros that allow you to choose the software you want.
Installation guide - ArchWiki
wiki.archlinux.orgNanook
in reply to FauxLiving • •FooBarrington
in reply to Nanook • • •Nanook
in reply to FooBarrington • •Matt
in reply to Nanook • • •Nanook
in reply to Matt • •beleza pura
in reply to Nanook • • •Mactan
in reply to Leaflet • • •Ephera
in reply to Mactan • • •☂️-
in reply to Ephera • • •