我的2018款魔法书锐龙版对linux的兼容性极差。

  1. deepin v15(注:2018款魔法书均预装windows,2019才有deepin pro)直接调不了背光。
  2. opensuse tumbleweed运行中卡死,只能强制重启。
  3. ubuntu同上。
  4. kde neon、kubuntu、manjaro、archlinux同上。

  最近才在华为论坛上找到办法,作者则是在archwiki上看到的。不过作者打字水平不太好,文内有多处错误,我搞了之后大致如下:
/etc/mkinitcpio.conf

……
MODULES=(amdgpu radeon)
……

  据wiki说在modules里面按顺序填上amdgpu radeon即可解决。不过在此之前我按华为论坛上作者的办法(只填amdgpu)问题依旧。我如此修改以后问题出现的频率有所减少,但依旧存在。
  同时,通过经验我还发现,电脑卡死的现象与过热存在一定的相关性。因此,我安装了tlp和tlpui-git(为tlp开发的一个GUI),并将各项设置调为“优先节能(power)”,目前过热的现象大大减少,卡死的现象暂未出现。(在此以后卡死现象依旧存在——5.16修订)
  不过我觉得大概还是治标不治本。这篇文章会经常更新。

修订于2020年5月15日

  经过多方查找如bugzillamanjaro forum,我决定:

  • 修改内核参数

/etc/default/grub

……
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ……"
改为“noacpi nosplash idle=nomwait irqpoll ……”
……

然后sudo grub-mkconfig -o /boot/grub/grub.cfg

  • 禁用C6状态
$ yay zenstates-git
# vim /etc/modules-load.d/modules.conf(可能是新文件)加入如下单词:“msr”。
# vim /etc/systemd/system/disable_c6.service (新文件)

内容如下:

[Unit]
Description=Ryzen Disable C6
DefaultDependencies=no
After=sysinit.target local-fs.target
Before=basic.target

[Service]
Type=oneshot
ExecStart=/usr/bin/zenstates --c6-disable

[Install]
WantedBy=basic.target

  然后

# systemctl enable disable_c6.service

  最后重启。
  这是我病急乱投医综合三四个回答的结果。修改后,目前暂时一切正常。

修订于2020年5月16日

  然而并没有。
  于是我把kde的混成器设置从OpenGL3.1改成了2.0,现在暂时没事了。
  然后还有吧友提供了另一个方案
  (/etc/default/grub):

acpi_osi=\"Windows 2015\" reboot=kbd ivrs_ioapic[32]=00:14.0 amd_iommu=on idle=nomwait amdgpu.vm_fragment_size=9 initrd=/boot/amd-ucode.img

  然后sudo grub-mkconfig -o /boot/grub/grub.cfg

修订于2020年5月26日

  然而还是有问题!!!!!!!

  然后我又找到了一个内核参数,使用方法同上,加入 /etc/default/grub里然后 grub-mkconfig -o /boot/grub/grub.cfg吧:

amdgpu.noretry=0

修订于 2020 年 5 月 27 日

  目前问题再未复现。可认为已经得到彻底解决。加上笔记本即将卖出,本文宣布完结。
  几个关键点:

  1. 设置 idle=nomwait 或禁用 C6 。
  2. 将混成器由 OpenGL3.1 改为 2.0。

修订于 2020 年 6 月 12 日

评论

未注册者输入用户名和密码登录即相当于注册,之后以同一用户名和密码登录可以编辑自己之前的评论。留邮箱可接收回复通知。支持全匿名评论。