howdy icon indicating copy to clipboard operation
howdy copied to clipboard

Support for multiple IR cameras

Open larvel opened this issue 3 years ago • 4 comments

Would it be possible to support two IR cameras? When connected to the external monitor, I prefer not having to open the laptop lid or turn towards the laptop.

When not connected to the external montor, its would be nice to be able to unlock using the laptop IR camera.

larvel avatar Mar 06 '21 17:03 larvel

@larvel Have a look at https://github.com/tuhlmann/select-howdy-source

It's a udev rule and a small script that changes the camera for Howdy. You can add multiple cameras and it will choose the first one it finds or disable Howdy.

It's pretty much adapted to my needs, you may need to tinker with the udev rule and of course the camera models.

You may need to scan your face with both cameras and then let Howdy try to figure out who you are going over all the existing models.

tuhlmann avatar Mar 12 '21 09:03 tuhlmann

If you want something simpler (and maybe with less features, I haven't looked closely at @tuhlmann's script), you can just use a udev rule to directly change a symlink between your two cameras, and then point Howdy at that symlink. See the post here.

swebra avatar Mar 12 '21 22:03 swebra

``I would love to have multiple camera support for multiseat usage.

We have 3 monitors/keyboard/mice setup using loginctl/systemd. Works brilliantly. Would love to have each seat use its own howdy instance with the relevant camera.

Wondering if that would be possible.

EDIT: I figured it out, it was relatively easy. I created a script /usr/bin/check-seat

#!/bin/bash if [ -z "$XDG_SEAT" ]; then XDG_SEAT=$(loginctl seat-status | head -n1) fi echo $XDG_SEAT rm /dev/howdy if [ $XDG_SEAT == 'seat0' ] then ln -s /dev/video4 /dev/howdy fi if [ $XDG_SEAT == 'seat1' ] then ln -s /dev/video0 /dev/howdy fi if [ $XDG_SEAT == 'seat2' ] then ln -s /dev/video2 /dev/howdy fi

and added the following line to /etc/pam.d/common-auth auth optional pam_exec.so log=/pamstuff /usr/bin/check-seat

This deletes the /dev/howdy symlink, and creates a new one for whichever requested the login. Seems to work pretty well, at least for gdm3 during login.

This is probably horribly unsafe/hackable/makes you lose all your money. But it works for my household.

scamiran149 avatar May 30 '21 22:05 scamiran149

Hey, can you please link some of the solutions in the wiki section! That would be very helpful. Thank you.

Tiger862000 avatar May 03 '22 07:05 Tiger862000

This should be a feature request. Many laptops don't operate well with the lid closed, some don't support USB to wake, some are partially or severely cooling restricted, some could get screen damage if GPU heat constantly touches the screen.

I setup Howdy months ago.There is no good place to put my laptop in a way that doesn't obstruct other monitors and leaves line of sight to my face from the built in camera. Currently the builtin camera faces that back of my 50" monitor.

Comma separated values for device_path would fix all this

FossPrime avatar Sep 29 '22 21:09 FossPrime