联想小新Air2020锐龙版在Ubuntu下添加指纹识别
今年上半年联想发布小新Air2020锐龙版,当时正值AMD YES,头脑一热就冲了。
收到货立刻安装了Ubuntu 20.04,才冷静下来,意识到新机新硬件,可能会遇到没有驱动的问题。
显而易见各种问题井喷式迸发。
首先、不能录音,找不到Mic。
https://bugs.launchpad.net/ubuntu/focal/+source/linux/+bug/1881046
看反馈是新硬件没有驱动问题,等5.8内核修复。同时会回补到5.6oem内核。
第二、屏幕亮度不能调整。锁屏或者息屏状态下,屏幕仍然点亮。
同样是AMD Renoir平台驱动问题,显卡驱动需要5.6~5.7内核支持。
https://www.phoronix.com/scan.php?page=news_item&px=AMD-Renoir-k10temp-Linux-5.8
使用Ubuntu Mainline Kernel Installer,安装了当时最新的内核5.7.1解决了显示问题。
第三、显卡驱动不完善,网页上下滚动的时候,字体有点跳动飘忽。黑色背景偶尔有条纹闪动。
解决方法同上。
第四、指纹识别无法使用。
查看硬件属于Elan指纹识别设备,Ubuntu发行版并未支持。而且截止到当时并未有Libfprint支持。
https://fprint.freedesktop.org/supported-devices.html
➜ ~ lsusb
......
Bus 003 Device 003: ID 04f3:0c4d Elan Microelectronics Corp. ELAN:Fingerprint
时间进入12月,再次刷新Libfprint支持设备列表依然有了04f3:0c4d,真是太激动了,马上动手安装驱动。
本项目使用meson构建,ninja编译,所以需要下载相应的工具
sudo apt install ninja-build cmake pkg-config libgusb-dev libcairo2-dev libgirepository1.0-dev valgrind
创建一个python3虚拟环境,并激活。提前下载所需要的python工具。
python3 -m venv venv
. venv/bin/activate
pip install meson -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
venv/bin/meson builddir
venv/bin/meson configure builddir -Ddoc=false -Dlibdir=lib
cd builddir
ninja
sudo ninja install
安装完驱动,还需要安装前端工具。
sudo apt install fprintd libpam-fprintd
执行
sudo pam-auth-update
将第一项,用空格勾选上,然后点“确定”。这样就授权指纹识别登录设备。
录入指纹
打开“设置---用户---指纹登录”,此时就可以打开了。点击“+”,录入第一个指纹吧
实际使用体验并不是想像中的完美。
1、指纹录入方式和手机完全不同。不是点压,而是要缓慢滑动录制整个指纹,速度不能太快也不能太慢。
2、目前我这台设备只能录入第一个,第二个没有成功过。
3、部分场景下还是必须使用密码输入。
4、指纹验证, 同样也是滑动验证。一般滑动一次很难验证成功,需要2-3次。