Description
Unofficial builds of Howdy
Installation Instructions
Enable repository
dnf copr enable principis/howdy
Install howdy
dnf --refresh install howdy
Configure your camera
Find all video devices:
$ ls /dev/video*
Configure howdy:
sudo howdy config
# or use your favorite text editor
sudo vim /lib64/security/howdy/config.ini
Change device_path
to your camera.
device_path = /dev/video2
You can test if you've chosen the correct camera by running howdy test
and see if the IR emitters turn on.
Configure PAM
Configure howdy for sudo
Add the following line to the top of /etc/pam.d/sudo
auth sufficient pam_python.so /lib64/security/howdy/pam.py
Configure howdy for kde lockscreen
Modify /etc/pam.d/kde
so it looks like this:
$ cat /etc/pam.d/kde
auth [success=done ignore=ignore default=bad] pam_selinux_permit.so
auth sufficient pam_python.so /lib64/security/howdy/pam.py
auth substack password-auth
...
Your lockscreen might not be running Howdy as root, which prevents Howdy from running. Setting the execution bit so every user can run Howdy might be the solution
chmod o+x /lib64/security/howdy/dlib-data
Configure howdy for login (sddm)
Modify /etc/pam.d/sddm
so it looks like this:
$ cat sddm
auth [success=done ignore=ignore default=bad] pam_selinux_permit.so
auth sufficient pam_python.so /lib64/security/howdy/pam.py
auth substack password-auth
...
See below to apply SELinux and permission fixes.
Configure howdy for login (gdm)
Modify /etc/pam.d/gdm-password
so it looks like this:
$ cat gdm-password
auth [success=done ignore=ignore default=bad] pam_selinux_permit.so
auth sufficient pam_python.so /lib64/security/howdy/pam.py
auth substack password-auth
See below to apply SELinux and permission fixes.
Permission issues
Your lockscreen might not be running Howdy as root, which prevents Howdy from running. Setting the execution bit so every user can run access dlib-data should solve this:
chmod o+x /lib64/security/howdy/dlib-data
SELinux issues
If login gets stuck and selinux is in enforcing mode, you probably need to allow python3 to access /dev/video*
Create a file howdy.te
for the policy module:
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;
Then you can compile and insert it
checkmodule -M -m -o howdy.mod howdy.te
semodule_package -o howdy.pp -m howdy.mod
semodule -i howdy.pp
Annoying messages
If you see messages like these when using howdy:
libva info: VA-API version 1.13.0
libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_13
libva info: va_openDriver() returns 0
You can disable them by editing the /etc/profile.d/howdy.sh
and /etc/profile.d/howdy.csh
files and uncommenting the lines containing OPENCV_VIDEOIO_PRIORITY_INTEL_MFX
.
Active Releases
The following unofficial repositories are provided as-is by owner of this project. Contact the owner directly for bugs or issues (IE: not bugzilla).
Release | Architectures | Repo Download |
---|---|---|
Fedora 39 | x86_64 (6)* | Fedora 39 (0 downloads) |
Fedora 40 | x86_64 (0)* | Fedora 40 (12 downloads) |
Fedora 41 | x86_64 (0)* | Fedora 41 (4 downloads) |
Fedora rawhide | x86_64 (5)* | Fedora rawhide (15 downloads) |
* Total number of downloaded packages.