找回密码
 注册
快捷导航
查看: 530|回复: 14

小记Thinkpad E16安装Linux Mint 22,调校桌面环境和CPU性能, Bitlocker加密NTFS磁盘自动加载,驱动,睡眠,应用程序,实用技巧

[复制链接] |自动提醒
阅读字号:

1万

回帖

122

积分

4万

资产值

至尊会员I Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2022-1-3
月全勤勋章
发表于 2024-8-13 23:51:14| 字数 5,195| - 美国–加利福尼亚州–洛杉矶–洛杉矶 RamNode数据中心 | 显示全部楼层 |阅读模式
本帖最后由 chenxinyi 于 2024-10-11 15:05 编辑

前阵子对老机T420s装了新系统Linux Mint 21.3.感觉不错,于是在使用了半年多的新机E16也装一下,初体验不错,

安装Linux-mint 22简述

安装Linux-mint 22,仍采用VMWare安装模式,保留物理硬盘上的Windows 11 23H2

由于主物理硬盘MBR分区最多支持4个主分区,所以,只能用diskgenius在物理硬盘上新建扩展分区/dev/sda5,再在下面划出一个64GB的小分区(逻辑分区/dev/sda6)和100MB uefi引导分区(/dev/sda4),系统装在64GB分区,grub-boot loader最后安装失败告终,是无法从物理硬盘启动的.
想了下,可能安装时选择了grub-boot loader安装在64GB系统分区,实际上应该选择扩展分区/dev/sda5,手工用Linux mint live CD引导,在控制台敲入boot-repair启动修复器(图形界面),
找到安装在扩展分区/dev/sda5(不要用默认的/dev/sda, 那样就装在物理硬盘的启动扇区了!), 修复完成后,实模式GRUB2重启引导物理硬盘,可以从Linux Mint的EFI分区进入,顺利引导成功!
(Grub2能自动识别Windows boot manager  - 比如,我这个物理硬盘的其它分区还安装了Windows 11 23H2,并且有Windows UEFI分区) 

Linux-mint 22主要两个问题:

1. 桌面分辨率在非整数下缩放(experimental)
100%, 200%, 300%整数缩放,图形界面显示和各种操作都很平滑.
但是,在非整数下缩放125%(1.25倍)/150%(1.5倍)/175%(1.75倍), 是将显示分辨率先调整比设置要大一倍的到整数倍,再进行缩放回到所设置的非整数倍,在性能上会有损失.
比如,如设置150%的非整数缩放,Thinkpad E16是2.5k的分辨率,图形界面放大一倍后200%,再缩小回125%,这一来回图形渲染的速度肯定要慢不少,特别是用鼠标拖放窗口时,
可以明显看到有拖影和滞后现象.
所以,高分辨率的屏幕最好还是保持100%的缩放不变,然后放大字体,图标,面板和鼠标指针,详见:
10 Things to Do First in Linux Mint 22 Cinnamon

2. 默认安装后, CPU i7-13700H是跑在性能最低的PowerSave模式
均速400MHz,不注意的话还以为机器很安静,温度很低,风扇不转,如果只是上上网看不出来什么.
但是一旦成为生产力,就有明显感觉很差,再用stress命令压测全部大小核(总共20个),
  1. stress -t 120 -c 20
复制代码
再开一个终端,输入下面命令监控CPU 频率:
  1. watch -n.1 "cat /proc/cpuinfo | grep "^[c]pu MHz""
复制代码

发现CPU最高总体平均频率也只能维持在1.0GHz附近.

解决办法是安装cpufrequtils,修改cpu频率管理为性能模式,参考: https://forums.linuxmint.com/viewtopic.php?t=418363
修改配置文件/etc/init.d/cpufrequtils
不仅要改动GOVERNOR="performance",同样要指定MIN/MAX速度(这里设置最小3.2GHz/最大4.8GHz)
注: GOVERNOR="ondemand"更合适一些,即能保证性能,也能在待机时功耗比较小,负载时保证性能.
  1. GOVERNOR="performance"
  2. MAX_SPEED="4800000"
  3. MIN_SPEED="3200000"
复制代码

另一个一地方要改的是check_govenor_avail ,直接返回0就可以了,不然重启Linux mint系统后,默认governor是powersave,这个函数永远检测不到我们刚配置好的performance
也就不会继续执行下面的cpufreq-set命令配置每个内核的性能和频率.

  1. check_governor_avail() {
  2.         info="/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors"
  3.         #if [ -f $info ] && grep -q "\<$GOVERNOR\>" $info ; then
  4.         #       return 0;
  5.         #fi
  6.         return 0;
  7. }
复制代码

改完后,systemctrl重启cpufrequtils.service就可以了.
[2024-9-11] cpupower-gui 用界面调节CPU频率更方便

再作stress命令压测全核,CPU频率平均可以保持在2GHz左右,但这样性能还没有完全发挥,
找到和Windows 下ThrottleStop类似的解锁功耗的linux bash脚本setPL.sh (需安装依赖sudo apt install devmem2 msr-tools),解锁功耗后,全核100%压测, 增加到2.2GHz对比跑了一个自已的写python测试全核并行20x1亿次乘方运算程序,在Windows上运行要1分钟,在调校后的Linux Mint上运行只需0.82分钟.在CPU全核100%负载下CPU温度最高只有80度,也许还有上升空间...

没错,还有上升空间,就是解锁温度墙,网上有现成的python应用undervolt ,这个应用程序必须用sudo权限执行,所以,要安装在root空间,
先输入命令sudo su进入管理员环境,再执行命令pipx install undervolt (如果没有pipx , 用apt install pipx即可), undervolt就被装到/root/.local/bin下了,
安装完成后再执行命令pipx ensurepath,确认/root/.local/bin被添加到环境目录.
整个安装步骤类似于Windows下安装到特定用户目录下,并配置好环境路径PATH,以防止应用程序找不到,只不过Linux mint 22 将每个用户空间的环境路径单独配置,
用pipx安装是最好的选择.

说了一大堆,看不懂也没关系,反正装好undervolt以后,下一步是执行下面命令新建/配置undervolt.service
  1. xed /etc/systemd/system/undervolt.service
复制代码

粘帖下面代码保存即可! (注意: -t 95 设置温度墙比较高, 如果在长负载95度高温下运行, 可能会导致CPU温度瞬间过高导致保护性降频 - 比如集显玩3D游戏温度过高掉帧 , 建议80~85比较好)
  1. [Unit]
  2. Description=Undervolt

  3. [Service]
  4. ExecStartPre=/root/.local/bin/undervolt -t 95 -p1 45 128 -p2 45 0.5
  5. ExecStart=/root/setPL.sh 45 45

  6. [Install]
  7. WantedBy=multi-user.target
复制代码

执行下面命令,启动undervolt.service(重启Linux mint系统仍有效),这样一劳永逸,每次开机进入Linux mint能保持解锁功耗/温度墙了.

  1. sudo systemctl daemon-reload
  2. sudo systemctl start undervolt.service
  3. sudo systemctl enable undervolt.service
复制代码

功耗和温度墙均解锁后,全核100%压测, 继续对比跑了一个自已的写python测试全核并行20x1亿次乘方运算程序,对比仅解锁功耗墙运行只需0.82分钟,现在全部解锁后只需0.65分钟!!!在CPU全核100%负载下CPU温度最高95度,CPU频率监控也能在更高温度下维持更高的平均主频2.4GHz附近(仅P核),完全符合undervolt.service的配置!这也符合自已对于实模式下跑Linux系统性能的期待!

最后,说一下undervolt.serivce的详细配置命令和参数:

ExecStartPre执行undervolt命令解锁温度墙(参数-t 95)允许CPU最高温度到95度,并同时设置长/短功耗墙(-p1 45 128 / -p2 45 0.5)
ExecStart执行setPL.sh命令同样设置功耗墙.
感兴趣的同学可能要问:为啥要重复执行setPL.sh设置功耗墙?因为,undervolt好像没有锁定MMIO寄存器,会导致CPU温度过高时不会保持在你设定的较高功耗上,
而选择了BIOS系统微码的动态功耗墙方案,所以,我们还是要利用setPL.sh再重复设置功耗墙,顺便将MMIO寄存器给锁定!
(来自setPL.sh作者的解释, 貌似此作者得到了ThrottleStop作者的真传...)




Linux Mint 22 驱动和应用程序体验

Linux Mint 22居然自带了键盘背光管理

参考:https://www.ibmnb.com/thread-2053595-1-1.html
Thinkfan 仍然可用,手工定制风扇转速,只是thinkpad_acpi驱动无法支持隐藏的最高转速

本来想装Deepin版本微信, QQ但没有成功,可能Linux mint 22里的库文件版本太高了,Deepin版本的应用程序更新太慢了.
索性直接Flatpak沙盒模式下安装微信,QQ,Telegram, SKype通讯软件一切正常,大致使用下没什么问题.微信有声音通知消息,语音通话没问题.

打印驱动安装比较简单,我这里办公的无线打印机,输入ip地址就能自动找到,甚至能自动帮助加载数据库已存在驱动,
要装原厂驱动也容易,一般的打印机驱动都有包含Linux支持的rpm或deb包,从包里解压出pdd描述文件,可以直接安装.


Bitlocker加密NTFS磁盘自动加载

多系统,多分区互访是必须做的事,在Linux Mint下访问Windows系统分区/数据分区,都很简单,
直接在文件管理器,点击后加载就可以了,但是对于Bitlocker加密后的分区访问,会提示恢复密钥,正确输入后(可选择永远记住,下次不用再输),
解锁后就可以访问了,如果要在启动Linux Mint时自动解锁Bitlocker,自动加载如何办呢?Reddit上找到一个最优方法,
https://www.reddit.com/r/Manjaro ... tfs_partition_with/

自动解锁就是手动配置/etc/crypttab
终端输入sudo xed /etc/crypttab 新建并添加一行(下面是示例,看后面解释,不要完全抄作业,如果是多个分区解锁,就添加多行):
  1. encrypt_shared_1 /dev/nvme1n1p3 /etc/cryptsetup-keys.d/nvme1n1p3.key bitlk
复制代码
encrypt_shared_1 是你给这个自动解锁起的名字 (任意取,多个分区多行,名字不要重复)
/dev/nvme1n1p3 是要解锁的分区设备名(不知道的可以输入命令blkid检查所有分区带Bitlocker字样的)
/etc/cryptsetup-keys.d/nvme1n1p3.key (纯文本密钥文件,直接粘帖你在Windows Bitlocker恢复密钥序列号,保存即可. 当然也可以选其它路径,但最好放这里,多个分区,多个密钥分件码放好)

这样配置好自动解锁后,如果你在上面配置行给定的密钥文件找不到,登录前会让你输入解锁密码!

自动挂载就是配置/etc/fstab ,直接可以通过Disks工具,图形化配置,选择好加载分区,点击gear齿轮图标,弹出菜单中选Edit mount Options(编辑加载选项)
取消User session Defaults,并确认勾选Mount at system startup(系统启动时加载),Mount point(加载点) / Identify as (分区标识)都配置好,点OK
这样其实就会在/etc/fstab里新键一行自动挂载磁盘分区命令了 (不要完全参考下图
注意:如果挂载的分区是 NTFS类型,必须手工将Filesystem type 改为ntfs3 (不要用auto,也不要用ntfs或ntfs-3g), 否则,
启动时mount将会用ntfs不支持 写入操作, 即使你的系统里安装了ntfs-3g驱动,加载后虽能读写,但这个驱动是在用户空间,性能不太好,且不支持Windows ACL



后续如有新的体验,将继续记录...



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

回复@联想铁粉 : noted.  发表于 2024-8-14 09:57
13/14代CPU的请打补丁  发表于 2024-8-14 08:50
💻 T420s i5-2520M 8G hyrix SSD 120G mSATA 128G WD 500G HDD 1600x900 💻 DELL Latitude 7490 i5-8250u 12G Xiede+Kingston 256G WDC nvme 1920x1080 💻 Thinkpad E16 i7-13700H 32G Micron+Kingston 1T WDC nvme 2560x1600
✏We only understand who we are when we understand who we are not, and often only when we understand who we are against.

1万

回帖

122

积分

4万

资产值

至尊会员I Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2022-1-3
月全勤勋章
 楼主| 发表于 2024-8-15 10:34:29| 字数 2,577| - 美国–加利福尼亚州–洛杉矶–洛杉矶 RamNode数据中心 | 显示全部楼层
本帖最后由 chenxinyi 于 2024-9-11 16:43 编辑

实用技巧篇

  • 系统主题

  为了使用更顺手,下载安装了Windows 10 light主题,只分配给Applications (应用程序),
  但某些应用程序不会跟随,比如下面:

  • 改变终端窗口主题
       仍然始终不变的是黑色标题栏, 但是右上最小化/最大化/关闭按钮又跟随系统主题(黑色),结果是一团黑,
  去终端窗口Edit > Preferences > Generl > Theme variant 不要选默认Dark style,改成Follow system style(紧随系统样式)

  • 任务栏面板
       我这里装了温度监控器Sensors Monitor,配置好显示CPU/DISK温度,还有风扇转速,效果杠杠的.
  CPU Frequency也很不错,显示一个总体频率就OK
  系统预装好的Removable drives 很有用,U盘加载/卸载都很方便.

       预装的声音控制面板(Sound applet) 有个小问题, 鼠标右键在声音图标上,点Configure...(配置),取消掉"Hide system tray icons for compatible players'
       有些音乐播放器的tray icon驻留图标不出现的问题立解.



  • 任务栏自定义"开始"图标
  这里预先下载了一个Windows 11的图标文件,存好在某个文件夹里.
  在原始Mint"开始"图标上鼠标右键,选择Configure ...(配置),就很容易替换成我们自已的了.




  • 电源管理设置
针对笔电的关闭盖子睡眠,只支持 Suspend和关机,Suspend类似于Windows下的S0低功耗现代待机,
至于休眠选项,网上查了下Linux做的不好,而且十分依赖于硬件. Linux Mint 22没有开放休眠选项.

说到Suspend待机,还是和Windows 11一样的,进入待机模式后,Thinkpad E16的呼吸灯慢闪.
但是,蓝牙鼠标或USB无线鼠标设备在待机时移动,就会唤醒系统,这和Windows 11是一样的,
是有办法解决的,找到Linux Mint论坛的帖子,解决方法是一行长命令,运行后会创建一个服务进程,
  1. grep -f <(lspci | grep USB | cut -d " " -f 1) \
  2. <(cat /proc/acpi/wakeup) | cut -c 1-4 | tr -d '\t' \
  3. | sed -e 's|^|echo |' -e 's|$| > /proc/acpi/wakeup|' -e '1s|^|#!/bin/bash\n|' \
  4. | sudo tee /usr/local/bin/nowakeupusb >/dev/null \
  5. && sudo chmod +x /usr/local/bin/nowakeupusb && printf '%s\n' '[Unit]' \
  6. 'Description=no-wakeup-usb' '[Service]' \
  7. 'ExecStart=/usr/local/bin/nowakeupusb' \
  8. '[Install]' 'WantedBy=multi-user.target' \
  9. | sudo tee /etc/systemd/system/no_wakeup_usb.service >/dev/null \
  10. && sudo systemctl enable no_wakeup_usb.service
复制代码
创建成功后,再启动服务:
  1. sudo systemctl start no_wakeup_usb.service

  2. sudo systemctl enable no_wakeup_usb.service
复制代码


这样就可以完全禁止USB设备唤醒(实际也能禁止蓝牙设备唤醒)

要想失效服务:
  1. sudo systemctl disable no_wakeup_usb.service
复制代码


说说这一长串指令的原理,其实就是找USB总线控制器的在ACPI表里的编号(4个字母), 比如,我机器里找到
两个雷电USB控制器和一个USB 3.2 XHCI控制器,然后,将这三个名称编号写入/proc/acpi/wakeup,这样就失效USB设备唤醒了.
  1. lspci | grep USB
  2. 00:0d.0 USB controller: Intel Corporation Raptor Lake-P Thunderbolt 4 USB Controller
  3. 00:0d.2 USB controller: Intel Corporation Raptor Lake-P Thunderbolt 4 NHI #0
  4. 00:14.0 USB controller: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller (rev 01)
复制代码

不晓得Windows 11下能不能重编译覆盖ACPI表的方法达到类似目的!?

  • Nemo 文件管理器 (Cinnamon桌面)

建议安装nemo-image-converter
  1. sudo apt install nemo-image-converter
复制代码
装成功后, 在Nemo文件管理器中,右键任何文件都会有一个“压缩"(compression)的快捷菜单,如果是图片,还会有"调整图像大小"(resize)和"旋转图像"(rotate)的快捷菜单,
非常方便对图片文件处理。

  • Flatpak沙盒应用程序

微信,QQ一类的应用程序都依赖于Flatpak沙盒启动,但是这些应用程序不具有Linux Mint官方安全担保的,
原因是Flatpak打包的Windows应用程序可能存在滥用权限问题, 这时就需要安装Flatseal来管理每个Flatpak应用权限,
  1. sudo flatpak install flathub com.github.tchx84.Flatseal
复制代码
额外的好处还可以修改字体大小,比如,Flatpak下安装的微信应用没有选项去调整字体大小,这时可以用Flatseal做这个事,
启动Flatseal后,定位到微信 Wechat, 在Evnironment下添加一行:
  1. QT_SCALE_FACTOR=1.25
复制代码
重启微信后,发现界面字体大了些!
用 Flatseal 图形化管理 Flatpak 应用的权限
Font size in Flatpak OBS

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
💻 T420s i5-2520M 8G hyrix SSD 120G mSATA 128G WD 500G HDD 1600x900 💻 DELL Latitude 7490 i5-8250u 12G Xiede+Kingston 256G WDC nvme 1920x1080 💻 Thinkpad E16 i7-13700H 32G Micron+Kingston 1T WDC nvme 2560x1600
✏We only understand who we are when we understand who we are not, and often only when we understand who we are against.
回复 支持 反对

使用道具 举报

8059

回帖

65

积分

8万

资产值

至尊会员I Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2018-12-10
月全勤勋章年全勤勋章2023
发表于 2024-8-14 08:07:43| 字数 10| - 中国–上海–上海 电信 | 显示全部楼层
纯技术贴,谢谢分享。
回复 支持 反对

使用道具 举报

1万

回帖

109

积分

12万

资产值

至尊会员I Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2009-1-16
银牌荣誉勋章(注册10年以上会员)月全勤勋章铜牌荣誉勋章(注册8年以上会员)
发表于 2024-8-14 08:17:31| 字数 8| - 中国–重庆–重庆 联通 | 显示全部楼层
技术贴,看不懂。
T460P i7-6820HQ 32G 256G SSD 2T HDD 2560*1440
X230 i7-3520M 16G 128G MSATA 1T HDD 1366*768
T430 i7-3632QM 16G 480G MSATA 2T HDD 1600*900
回复 支持 反对

使用道具 举报

231

回帖

16

积分

4428

资产值

白金会员 Rank: 3Rank: 3Rank: 3

注册时间
2018-7-1
发表于 2024-8-14 09:28:27| 字数 72| - 中国–广东–深圳 电信 | 显示全部楼层
频率的事, 直接在面板上添加“cpu频率范围监视器”, 然后左键点击新加的图标,就有powersave、performance等几个cpu频率策略。
回复 支持 1 反对

使用道具 举报

1万

回帖

122

积分

4万

资产值

至尊会员I Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2022-1-3
月全勤勋章
 楼主| 发表于 2024-8-14 09:51:26| 字数 222| - 美国–加利福尼亚州–洛杉矶–洛杉矶 RamNode数据中心 | 显示全部楼层
本帖最后由 chenxinyi 于 2024-8-14 09:55 编辑
QUOTE:
wydb 发表于 2024-8-14 09:28
频率的事, 直接在面板上添加“cpu频率范围监视器”, 然后左键点击新加的图标,就有powersave、performanc ...

已经添加了,但如果不配置cpufrequtils,cpu frequency applet不会显示这些策略,系统默认CPU governor只有powersave
截个待机效果图,目前调整最高频率到3.7GHz

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
💻 T420s i5-2520M 8G hyrix SSD 120G mSATA 128G WD 500G HDD 1600x900 💻 DELL Latitude 7490 i5-8250u 12G Xiede+Kingston 256G WDC nvme 1920x1080 💻 Thinkpad E16 i7-13700H 32G Micron+Kingston 1T WDC nvme 2560x1600
✏We only understand who we are when we understand who we are not, and often only when we understand who we are against.
回复 支持 反对

使用道具 举报

231

回帖

16

积分

4428

资产值

白金会员 Rank: 3Rank: 3Rank: 3

注册时间
2018-7-1
发表于 2024-8-14 10:30:01| 字数 195| - 中国–广东–深圳 电信 | 显示全部楼层
QUOTE:
chenxinyi 发表于 2024-8-14 09:51
已经添加了,但如果不配置cpufrequtils,cpu frequency applet不会显示这些策略,系统默认CPU governor只 ...

那可能和版本有关,我的thinkbook16+不用再做其它配置就可以直接选择cpu频率策略了。
感觉ondemand比较好用, 空闲时cpu频率很低;一有任务时又能很快的提到4GHz左右。
回复 支持 反对

使用道具 举报

1万

回帖

122

积分

4万

资产值

至尊会员I Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2022-1-3
月全勤勋章
 楼主| 发表于 2024-8-14 10:56:20| 字数 256| - 美国–加利福尼亚州–洛杉矶–洛杉矶 RamNode数据中心 | 显示全部楼层
本帖最后由 chenxinyi 于 2024-8-14 11:00 编辑
QUOTE:
wydb 发表于 2024-8-14 10:30
那可能和版本有关,我的thinkbook16+不用再做其它配置就可以直接选择cpu频率策略了。
感觉ondemand比较好 ...

名称上看起来就是类似windows下的均衡模式,我这里反正反复调了很多次,有时在ondemand在频率仍维持在很低水准,不过现在刚调到ondemand又正常了.
觉得至少要设置MIN_SPEED,即使在空闲时不须要维持在太低,除非断电电池使用,那就直接上powersave


💻 T420s i5-2520M 8G hyrix SSD 120G mSATA 128G WD 500G HDD 1600x900 💻 DELL Latitude 7490 i5-8250u 12G Xiede+Kingston 256G WDC nvme 1920x1080 💻 Thinkpad E16 i7-13700H 32G Micron+Kingston 1T WDC nvme 2560x1600
✏We only understand who we are when we understand who we are not, and often only when we understand who we are against.
回复 支持 反对

使用道具 举报

wqnfs - 大王叫我来巡山

5万

回帖

416

积分

7万

资产值

至尊会员III Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2015-5-30
月全勤勋章年全勤勋章2022铜牌荣誉勋章(注册8年以上会员)年全勤勋章2023
发表于 2024-8-15 07:00:07| 字数 14| - 中国–上海–上海 电信 来自手机版 | 显示全部楼层
牛逼立体,装在虚拟机上蛮好。

点评

回复@chenxinyi : 啊!看来我以前找到有序列号的都是专业版了。虽然用这个满久,一直也没玩转。  发表于 2024-8-15 12:13
回复@wqnfs : VMWare个人版都是免费的.  发表于 2024-8-15 08:43
回复@chenxinyi : 好多年没用虚拟机了,有一段时间用VirtualBox比较多一点,主要是免费的。  发表于 2024-8-15 08:35
虚拟机安装,实模式启动运行.  发表于 2024-8-15 07:57
T430i:i5 3320M 4+4  1T  SSD+1T HDD 1080P;
P52 i7 8850H p3200 48G 500G SSD
小米13、SE一代
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.5 © 2001-2023 Comsenz Inc

GMT+8, 2024-12-4 04:42 , Processed in 0.146402 second(s), 41 queries , Gzip On, OPcache On.

手机版|小黑屋|安卓客户端|iOS客户端|Archiver|备用网址1|备用网址2|联系我们|专门网

返回顶部