1 - AMD显卡驱动安装

介绍Linux Mint下AMD显卡的驱动安装

最新显卡

以 amd rx6800xt为例,AMD 的 linux 驱动非常更新及时,可以很好的支持最新的显卡。

在amd官方的支持页面

https://www.amd.com/en/support

选择 “Graphics” –> “AMD Redeon 6000 Series” 一路选择型号,然后点击"提交"。在结果中选择 “Ubuntu x86 64-Bit”:

Radeon™ Software for Linux® installer version 21.40.1 for Ubuntu 20.04.3

和以前的二进制安装文件不同,新版本的下载页面现在下载的只是一个驱动安装软件(installer),而不是驱动本身。

sudo apt install linux-image-5.4.0-94-generic linux-headers-5.4.0-94-generic linux-modules-extra-5.4.0-94-generic

下载得到 amdgpu-install_21.40.1.40501-1_all.deb ,安装方式:

sudo apt-get install ./amdgpu-install_21.40.1.40501-1_all.deb

之后,执行

sudo amdgpu-install --opencl=rocr --vulkan=amdvlk -y --accept-eula

开始安装,下载速度超级慢。

参考:https://amdgpu-install.readthedocs.io/en/latest/install-script.html#script-types

老显卡

以 amd r5 240 1G 为例,这样的十年前的老显卡已经找到不到最新 ubuntu release 的驱动了。比如这个卡的最新版本也只是2015年的,只支持到 ubuntu 15.12。

不过,linux mint 自带了这些老显卡的驱动,虽不清楚这些驱动的版本和能力,但考虑到本来就是作为良机卡,足够了。

注意:千万不要用上面的最新显卡驱动进行安装!

问题:安装过程会顺利完成,重启之后不仅仅新驱动无法启用,连原来自带的驱动也无法使用。

解决方式:通过上面的安装包,执行 sudo ./amdgpu-uninstall 卸载最新驱动,重启之后恢复自带驱动。

2 - Nvidia显卡驱动安装

介绍Linux Mint下Nvidia显卡的驱动安装

正常安装

“开始菜单” -> “系统管理” -> “驱动管理器”,

Linux Mint 会先做一次系统更新检查,然后给出可以安装的驱动列表。

只要简单选择需要的驱动版本,然后安装即可,如下图:

特殊情况

无法打开系统设置界面

有时会遇到无法打开系统设置界面的情况,导致无法进入设备管理器。

此时,可以在桌面右键,打开终端,然后执行 /usr/bin/cinnamon-settings 命令,即可打开设置界面。

无法进入图形界面

某一次更换显卡时,从adm rx580显卡换到nvidia 3070显卡,遇到无法显示图形界面的情况,黑色屏幕上只有左上角有一个光标一闪一闪。而且网络也莫名其妙的不通,无法ssh。

补充: 遇到第二次类似情况,cpu是 intel 13900hk 自带intel 集成显卡,安装 linux mint 后正常使用。后面接上 nvidia 的 4080 显卡之后,就出现同样问题。

解决方法:

  1. 解决无法ssh的问题:按 ctr+alt+F 可以显示出 terminal 界面,输入用户名/密码就可以登录。期间如果再次黑屏,可以继续 按 ctr+alt+F 。登录之后,网络也就通了。

  2. 安装 nvidia 显卡驱动

    sudo apt update
    sudo apt-cache search nvidia-driver
    sudo apt install nvidia-driver-545 # 这里选择合适的驱动版本,比如
    

    安装完成之后重启即可,正常显示图形界面。

参考资料:

3 - Linux Mint下挂载Windows盘符

介绍Linux Mint下挂载Windows盘符的方式

安装linux、windows双操作系统时,可以在linux下直接挂载windows的盘符,这样可以访问windows下的文件系统,非常方便。

新版本的ubuntu16.04、Linux mint 18都已经内置了ntfs的支持,只需要简单挂载就好。最方便的方式是在开机时自动挂载。

只读挂载

如果只是要求读取文件,不要求写入,则非常简单。开机自动执行 udisksctl 命令即可解决问题。

设置开机自动挂载

在开机自启动程序中,增加一个开机启动项,命令为:

udisksctl mount -p block_devices/nvme0n1p4

解决无法装载的问题

如果windows在关机时进行了休眠,则无法装载,报错如下:

Error mounting /dev/nvme0n1p4 at /media/sky/win10: Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000" "/dev/nvme0n1p4" "/media/sky/win10"' exited with non-zero exit status 14: Windows is hibernated, refused to mount.
Failed to mount '/dev/nvme0n1p4': 不允许的操作
The NTFS partition is in an unsafe state. Please resume and shutdown
Windows fully (no hibernation or fast restarting), or mount the volume
read-only with the 'ro' mount option.

解决这个问题的最好方式是消除休眠状态。一般重新启动到windows下,然后再次重启进linux,就OK。

前提是已经关闭了windows的快速启动功能,不然还会继续报同样错误。关闭快速启动的办法是进入windows,在控制面板 -> 电源管理中,选择关闭盖子的功能,点击"不能更改的选项",去掉快速启动的勾选。

但偶尔还是会遇到即使上面的事情都做好了,依然还是继续报错说"Windows is hibernated"。

此时需要想办法删除windows盘符上的休眠文件hiberfil.sys,具体作法是在linux中执行命令:

sudo mkdir /media/sky/win10
sudo ntfs-3g -o remove_hiberfile /dev/nvme0n1p4 /media/sky/win10

最恶劣的情况是,windows在即使关闭快速启动功能的情况下也还是会继续生成休眠文件,非常不可理喻。解决的方式是彻底关闭windows的休眠功能。以管理员权限启动命令行,执行命令:

powercfg /h off

参考资料

读写挂载

如果要求有写入权限,则推荐直接修改 /etc/fstab 文件。

执行

sudo lsblk -f

来查看各个盘符的 uuid:


NAME        FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
nvme0n1
├─nvme0n1p1 vfat   FAT32       EC63-8FDF                              26.6M    72% /boot/efi
├─nvme0n1p2
├─nvme0n1p3 ntfs               1E1E79121E78E465
├─nvme0n1p4 ntfs               CA5096F75096E989
└─nvme0n1p5 ntfs         data  3AA6AC66A6AC247B                      595.4G    30% /media/sky/data
nvme1n1
├─nvme1n1p1 vfat   FAT32       8F75-FED5
├─nvme1n1p2 ext4   1.0         82e1f69a-06ff-42f6-972a-3bdf635b62fe  825.9G     3% /
└─nvme1n1p3 ext4   1.0         1730d77d-e91c-43ad-a883-c652c99541ae

这里我要自动挂载的是 nvme0n1p5 / uuid=3AA6AC66A6AC247B 的这个磁盘。系统之前临时把它挂载在了 /media/sky/data。为了开机自动挂载,需要确保这个目录始终存在:

sudo mkdir -p /media/sky/data

sudo vi /etc/fstab

加入内容:

UUID=3AA6AC66A6AC247B  /media/sky/data  ntfs-3g  defaults,nofail,uid=1000,gid=1000,dmask=022,fmask=133  0  0

参数解释:

  • UUID=…:你的磁盘唯一标识符。
  • /media/sky/data:挂载的目标目录。
  • ntfs-3g:Linux 下可靠的 NTFS 读写驱动(也可以写成 ntfs 或 ntfs3)。
  • defaults:使用默认的挂载设置。
  • nofail:非常重要。如果这个磁盘损坏或被拔出,系统依然会正常开机,而不会卡在黑屏报错界面。
  • uid=1000,gid=1000:将磁盘的所有权交给当前的用户(假设你的账号 uid 是 1000),确保有最高读写权限。
  • dmask=022,fmask=133:合理的权限掩码,让文件夹权限为 755,文件权限为 644,避免所有文件都被当成可执行文件(在终端里全显示为绿色)。
  • 0 0:不进行 dump 备份,开机不强制进行磁盘检查(NTFS 磁盘由 Windows 负责修复最好)。

重启之前,验证一下,先 umount。

sudo umount /media/sky/data
sudo systemctl daemon-reload
sudo mount -a

如果遇到报错:

The disk contains an unclean file system (0, 0).
Metadata kept in Windows cache, refused to mount.
Falling back to read-only mount because the NTFS partition is in an
unsafe state. Please resume and shutdown Windows fully (no hibernation
or fast restarting.)
Could not mount read-write, trying read-only
ntfs-3g-mount: failed to access mountpoint /media/sky/data: No such file or directory
mount: (hint) your fstab has been modified, but systemd still uses
the old version; use 'systemctl daemon-reload' to reload.

这表示 NTFS 磁盘被 Windows 锁定(导致只能只读),报错信息: The disk contains an unclean file system… Metadata kept in Windows cache, refused to mount.

原因: Windows 快速启动 (Fast Startup) 或休眠功能引起的。Windows 并没有真正的“彻底关机”,而是把磁盘缓存状态挂起冻结了。Linux 为了防止损坏数据,拒绝以“读写”模式强行挂载。

4 - 安装Epson L4160打印机

Ubuntu下安装配置Epson L4160打印机

打印机驱动

本地usb连接

本地安装,用usb线连接Epson L4160打印机。

先下载linux驱动:

  1. https://epson.com/Support/wa00821

  2. drivers ,输入产品型号 L4160

  3. 下载 ESC / P-R Driver (generic driver) / Epson Printer Utility / All-in-one package,注意选择x64版本的deb

  4. 安装下载好的deb

再在系统中选择打印机,然后添加打印机,此时会自动识别出 EPSON-L4160-Series,添加即可。

wifi连接

断开usb,删除本地打印机。

在打印机上设置好wifi之后,再打开设置中的打印机,发现已经自动识别了,貌似不需要设置。

5 - [归档]启动时进行fsck硬盘检查

介绍Linux Mint下进行fsck硬盘检查的方式

归档说明:最近几年再没遇到硬盘坏的情况

如果遇到硬盘故障,linux mint 会在发生错误时,将系统所在盘符 mount 为 ro 只读,导致重启时无法进入操作系统。

这样开机只能进入内存虚拟的一个命令行界面,此时可以使用 fsck 命令扫描磁盘分区并尝试修复磁盘错误。

执行命令:

fsck -a /dev/sda*

如果无法自动修复问题,会要求手工修复,需要执行:

fsck /dev/sda*

然后一路确认即可。

6 - [归档]Intel显卡驱动安装

介绍Linux Mint下Intel显卡的驱动安装

归档说明:最近没有用Intel集成显卡

备注:这是Linux Mint 18下的内容,Linux Mint 19尚未更新,按说19的内核版本已经是4.15了,应该不会有这些问题。

虽说 linux mint 默认自带了 intel 集成显卡驱动,不过从实际使用情况看,这个驱动在节能方面表现应该不好。对比 windows 系统,在发热和续航时间上差距明显。

一般的intel集成显卡,可以采用常规方式,使用intel graphics update tool进行驱动安装。对于新一点的硬件,比如7代和8代cpu集成的hd 630等intel显卡的安装则更复杂一些。

备注: 验证过8代cpu i7 8700带的HD 630显卡(代号i915)必须通过第二种方式安装,intel graphics update tool完全无效。

常规方式:使用intel graphics update tool

官方会指向下面的开源社区网站,支持 ubuntu 16.04 的最新驱动是 v2.0.2 :

https://01.org/zh/linuxgraphics/downloads/intel-graphics-update-tool-linux-os-v2.0.2

下载64位版本 intel-graphics-update-tool_2.0.2_amd64.deb

注:这个网站最近报错无法访问。

或者从这里下载:

https://download.01.org/gfx/ubuntu/16.04/main/pool/main/i/intel-graphics-update-tool/

安装intel graphics update tool

linux mint 在安装 intel 更新工具时,需要修改发行版本的信息,否者会无法安装。参考下文:

https://unix.stackexchange.com/questions/315049/cannot-install-intel-graphics-driver-on-linux-mint-18

修改修改 /etc/lsb-release 文件,将 linuxmint 信息修改回 ubuntu:

#DISTRIB_ID=LinuxMint
#DISTRIB_RELEASE=18
#DISTRIB_CODENAME=sarah
#DISTRIB_DESCRIPTION="Linux Mint 18 Sarah"
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04 LTS"

保存后退出。然后更新。

sudo apt-get update

然后继续安装。安装完成之后再将 /etc/lsb-release 文件恢复:

DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=18
DISTRIB_CODENAME=sarah
DISTRIB_DESCRIPTION="Linux Mint 18 Sarah"
#DISTRIB_ID=Ubuntu
#DISTRIB_RELEASE=16.04
#DISTRIB_CODENAME=xenial
#DISTRIB_DESCRIPTION="Ubuntu 16.04 LTS"

更新系统

wget --no-check-certificate https://download.01.org/gfx/RPM-GPG-KEY-ilg-4 -O - | sudo apt-key add -
sudo apt update && sudo apt full-upgrade

安装驱动

在应用中找到 intel update tool,开始安装。

备注:如果遇到网络问题,尝试翻墙

开源

以下以Linux Mint 18.3为例,安装intel 8代CPU i7 8700自带的intel hd 630显卡驱动。步骤如下:

  1. 安装操作系统之后,进入桌面系统提示当前处于软件渲染,性能不好,cpu占用高。然后会发现显卡驱动没有安装,屏幕分辨率无法设置。

  2. 首先,更新系统,通过更新管理器,将可以更新的内容都更新下来,包括linux kernel

  3. 特别注意linux kernel的选择

    • Linux mint 18.3默认带的linux内核是4.10,这个内核是无法支持hd 630的,必须更新。

    • 用更新管理器更新下来的内核是linux 4.13.38,这个是ubuntu 17.10版本使用的内核,比较稳定。

    • 用更新管理器列出可选内核时,还会看到非常新的4.15内核。这个内核验证过,如果没有更新intel显卡驱动就直接安装,会在启动时黑屏无法使用。在用下面的方式安装好驱动之后,可以正常工作。不过4.15内核实在太新,为了避免麻烦,还是建议选择比较稳定的4.13.38内核。

  4. 重启机器,此时使用的内核版本是4.13.38

  5. 添加ppa仓库

    sudo add-apt-repository ppa:oibaf/graphics-drivers
    sudo apt-get update
    
  6. 再次使用更新管理器,此时刷新后会看到有新的可更新内容:

    选择全部进行安装。

  7. 设置Grub参数,增加"i915.alpha_support=1"

    设置的方式有两种,可以手工通过命令行设置:

    打开/etc/default/grub, 找到GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"这行,修改为GRUB_CMDLINE_LINUX_DEFAULT="i915.alpha_support=1 quiet splash", 保存。然后执行sudo update-grub命令让参数生效。

    也可以通过Grub Customizer这个图形工具来设置:

    首先安装grub-customizer:

    sudo add-apt-repository ppa:danielrichter2007/grub-customizer
    sudo apt update
    sudo apt install grub-customizer
    

    然后启动grub customizer,在General tab下,找到Kernel Parameters,加入i915.alpha_support=1,保存即可。

  8. 重新启动,此时显卡驱动就应该安装完成可以使用了。

备注

从安装的过程看,这个方式应该也可以用来安装amd和ati显卡驱动,后续有机会再试试。

从简单好用来说,linux下使用nvidia显卡是最省事省心的方案。