principis/howdy

Project ID: 31698

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 38 x86_64 (6884)* Fedora 38 (2120 downloads)
Fedora 39 x86_64 (7203)* Fedora 39 (2726 downloads)
Fedora 40 x86_64 (355)* Fedora 40 (129 downloads)
Fedora rawhide x86_64 (236)* Fedora rawhide (174 downloads)

* Total number of downloaded packages.