本文系个人折腾笔记,如有转载,请注明出处。
——by realasking

2019-12-30:增加tpm、hdaudio、atheros无线网卡设置和读卡器错误的忽略和修正办法

2019-08-11:创建文章

软硬件环境

硬件配置

设备 型号
CPU AMD RyzenTM 5 PRO 2500U
GPU AMD RadeonTM Vega8
AMD RadeonTM RX540
Disks Acer VT500M M.2 NVMe SSD 256GB
Seagate ST2000LM007 SATA 2TB
RAM 20GB

软件环境

在SSD中已经预装有Win10系统,SSD和SATA硬盘均已采用GPT格式分区,除开efi和恢复分区外,两盘均只划分了一个分区,系统分区和efi分区在SSD上,efi分区大小为260MB

为了安装manjaro,将SSD系统分区压缩了50GB,分别分为8GB的Swap和42GB的/,然后将SATA压缩了80GB,分为/home。

BIOS设置中已经关闭了安全启动。

安装中遇到的问题和解决

用manjaro安装U盘或移动硬盘无法启动系统

现象:使用USB3.0的U盘或移动硬盘做的安装盘,开机时已经按了F12调出启动菜单并选择了对应选项,结果继续启动Windows

解决:换成USB2.0的U盘制作安装盘,然后插到右侧USB2.0的接口启动电脑进行安装

点击安装选项后黑屏失去响应

现象:点击manjaro安装盘启动时的grub菜单中的安装选项后黑屏失去响应

解决:光标移动到grub菜单的安装选项,按e键,然后在linux开头的行的末尾输入iommu=soft,再按Ctrl-x

安装时的分区设置

做法:

将efi分区挂载点设置为/boot/efi,分区设置为保留
将SSD上划分出的42GB空间挂载点设置为/,分区格式化ext4
将SATA上划分出的80GB空间挂载点设置为/home,分区格式化ext4

安装后启动黑屏无法进入系统

现象:安装好后,从grub启动,发生黑屏,无法进入系统

解决:在grub菜单的manjaro选项,按e键,然后在linux开头行的末尾输入ivrs_ioapic[32]=00:14.0,再按Ctrl-x。启动系统后,以root编辑/etc/default/grub,在GRUB_CMDLINE_LINUX_DEFAULT的变量的末尾添加ivrs_ioapic[32]=00:14.0,保存后执行:

sudo update-grub

安装后开机启动报acpi的背光错误

现象:启动时报如下错误:

[FAILED] Failed to start Load/Save Screen Backlight Brightness of backlight:acpi_video0
See 'systemctl status systemd-backlight@backlight:acpi_video0.service' for details.

解决:执行以下命令:

sudo systemctl mask systemd-backlight@backlight:acpi_video0.service

进入系统后重启电脑黑屏

现象:从linux中执行重启命令,黑屏,无响应

解决:以root编辑/etc/default/grub,在GRUB_CMDLINE_LINUX_DEFAULT的变量末尾添加reboot=efi,保存后执行:

sudo update-grub

解决办法更新:

之前的解决办法有时有效,有时又无效,有时还对影响Win10重启,经过折腾发现这个机器开启Secure Boot时重启才能正常。

双系统开启Secure Boot的操作可参考:https://blog.csdn.net/adebies/article/details/77783509
该文是一个完整的解决方案,只需要注意一下自己的系统中的文件路径的区别。

除此之外,目前尝试过能顺利重启动的几组GRUB_CMDLINE_LINUX_DEFAULT参数是:

#第一组
acpi_osi=Linux reboot=efi
#第二组
acpi_osi="Windows 2015" reboot=acpi
#第三组
acpi_osi="Windows 2015" reboot=efi

三组参数的区别不知道。

我的相关的软件版本是:
grub-fedora 2.03
BIOS 7WCN35WW
这可能对结果也有影响,未进一步测试。

运行一段时间后黑屏,xorg无响应

现象:电脑运行一段时间的需要3D渲染的程序后,黑屏,xorg无响应,但能切换到tty下,计算机响应速度仍然很慢,重启后在Xorg.0.log.old中提示Cannot allocate memory

解决:
安装linux 5.3内核:
单击启动器-系统设置-内核
找到linux5.3对应的行,点击安装,重启电脑
再执行

sudo pacman -S linux53-headers

amd可信平台模块不起作用

现象:
执行sudo dmesg -lerr中出现如下错误:

tpm_crb MSFT0101:00: can't request region for resource [mem 0x7e501000-0x7e504fff]

这是amd可信平台模块的firmware尚有问题,无法支持Linux系统,解决办法是屏蔽相关内核模块。
解决办法:
编辑/etc/modprobe.d/blacklist.conf,在其中添加:

blacklist tpm_crb

保存后重启。

amd高清音频播放模块无效

现象:
执行sudo dmesg -lerr中出现如下错误:

ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.GPP0.HDAU], AE_NOT_FOUND (20190816/dswload2-159)
snd_pci_acp3x 0000:05:00.5: Invalid ACP audio mode : 1

这不知道是联想还是AMDBIOS问题,还是Linux对相关功能的支持问题,目前也只能屏蔽相关内核模块,这样可以消除第二条错误信息。
解决办法:
编辑/etc/modprobe.d/blacklist.conf,在其中添加:

blacklist snd_pci_acp3x

保存后重启。

一些场合下无线网卡断网

现象:
有些情况下,机器内置的atheros无线网卡虽然显示仍连接,但没有网速,也打不开网页,需要手工重连才能使用,而其它电脑却一直正常。

解决办法:
编辑/etc/modprobe.d/atheros.conf,在其中添加:

options ath10k_pci swenc=1 msi=1 ips=0 fwlps=0 swlps=0

保存后重启。

还有另一种解决办法(未验证):
编辑/etc/modprobe.d/blacklist.conf,在其中添加:

blacklist ideapad_laptop

保存后重启。

后一种办法可能影响键盘或触摸板,具有一定风险性。

BIOS的bug导致读卡器无法卸载

现象:
读卡器插入SD卡后能自动挂载,但点击安全删除后又被自动挂载,从而无法卸载
这个问题有人认为和ivrs表错误有关,属于固件bug,也有人声称在thinkpad的电脑上遇到了类似问题,并且用类似前面修复黑屏故障的办法修复,但我在这台电脑上用设置ivrs表参数的办法没有能解决这个问题,不过改变KDE的设置能一定程度上避开它。
具体做法是:
系统设置-可移动存储-移动设备下去除勾选启动移动媒体的自动挂载
这样操作后,插入移动硬盘将不会再自动挂载,不过在托盘指示器和dolphin中仍然可以直接点击移动硬盘进行挂载和安全删除操作,并不会带来太多的不便。

运行ovito渲染时卡死/需要使用opencl 2.0

现象:

  1. 电脑运行ovito 2.9渲染视频文件时,系统卡死,重启后Xorg.0.log.old中没有报错或仍然提示Cannot allocate memory
  2. 需要使用opencl 2.0的一些功能

解决:
安装闭源驱动:

yaourt -S amdgpu-pro-core-meta

然后重启计算机
注意,本机型不需要在/etc/mkinitcpio.conf中添加更多的关于显卡的模块。

下载ovito错误

现象: 用chromium下载ovito,提示完成,但解压总是报如下错误:

tar: Child returned status 2
tar: Error is not recoverable: exiting now

解决:使用firefox下载就好了

用ovito 3.0.0渲染视频文件报错

现象:用新版ovito渲染视频文件直接报错

解决:从aur安装ovito-opt,这是2.9.0的版本,需要修改一下PKGBUID,自己先将ovito 2.9的软件包下载好。

没有bootsplash

现象:manjaro开机没有bootsplash

解决:

  1. 安装相关包
    sudo pacman -S bootsplash-systemd bootsplash-theme-amd
  2. 配置grub
    /etc/default/grub文件的GRUB_CMDLINE_LINUX_DEFAULT变量末尾添加bootsplash.bootfile=bootsplash-themes/amd/bootsplash
    并修改如下行:
    GRUB_GFXMODE=1400x900,1280x960,1368x768,1280x1024,1024x768,auto

    为:
    GRUB_GFXMODE=1920x1080

    然后执行:
    sudo update-bash
  3. 配置内核hook
    编辑/etc/mkinitcpip.conf,修改:
    HOOKS="base udev autodetect modconf block keyboard keymap resume filesystems"

    为:
    HOOKS="base udev autodetect modconf bootsplash-amd block keyboard keymap resume filesystems"

    然后执行:
    sudo mkinitcpio -p linux53

鼠标中键粘贴用不了

现象:选中文字后按鼠标中键无反应;执行xev,发现按中键没有响应,并没有出现button 2的键值。

解决:

  1. 启用模拟三键设置
    建立~/bin/mouseset.sh,并加执行权限,内容如下:
    #!/bin/bash
    #Enable Middle Emulation
    # by realasking
    idm=`xinput |grep "Telink 2.4G Mouse"|grep -v "Control"|head -n 1|cut -d"=" -f2|awk '{print $1}'`
    xinput set-prop ${idm} "libinput Middle Emulation Enabled" 1
  2. 加入开机启动
    系统设置-开机和关机-自动启动中添加脚本文件,选择刚才那个文件,运行于启动即可
  3. 剪切板内容上单击右键,点击配置剪切板,点选同步剪切板和选中内容,然后确定
  4. 注销后重新登录

Emacs启动为服务

执行:

systemctl enable --user emacs
systemctl start --user emacs