Installation and Configuration of Howdy 3.0.0-5 on Fedora 42
1. Download Dependencies
Before installing Howdy, you need to download the necessary packages:
wget https://download.copr.fedorainfracloud.org/results/principis/howdy-beta/fedora-42-x86_64/07780296-python-pyv4l2/python3-pyv4l2-1.0.2-3.20240124gitf12f0b3.fc41.x86_64.rpm
wget https://download.copr.fedorainfracloud.org/results/principis/howdy-beta/fedora-42-x86_64/07780294-python-keyboard/python3-keyboard-0.13.5-3.fc41.noarch.rpm
wget https://download.copr.fedorainfracloud.org/results/principis/howdy-beta/fedora-42-x86_64/07780296-python-pyv4l2/python3-pyv4l2-1.0.2-3.20240124gitf12f0b3.fc41.x86_64.rpm
2. Install dependencies
Make sure you are in the folder where the downloaded files are located. :
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
Next, install OpenCV and V4L2:
sudo dnf install -y opencv opencv-devel opencv-python
sudo dnf install -y v4l-utils
3. Download and Install Howdy
Download the Howdy installation files :
wget https://download.copr.fedorainfracloud.org/results/principis/howdy-beta/fedora-41-x86_64/08674716-howdy/howdy-data-3.0.0-5.20250220gitaef35b5.fc41.noarch.rpm
wget https://download.copr.fedorainfracloud.org/results/principis/howdy-beta/fedora-41-x86_64/08674716-howdy/howdy-3.0.0-5.20250220gitaef35b5.fc41.x86_64.rpm
wget https://download.copr.fedorainfracloud.org/results/principis/howdy-beta/fedora-41-x86_64/08674716-howdy/howdy-gtk-3.0.0-5.20250220gitaef35b5.fc41.noarch.rpm
Install the files:
sudo dnf install ~/Downloads/howdy-*.fc41.*.rpm --exclude=*debug*
4. Configure Howdy
Identify the video device
Use the following commands to identify your camera:
v4l2-ctl --list-devices
ls /dev/video*
If multiple devices are detected, test them:
ffplay /dev/video0
ffplay /dev/video1
Edit the Howdy configuration file
Open the configuration file:
sudo howdy config
Modify the following settings:
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
Save and exit.
5. Add a face template
Add a facial recognition template for your user:
sudo howdy add
Give the template a name when prompted.
6. Test facial recognition
Test if recognition works:
sudo howdy test
7. Configure authentication
Edit PAM files
Add Howdy to the PAM configuration for sudo:
sudo nano /etc/pam.d/sudo
Add this line to the beginning of the file:
auth sufficient pam_howdy.so no_confirmation
Do the same for GDM:
sudo nano /etc/pam.d/gdm-password
Add:
auth sufficient pam_howdy.so
8. Manage permissions
Give your camera the necessary 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
9. Create a custom SELinux module to enable Howdy
Create a SELinux policy file, for example, howdy.te:
sudo nano howdy.te
Add the following content to it:
module howdy 1.0;
require {
type unconfined_t;
type v4l_device_t;
class chr_file { open read write ioctl };
}
# Allow camera access for Howdy
allow unconfined_t v4l_device_t:chr_file { open read write ioctl };
Compile the module:
checkmodule -M -m -o howdy.mod howdy.te
semodule_package -o howdy.pp -m howdy.mod
Install the SELinux module:
sudo semodule -i howdy.pp
Conclusion
Your Fedora 42 system is now configured to use facial recognition with Howdy. 
If you have any problems, check permissions and logs with:
journalctl -xe | grep howdy
Have fun with facial recognition! 