Bundle request: Input Remapper and Howdy

Here are the bundles that I wish I would see ported to Clear Linux:

  1. Input Remapper to map keyboard keys to mouse buttons;
  2. Howdy for face recognition in authentication contexts.

Anyone savvier than me cares to look into these please? :smiling_face:

Thanks!

1 Like

I took a look at this today and was able to resolve some of the issues that blocked input-remapper last year. I added a new bundle simply called input-remapper.

I poked at Howdy a little bit today, but downloading and including the training data will take a deeper look.

1 Like

Thank you! Input-remapper is the more important of the two, though I wouldn’t say no to Howdy!

Thanks again! :champagne:

I tried to make howdy work, and got a lot of the underlying pieces in place, but ultimately I don’t think we can pull it off.

At its core, howdy is a Python implementation of a PAM module, so it has to be executed by pam_python.so, which attempts to link in libpython3.12.so as a Python interpreter. Unfortunately, there are a lot of issues between how we optimize Python and how users of the dynamic library are expected to behave, and an underlying implementation in Python results in an uninformative segfault in _PyInterpreterState_GET() when it gets a null back from _PyThreadState_GET(). And a segfault in a PAM module means authentication simply fails – it doesn’t fall through to the next module.

So until/if we figure out a way to make dynamically linking a Python interpreter work with our optimized Python, this is just too brittle. You can easily lock yourself out of your system.

As a side effect, I cleaned up our OpenCV a little bit and got dlib working, in the process of demonstrating that I could add/remove reference models for users.

1 Like

Many thanks for your efforts. I, for one, am very happy with Input Remapper at this point. (There’s also chatter about adding Howdy to Flatpak!)

Thanks to @william.douglas’ heavy lifting on Python, I was able to get pam_python working, so I’ve added a howdy bundle. Because its recognition is a pretty weak authenticator, and the possibility of really messing up your security profiles, I’ll leave it as an exercise to the reader to find an acceptable configuration in /etc/pam.d for your personal needs.

1 Like