华为笔记本magicbook14 AMD安装Manjaro Linux的一些踩坑配置

摘要:
笔记本参数Magicbook14AMDR53500U8G+512G内核不同的内核在这个笔记本的表现差距略大。LTS的linux54在睡眠时仍能听到风扇转动,无法正常睡眠。https://github.com/aymanbagabas/Huawei-WMI主要的Features:Functionhotkeys,implementedinv1.0MicmuteLED,implementedinv2.0.Updatedinv3.0toworkwithnewerlaptops.Batteryprotection,implementedinv3.0.Updatedinv3.3tousebatterychargeAPI.Fn-lock,implementedv3.0.NOTE:Versionv2.0istheoneinmainlinekernel˃=5.0,thisrepositoryisusedfortestinganddevelopmentpurposes.v3.3hasbeenmergedinkernel5.5电池保护与Fn锁参考某些理论,锂电池在不用的时候保存为一半的电量对电池的损耗最少。https://github.com/nekr0z/matebook-applet#huawei-wmi-driver里有个现成的脚本如下,大概是新建了两个service,动态修改huawei-wmi文件夹的用户组,并将当前用户添加到修改的用户组中以获得权限。
本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/manjaro_magicbook_install_and_configuration

虽然是linux版出厂自带deepin专业版,但是随后发的一键win10装机U盘一声不坑的把deepin格式化了,售后还只在线下才提供安装包…

笔记本参数

Magicbook 14 (2019)

  • AMD R5 3500U
  • 8G + 512G
内核

不同的内核在这个笔记本的表现差距略大。当前(2020年-4月)测试过的内核里,只有linux56运行比较平稳。LTS的414/419直接开机黑屏,好像有一个是由于TLP服务的问题,systemctl disable tlp可以解决,TLP提供了电源管理功能,禁止了不知道影响有多大。LTS的linux54在睡眠时仍能听到风扇转动,无法正常睡眠。

当前的linux56的主要问题(其它内核也存在):

  • 指纹识别不能用
  • 麦克风禁音键不能用
  • 风扇无法控制 (好像没有现成的驱动)
Huawei-WMI

相当于华为为自己的笔记本添加的驱动程序,具体介绍可以参考下面的链接。

https://github.com/aymanbagabas/Huawei-WMI

主要的Features:

  • Function hotkeys, implemented in v1.0
  • Micmute LED, implemented in v2.0. Updated in v3.0 to work with newer laptops.
  • Battery protection, implemented in v3.0. Updated in v3.3 to use battery charge API.
  • Fn-lock, implemented v3.0.

NOTE: Version v2.0 is the one in mainline kernel >= 5.0, this repository is used for testing and development purposes. v3.3 has been merged in kernel 5.5

电池保护与Fn锁

参考某些理论,锂电池在不用的时候保存为一半的电量对电池的损耗最少。因此,如果笔记本一直插电使用,最好让电池在50%左右时只使用电源的电,而不继续充电,ThinkPad、Surface等笔记本都提供了类似的电源保护功能,huawei-wmi在新的版本里也加入了电池的充电保护(默认是关闭状态)。

Fn锁似乎是个解决强迫症的设置,默认是在Fn键灯亮的时候是F1-F12,而在不亮的时候才是对应的功能键。Fn锁可以将这个改成Fn灯不亮的时候是F1-F12。

这两项设置一般通过下面的matebook-applet设置,在AUR里可以直接安装,里面有使用说明。如果不需要这两个功能可以不折腾。

https://github.com/nekr0z/matebook-applet

使用起来略麻烦,这个applet使用之前需要修改目录/sys/devices/platform/huawei-wmi/的权限,sudo chmod -R 777 /sys/devices/platform/huawei-wmi,然后命令行运行matebook-applet,通知栏里会出现能够改变这两项的图标。如果此目录没有执行命令的用户的权限,则可以查看当前状态而不能修改。

但是,这个目录是动态创建的,重新开机之后权限会还原为root权限。https://github.com/nekr0z/matebook-applet#huawei-wmi-driver里有个现成的脚本如下,大概是新建了两个service,动态修改huawei-wmi文件夹的用户组,并将当前用户添加到修改的用户组中以获得权限。这个applet设置一次后重启会保留之前的设置,用得不多感觉折腾的必要不大,要调整的时候改一下权限就行。

$ git clone https://github.com/qu1x/huawei-wmi.git
$ cd huawei-wmi/generic
$ sudo make install

貌似主要是改变了huawei-wmi里的fn_lock_statecharge_control_thresholds 两个文件,但是这两个文件无法直接修改,不知道matebook-applet是调用的api还是其它的修改方式。

不知道这些是不是华为官方写的,实现的几种语言里都没有中文,这种权限的问题也略不优雅。

一些其它的参考链接

https://github.com/nekr0z/linux-on-huawei-matebook-13-2019

https://github.com/zer0nka/linux-on-huawei-matebook-d-14-amd

免责声明:文章转载自《华为笔记本magicbook14 AMD安装Manjaro Linux的一些踩坑配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Hibernate用Mysql数据库时链接关闭异常的解决一种高效快速的内存池实现(附源码)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux-(telnet,wget)

telnet命令 telnet命令通常用来远程登录。telnet程序是基于TELNET协议的远程登录客户端程序。Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输...

关于linux或者mac apache重启服务

Mac OS 终端起动、关闭、重启apache的方法打开终端 重启apache:sudo /usr/sbin/apachectl restart 关闭apache:sudo /usr/sbin/apachectl stop 开启apache:sudo /usr/sbin/apachectl start apache文件存放位置: /etc/apache2...

linux日志守护进程 syslog

  https://www.cnblogs.com/linuxws/p/9017404.html   几乎所有的网络设备都可以通过syslog协议,将日志信息以UDP的形式传送给远端服务器,远端接收日志服务器必须通过syslogd监听UDP端口514,并根据 syslog.conf 配置文件张的配置处理。配置文件 /etc/rsyslog.conf 中...

Linux之telnet详解

telnet命令通常用来远程登录。telnet程序是基于TELNET协议的远程登录客户端程序。Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的 能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令...

Linux下Wi-Fi的实现:wireless_tools和wpa_supplicant

转载于:https://www.cnblogs.com/lidabo/p/6069455.html 平台为hi35XX,在Liunx下借助wireless_tools和wpa_supplicant(因为现在的无线WIFI网络大多是wpa加密。所以需要移植wpa_supplicant工具)等工具实现wifi的过程。 一、移植wireless_tools 1....

linux僵尸进程产生的原因以及如何避免产生僵尸进程

给进程设置僵尸状态的目的是维护子进程的信息,以便父进程在以后某个时间获取。这些信息包括子进程的进程ID、终止状态以及资源利用信息(CPU时间,内存使用量等等)。如果一个进程终止,而该进程有子进程处于僵尸状态,那么它的所有僵尸子进程的父进程ID将被重置为1(init进程)。继承这些子进程的init进程将清理它们(init进程将wait它们,从而去除僵尸状态)...