howdy icon indicating copy to clipboard operation
howdy copied to clipboard

Installed howdy can't upgrade Fedora 42

Open EvernightFedora opened this issue 9 months ago • 12 comments

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?

EvernightFedora avatar Mar 15 '25 11:03 EvernightFedora

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/07780292-python-elevate/python3-elevate-0.1.3-3.20240124git78e82a8.fc41.noarch.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! 😊

freedy237 avatar Mar 29 '25 01:03 freedy237

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/07780292-python-elevate/python3-elevate-0.1.3-3.20240124git78e82a8.fc41.noarch.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! 😊

This should be added to the repo docs! Thank you @freedy237

0xfbravo avatar Apr 05 '25 19:04 0xfbravo

I tried the instructions above to upgrade from Fedora 41 to Fedora 42 but got these errors: Packages not found: opencv-python nothing provides python3dist(ffmpeg-python)

I also noticed the code above has references to the Fedora 41 version, so I tried changing those lines to the Fedora 42 version but received the exact same errors.

I previously used the principis copr to install on Fedora 41 and that worked well, however there currently isn't a Fedora 42 version available on copr.

notnotno avatar Apr 17 '25 15:04 notnotno

I followed https://copr.fedorainfracloud.org/coprs/principis/howdy/ on fedora 41 then did fedora 42 upgrade and it's still working !

emouty avatar Apr 18 '25 09:04 emouty

I also followed the instructions on copr for Fedora 41 and howdy installed fine. Now that Fedora 42 is out, attempting to upgrade still gives me this error: nothing provides python3dist(ffmpeg-python) needed by howdy-3.0.0-5.20250220gitaef35b5.fc42.x86_64 from copr:copr.fedorainfracloud.org:principis:howdy-beta

notnotno avatar Apr 18 '25 13:04 notnotno

to resolve the nothing provides python3dist(ffmpeg-python)... you can do:

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

BettridgeKameron avatar Apr 26 '25 22:04 BettridgeKameron

to resolve the nothing provides python3dist(ffmpeg-python)... you can do:

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

Thank you, that did the trick. I was able to install howdy-beta on Fedora 42 and following the official guide.

Tiger862000 avatar Apr 30 '25 17:04 Tiger862000

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 };

Writing this in my case worked only with my webcam, but not with my IR camera. Using the one written on the corp page as solved the issue (it's SELinux who block the access of the IR camera):

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;

Thanks to @freedy237, @BettridgeKameron and @PixelVengeur in #987 for the instructions.

Prog-up avatar May 07 '25 08:05 Prog-up

https://github.com/freedy237/howdy-fedora-install

freedy237 avatar May 19 '25 03:05 freedy237

I tried the instructions above to upgrade from Fedora 41 to Fedora 42, but got these errors: Packages not found: opencv-python nothing provides python3dist(ffmpeg-python)

I also noticed the code above has references to the Fedora 41 version, so I tried changing those lines to the Fedora 42 version but received the exact same errors.

I previously used the principis copr to install on Fedora 41 and that worked well, however there currently isn't a Fedora 42 version available on copr.

Hi, were you able to install Howdy? I’m in the same situation - I need to get Howdy working on Fedora 42 running GNOME 48.2.

I’ve tried several methods but haven’t had any luck so far. If you found a solution or have an alternative approach, please share! 🙏

Aryan-Techie avatar Jun 18 '25 08:06 Aryan-Techie

I tried the instructions above to upgrade from Fedora 41 to Fedora 42, but got these errors: Packages not found: opencv-python nothing provides python3dist(ffmpeg-python) I also noticed the code above has references to the Fedora 41 version, so I tried changing those lines to the Fedora 42 version but received the exact same errors. I previously used the principis copr to install on Fedora 41 and that worked well, however there currently isn't a Fedora 42 version available on copr.

Hi, were you able to install Howdy? I’m in the same situation - I need to get Howdy working on Fedora 42 running GNOME 48.2.

I’ve tried several methods but haven’t had any luck so far. If you found a solution or have an alternative approach, please share! 🙏

This worked for me: https://github.com/boltgolt/howdy/issues/1004#issuecomment-2832656920

notnotno avatar Jun 18 '25 13:06 notnotno

I tried the instructions above to upgrade from Fedora 41 to Fedora 42, but got these errors: Packages not found: opencv-python nothing provides python3dist(ffmpeg-python) I also noticed the code above has references to the Fedora 41 version, so I tried changing those lines to the Fedora 42 version but received the exact same errors. I previously used the principis copr to install on Fedora 41 and that worked well, however there currently isn't a Fedora 42 version available on copr.

Hi, were you able to install Howdy? I’m in the same situation - I need to get Howdy working on Fedora 42 running GNOME 48.2. I’ve tried several methods but haven’t had any luck so far. If you found a solution or have an alternative approach, please share! 🙏

This worked for me: #1004 (comment)

Yes, great, it worked. Actually, a few hours ago I found this guide github.com/freedy237/howdy-fedora and it helped me to make it work.

Now it works great in Terminal.

But still no luck at -

  1. Gnome Lockscreen

    • The issue is I added it to the PAM file, and showing on the lockscreen like it's trying to authenticate but is not able to access the webcam on the lockscreen, idk may be due to sandboxing of Wayland.
  2. After the system restart on the log-on screen

  • Same issue as lockscreen, not able to access the camera
  1. On Polkit authentication dialogs
  • There, it's not even showing like trying to auth, etc.

till now, it just works great in the terminal, Example - ❯ sudo dnf update Attempting facial authentication Exception ignored in: <_io.BufferedWriter name=4> BrokenPipeError: [Errno 32] Broken pipe Identified face as aryan Updating and loading repositories: Repositories loaded. Nothing to do.

Like it works great, if I ignore this Exception ignored in... and broken pipe error, that doesn't cause much issue, truly idk what it even means, it just works in terminal, that's it.

If you are able to fix it up, most importantly on Lockscreen, it would be great. 🙌

Aryan-Techie avatar Jun 18 '25 15:06 Aryan-Techie