RedmiBook pro15 2023款折腾笔记(7840HS)amd-pstat解决APU睿频问题

2023-11-15

这里记录一下RedmiBook pro15 2023款笔记本(7840HS)搭建ubuntu 22.04系统的记录,留给正好需要在这个笔记本上安装linux环境的童鞋参考一下,其他AMD的APU都是类似的。

拿到机器过后安装ubuntu 22.04开机存在以下问题:

  • gpu加载不正常
  • wifi蓝牙无法工作
  • 屏幕刷新率只有90hz(这个只要显卡驱动正常就会恢复)
  • CPU睿频失效
  • firefox不能视频硬解码

gpu不正常的解决方法如下:

  1. 升级firmwaresudo apt install linux-firmware,升级完firmware过后重启机器,一般来讲重启过后GPU和屏幕刷新率就正常了
  2. 编译高版本内核,推荐自己编译高版本的内核,毕竟7840HS这颗CPU很新,6.4版本的内核在GPU驱动中有大量的更新,ubuntu仓库中的内核版本都太低了,这里贴一个自己用的内核编译config,基于ubuntu的config制作,驱动都比较全面,可以做U盘系统的内核带着走:defconfig 提取码:dfgw

CPU睿频失效:

  1. 这个不同的内核版本现象不一样,至少6.2以下内核睿频不起作用,查看CPU最高频率:cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq显示只有3.3Ghz,这时候无论你的governor是什么,频率都会上不去。查看cpufre驱动cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver会发现是acpi-freq,这就是不能睿频的原因,amd的apu需要amd-pstate驱动来睿频,这里需要给内核添加一个内核启动参数来开启amd-pstate驱动:amd_pstate=passive,可以添加到/etc/default/grub的GRUB_CMDLINE_LINUX=中,重启之后就可以看到CPU频率可以到5Ghz+了,amd其他系列apu同理,linux内核版本在6.5.x看起来不需要添加开机参数也默认开启了amd-pstate

firefox(中国版)不能视频硬解码:

  1. 安装vaapi库:sudo apt install mesa-amdgpu-va-drivers
  2. vainfo可以看到vaapi已经可以用
  3. 在firefox中开启vaapi:地址栏输入about:config,搜索vaapi,将false设置为true
  4. 这里面还忘了一步,像上面这样操作下来播放b站视频是会卡住的,因为还没有装ffmpeg,再安装以下ffmpeg就好了sudo apt install ffmpeg,打开一个终端来启动firefox播放b站视频/opt/firefox/firefox看到日志有打印vaapi version之类的,并且视频播放正常就说明成功了

蓝牙WiFi不能使用的解决办法:

  1. 没有办法,哈哈哈,我手里这个本本的无限网卡写的是ittim pe50-m75c,没见过,貌似没有开源的linux驱动,推荐自己买一个AX210之类的来替换,也就70块钱左右,价格好评

总结:
总体上来说RedmiBook pro15 2023这个本本对linux来说还是很友好的,声卡,键盘和触摸板驱动在现有的Linux中都有驱动,键盘背光,功能键也都正常没有什么太大的问题,喜欢折腾的可以吧小爱同学键也适配一下,遇到其他问题的同学欢迎留言私信交流。以后7840HS将成为主力机用一段时间了,打完收工,祝大家玩得开心

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RedmiBook pro15 2023款折腾笔记(7840HS)amd-pstat解决APU睿频问题 的相关文章

  • 编写多个mysql脚本

    是否可以在复合脚本中包含其他 mysql 脚本 理想情况下 我不想为包含的脚本创建存储过程 对于较大的项目 我想分层维护几个较小的脚本 然后根据需要组合它们 但现在 我很乐意学习如何包含其他脚本 source是一个内置命令 您可以在 MyS
  • 如何在 Linux x86_64 上模拟 iret

    我正在编写一个基于 Intel VT 的调试器 由于当 NMI Exiting 1 时 iret 指令在 vmx guest 中的性能发生了变化 所以我应该自己处理vmx主机中的NMI 否则 guest会出现nmi可重入错误 我查了英特尔手
  • Bash 脚本 - 迭代 find 的输出

    我有一个 bash 脚本 其中需要迭代 find 命令输出的每一行 但似乎我正在迭代 find 命令中的每个单词 以空格分隔 到目前为止我的脚本看起来像这样 folders find maxdepth 1 type d for i in f
  • Linux、ARM:为什么仅当启动时存在 I2C GPIO 扩展器时才创建 gpiochip

    在 imx6sx 硬件平台 NXP 嵌入式 ARM 上使用 Linux 3 14 52 问题是设备树中指定的 PCF8575 I2C GPIO 扩展器不会实例化为 sys class gpio 结构中的设备 除非它们在内核启动期间存在 这些
  • Linux命令列出所有可用命令和别名

    是否有一个 Linux 命令可以列出该终端会话的所有可用命令和别名 就好像您输入 a 并按下 Tab 键一样 但针对的是字母表中的每个字母 或者运行 别名 但也返回命令 为什么 我想运行以下命令并查看命令是否可用 ListAllComman
  • perf stat中的cycles注释是什么意思

    8 014196 task clock 0 004 CPUs utilized 204 context switches 0 025 M sec 32 cpu migrations 0 004 M sec 0 page faults 0 0
  • 无关的库链接

    我有一个可能有点愚蠢的问题 因为我很确定我可能已经知道答案了 假设你有静态库A 动态共享库B和你的linux下的程序C 假设库 A 调用库 B 中的函数 并且您的程序调用库 A 中的函数 现在假设 C 在 A 中调用的所有函数都不使用 B
  • 如何确保 numpy BLAS 库可用作动态加载库?

    The theano安装文档 http www deeplearning net software theano install html troubleshooting make sure you have a blas library指
  • 确保 config.h 包含一次

    我有一个库项目 正在使用 Linux 中的 autotools 套件移植到该项目 我对自动工具很陌生 本周 我已经了解了其操作的基础知识 我有一个关于如何保留内容的问题config h免遭重新定义 我惊讶地发现生成的config h文件也没
  • 如何从 Linux 命令行获取视频文件的分辨率(宽度和高度)?

    我一直在挖掘 mplayer mencoder 和 ffmpeg 文档 但我似乎无法想出anything 我对输出格式不是特别挑剔 因为我可以使用正则表达式将其拉出来 我只是似乎无法首先获取数据 Use ffprobe https ffmp
  • 套接字:监听积压并接受

    listen sock backlog 在我看来 参数backlog限制连接数量 这是我的测试代码 server initialize the sockaddr of server server sin family AF INET ser
  • numpy 未定义符号:PyFPE_jbuf

    我正在尝试使用一百万首歌曲数据集 为此我必须安装 python 表 numpy cython hdf5 numexpr 等 昨天我设法安装了我需要的所有内容 在使用 hdf5 遇到一些麻烦之后 我下载了预编译的二进制包并将它们保存在我的 b
  • 如何使用AWK脚本检查表的所有列数据类型? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在这里 我正在检查表中第一列的数据类型 但我想知道AWK中表的所有列数据类型 我尝试过 但只能获得一列数据类型 例如 Column 1
  • 如何让 clangd 转向 c++20

    当没有其他信息时 如何让 clangd 回退到 c 20 例如 在第一次构建之前 cmake 可以生成一个 这是在带有最新 LLVM 的 Arch Linux 上 这是通过 Emacs LSP 运行的 但这应该没有什么区别 你可以加 Com
  • git在Windows和Linux之间切换后强制刷新索引

    我有一个Windows和Linux共享的磁盘分区 格式 NTFS 它包含一个 git 存储库 约 6 7 GB 如果我只使用Windows or 只使用Linux操作 git 存储库一切正常 但是每次切换系统的时候git status命令将
  • 无法执行'x86_64-conda_cos6-linux-gnu-gcc':没有这样的文件或目录(pysam安装)

    我正在尝试安装 pysam 执行后 python path to pysam master setup py build 这个错误的产生是 unable to execute x86 64 conda cos6 linux gnu gcc
  • Inotify linux 监视子目录

    是否可以以这种模式监视目录 storage data usernames Download gt storage data Download 我需要监视每个用户的下载文件夹中是否进行了更改 也许我需要创建所有路径的列表 将其放入数组中 并在
  • Linux shell 脚本:十六进制数字到二进制字符串

    我正在 shell 脚本中寻找一些简单的方法来将十六进制数字转换为 0 和 1 字符的序列 Example 5F gt 01011111 是否有任何命令或简单的方法来完成它 或者我应该为其编写一些开关 echo ibase 16 obase
  • sleep 0 有特殊含义吗?

    我看到很多用法sleep 0在我的一个客户项目中 代码看起来像这样 while true sleep 0 end 阅读一些像这样的答案this https stackoverflow com questions 3727420 signif
  • 从多线程程序中调用 system()

    我们正在开发一个用 C 编写的多线程内存消耗应用程序 我们必须执行大量的 shellscript linux 命令 并获取返回码 读完之后article http www linuxprogrammingblog com threads a

随机推荐

  • r语言(总)(我命油我不油天)

    seq等间隔函数 seq from to by length out along with from to 为数值 表示开始和结束 by为数值 表示间隔 length out为数值 表示数列长度 along with为向量 表示数列长度与该
  • fabric基本概念

    Hyperledger fabric基本概念 首先fabric是由IBM贡献的超级账本框架 它是一个利用现有成熟的技术来组合而成的一个区块链技术的实现 它是一种允许可插拔实现各种功能的的模块化架构 它具有强大的容器技术 来承载各种主流语言来
  • C语言进阶——文件管理

    每当我们写好一段代码运行结束之后 再次运行的时候就会发现 之前在终端上输入的数据都会消失 那么如何把之前输入的数据保存下来呢 我们一般把数据持久化的方式有把数据存放在磁盘文件中 存放到数据库 打印等方式进行保存 使用文件我们可以直接将数据保
  • Mysql字符串处理函数详细介绍、总结

    1 ASCII str 返回字符的 ASCII 码值 返回值为字符串str 的最左字符 第一个字符 的数值 即取得最左字符的 ascii 码 假如str 为空字符串 则返回值为 0 假如 str 为 NULL 则返回值为 NULL ASCI
  • unity 不显示UI项,代码无法引用UI类

    如果在unity项目中遇到在Hierarchy面板右键发现没有ui这个选项 在vs里无法引用到UI类时可以进行以下操作 1 可以在unity的Project面板 选中Assets文件夹 右键选择 show in Explorer选项 开打资
  • vue3.0 新的api属性

    vue3 0 只需要升级vuecli4 0以上的版本就可以选择性的安装了 获取路由对象 import useRouter from vue router const router useRouter router push 即可调用路由跳转
  • 【转载】国内主要的量化交易平台及链接

    Bigquant 掘金 优矿 万矿 聚宽 米筐 真格 镭矿 量化云 点宽等 附 网站网址 Bigquant https bigquant com 掘金 https www myquant cn 优矿 https uqer io v3 com
  • java基础 基本包装类 System Math Array BigInteger BigDecimal

    基本类型包装类 1 1 基本类型包装类概述 在实际程序使用中 程序界面上用户输入的数据都是以字符串类型进行存储的 而程序开发中 我们需要把字符串数据 根据需求转换成指定的基本数据类型 如年龄需要转换成int类型 考试成绩需要转换成doubl
  • 面试题 08.08. 有重复字符串的排列组合--回溯算法

    LeetCode 面试题 08 08 有重复字符串的排列组合 有重复字符串的排列组合 编写一种方法 计算某字符串的所有排列组合 示例1 输入 S qqe 输出 eqq qeq qqe 示例2 输入 S ab 输出 ab ba 解法 回溯法
  • 二分查找及二分答案

    一 二分思想 二分是一种常用且非常精妙的算法 常常是我们解答问题的突破口 二分的基本用途是在单调序列或单调函数中做查找操作 因此当问题的答案具有单调性时 就可以通过二分把求解转化为判定 根据复杂度理论 可知判定的难度小于求解 这使得二分的应
  • (优雅的使用)matlab脚本编程习题2

    matlab脚本编程习题2 输入一个四位整数 求出各位数字之和 如果该和能被3整除 输出 这个数可以被3整除 否则输出 这个数不可以被3整除 num input input the four digit integer n A zeros
  • C++解析xml(使用tinyxml)

    环境是vs2010 Windows 7 timyxml库我是在这里下载的 直接就能编译 编译后得到tinyxml lib 使用时当然也需要tinyxml h文件 如果不想编译 这里能下载我编译好的lib 顺便附赠h文件 我程序中解析的xml
  • 【计组】学习笔记1.1:8421码和ASCII码

    8421码 8421码即BCD码 由于人们习惯日常使用十进制数 而计算机处理时使用的是二进制数 而两种数制相互转换十分麻烦 因此产生了8421码映射关系 其映射运算例如 1001转化为十进制数9 1 8 0 4 0 2 0 1 8 0 0
  • python算法中的机器学习算法之半监督学习和强化学习(详解)

    目录 学习目标 学习内容 1 半监督学习 Semi Supervised Learning 基于图的半监督学习
  • 编码器计数原理与电机测速原理——多图解析

    编码器 是一种用来测量机械旋转或位移的传感器 它能够测量机械部件在旋转或直线运动时的位移位置或速度等信息 并将其转换成一系列电信号 编码器分类 按监测原理分类 光电编码器 光电编码器 是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或
  • 使用Pycharm,tensorflow1.13.1中的keras等库出现cannot find declaration to go to的问题

    使用Pycharm tensorflow1 13 1中的keras等库出现cannot find declaration to go to的问题 使用Pycharm编写python程序 import numpy os 使用ctrl 鼠标左键
  • python编译成c代码_cython编译Python为c语言

    第一种办法 执行命令 cython test py 结果 会在同一目录下面生成test c文件 执行命令 gcc c fPIC I usr include python2 7 test c 结果 在同一目录下面生成test o文件 执行命令
  • Windows下Apache Tomcat 8安装配置

    1 环境配置 1 安装好jar jdk文件包 jdk1 8 0 66与jre1 8 0 66 打开我的电脑 属性 高级 环境变量 新建系统变量JAVA HOME 和CLASSPATH 变量名 JAVA HOME 变量值 C Program
  • vue调用高德地图实现定位

    vue调用高德地图实现定位 第一步创建高德地图key 第二步 下载vue amap npm install vue amap save 第三步 在项目main js引入vue amap import AMap from vue amap V
  • RedmiBook pro15 2023款折腾笔记(7840HS)amd-pstat解决APU睿频问题

    这里记录一下RedmiBook pro15 2023款笔记本 7840HS 搭建ubuntu 22 04系统的记录 留给正好需要在这个笔记本上安装linux环境的童鞋参考一下 其他AMD的APU都是类似的 拿到机器过后安装ubuntu 22