I recently bought a Lenovo T15 to have a more comfortable and portable workstation which comes with an integrated IR + Webcam module.

This module is meant to be used with Windows Hello authentication which uses IR emitters plus an 8bit camera in order to recognize your face and perform a login in your machine which clearly doesn’t work out of the box on Linux

During a quick search session, I found Howdy, a project that enables a Windows Hello-like login system that works with PAM so it can be used to authenticate on the login screen, sudo commands, etc.

Before starting with the guide, please keep in mind that every computer is different and you might need to do some additional steps to make howdy to work properly. This guide contains the steps I had to follow to run Howdy on my Lenovo Thinkpad T15 running POP Os.

List your cameras

First I need to list the cameras included in the camera bundle, to do that I installed v4l-utils.

Then, I executed the following command to get a list of the video devices detected by the Kernel:

v4l2-ctl --list-devices

The output is a list of 4 video devices with the assigned path

Integrated Camera: Integrated C (usb-0000:00:14.0-8):
/dev/video0
/dev/video1
/dev/video2
/dev/video3

That doesn’t mean that I have 4 cameras available. Video0 is the main camera and Video1 is the metadata capture while Video2 is the 8-bit camera used for authentication purposes along with the IR emitter.

After doing a couple of tests with the secondary camera, I noticed that the IR sensor was not activated when I captured some FFmpeg frames. So I found another project which will enable the IR module on cameras that won’t trigger the emitter when the secondary camera is used.

Enabling the IR emitter

Clone the Linux-enable-ir-emitter

git clone https://github.com/EmixamPP/linux-enable-ir-emitter.git

Run the autoconfig script and follow the instructions, you will notice that now your IR emitter starts to work.

cd auto && python auto-config.py

Now we’re ready to go

Install and Setup Howdy

sudo add-apt-repository ppa:boltgolt/howdy
sudo apt update
sudo apt install howdy

Follow the instructions and leave the default settings for now, we will configure the camera in the next step

Run

sudo howdy config

This will open a config file in your default text editor. We need to locate the device_path entry in the [Video] section and set the path to our secondary camera (which includes our IR emitter)

# The path of the device to capture frames from
# Should be set automatically by an installer if your distro has one
device_path = /dev/video2

Save the file and exit

Now we will add our first face model

sudo howdy add

Look at your camera (you will notice that the IR emitter is also enabled) and let the process finish

Now it’s time to test your face model, run sudo -i and look at your camera, then you will see the following output:

$ sudo -i
Identified face as <user> 

Then you are ready to go, try locking your screen or running another sudo command and the IR camera will be triggered to authenticate you based on your face model.

You can add more face models if you want to increase the accuracy or if you use glasses and want a model to log in when you’re not wearing them.

As the Howdy creator states while using an IR camera is more reliable than just using a camera, keep in mind that it won’t replace a password in environments that require higher security levels. Also, you shouldn’t keep Howdy as your exclusive login mechanism.