美文网首页文章收藏
Arch Linux安装+KDE桌面+双显卡驱动一站式解决方案

Arch Linux安装+KDE桌面+双显卡驱动一站式解决方案

作者: fulgens | 来源:发表于2019-06-06 16:03 被阅读0次

    Arch Linux简介

    A simple, lightweight distribution

    官网https://www.archlinux.org/
    维基百科https://zh.wikipedia.org/wiki/Arch_Linux

    Arch Linux安装

    Arch Linux安装有一定难度,不想倒腾命令的话也可以直接选择manjaro,使用图形化界面进行安装,且manjaro提供了mhwd驱动程序管理器可以方便的安装驱动,另外说一下Arch Wiki是个好东西,内容丰富文档详尽。

    安装前的准备

    下载并校验安装镜像

    安装文件和它的 GnuPG 签名可以从下载页面获取。

    在一台已经安装 GnuPG 的系统上,通过下载 PGP 签名 (under Checksums) 到 ISO 文件所在的路径,可以通过以下方式验证

    # gpg --keyserver pgp.mit.edu --keyserver-options auto-key-retrieve --verify archlinux-version-x86_64.iso.sig
    

    另外,在一台已经安装 Arch Linux 的计算机上可以通过以下方式验证:

    # pacman-key -v archlinux-version-x86_64.iso.sig
    

    刻录u盘

    这一步有很多选择可以使用Ultra ISO、etcher等工具进行刻录制作启动盘,具体使用可百度这里就不赘述了。

    下面说一下Linux下使用命令进行u盘刻录:
    查看u盘

    # sudo fdisk -l
    

    使用dd命令进行刻录

    # dd bs=4M if=/path/to/archlinux.iso of=/dev/sdb status=progress oflag=sync
    

    其中,/path/to/archlinux.iso为arch镜像路径,/dev/sdb为上一步中查看的u盘分区,使用oflag来控制输出(写入数据)时的行为特征,确保命令结束时数据及元数据真正写入磁盘 而不是刚写入缓存就返回,status=LEVEL用来控制dd程序的输出信息的,LEVEL有三个选项“none”,“noxfer”和“progress”,默认是“progress”,“none”的意思是不输出任何相关信息,除非出错信息,“noxfer”不会输出最后的统计信息,而“progress”会输出所有信息。

    开始安装

    开机进入bios关闭Secure Boot并设置UEFI启动为u盘启动。

    验证启动模式

    如果以在 UEFI 主板上启用 UEFI 模式,Archiso 将会使用 systemd-boot启动 Arch Linux。可以列出 efivars 目录以验证启动模式:

    # ls /sys/firmware/efi/efivars
    

    网络连接

    执行:

    # wifi-menu
    

    选择wifi进行联网,或直接网线连接,如果没有连接可以尝试:

    # systemctl enable dhcpcd
    # systemctl start dhcpcd
    

    ping 检查网络连接:

    # ping www.baidu.com
    

    更新系统时间

    使用 timedatectl(1) 确保系统时间是准确的:

    # timedatectl set-ntp true
    

    使用 timedatectl status 检查服务状态。

    切换国内源

    # vim /etc/pacman.d/mirrorlist
    

    输入/ChinaEnter进行搜索找到中科大USTC的源按2dd剪切后按gg回到文件头部再将光标向下移动在列表头部按p黏贴科大源后保存退出即可

    分区

    使用 lsblk 或者 fdisk 查看分区:

    # lsblk
    

    可以看到硬盘设备,可能为/dev/sda/dev/nvme01之类的,具体视自己设备而定。

    # parted /dev/sdx # sdx为目标磁盘
    

    以下是交互过程:

    (parted) mktable
    New disk label type? gpt
    (parted) quit
    

    开始分区之前,这里贴一下wiki中的分区示例:

    BIOS 和 MBR
    挂载点 分区 分区类型 建议大小
    /mnt /dev/sd*X*1 Linux 剩余空间
    [SWAP] /dev/sd*X*2 Linux swap (交换空间) 大于 512 MiB
    UEFI with GPT
    挂载点 分区 分区类型 建议大小
    /mnt/boot or /mnt/efi /dev/sd*X*1 EFI 系统分区 256–512 MiB
    /mnt /dev/sd*X*2 Linux x86-64 根目录 (/) 剩余空间
    [SWAP] /dev/sd*X*3 Linux swap (交换空间) 大于 512 MiB

    这里我的分区方案是EFI分区512M、交换空间8G、根目录剩余空间
    使用cfdisk命令执行分区

    # cfdisk /dev/sdx # sdx 为目标磁盘
    

    新建分区:
    [↑]/[↓](方向键)选中 Free space(空闲空间)
    [←]/[→](方向键)选中 New 新建分区
    [←]/[→](方向键)选中 Type 选择分区类型(默认为 Linux filesystem;对于 EFI 系统分区选择 EFI System)
    输入分区大小(默认单位为字节,可以加上后缀K、M、G),[回车键] 确认
    写入分区表:
    [←]/[→](方向键)选中 Write
    输入 yes [回车] 确定写入

    格式化分区

    首先使用 lsblkfdisk -l 确定目标磁盘及目标分区。

    # mkfs.fat  /dev/sdax      # 格式化EFI分区
    # mkfs.ext4 /dev/sdax    # 格式化根分区
    # mkswap /dev/sdax      # 格式化交换分区
    # swapon /dev/sdax       # 打开swap分区
    

    挂载分区

    注意:是有顺序的需要先挂载根分区

    # mount /dev/sdax /mnt  # 将根分区挂载到/mnt
    # mkdir /mnt/boot
    # mkdir /mnt/boot/EFI
    # mount /dev/sdax /mnt/boot/EFI  # 将EFI分区挂载到/mnt/boot/EFI 
    

    安装基本系统

    # pacstrap /mnt base  # 基础包
    # pacstrap /mnt base-devel # 基础开发包
    

    配置系统

    生成分区表

    # genfstab -U /mnt >> /mnt/etc/fstab
    

    检查生成的 /mnt/etc/fstab 文件是否正确

    # cat /mnt/etc/fstab
    

    切换到新系统

    # arch-chroot /mnt
    

    时区

    # ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    

    硬件时间设定

    # hwclock --systohc --utc
    

    本地化

    本地化的程序与库若要本地化文本,都依赖 Locale,后者明确规定地域、货币、时区日期的格式、字符排列方式和其他本地化标准等等。在下面两个文件设置:locale.genlocale.conf

    /etc/locale.gen 是一个仅包含注释文档的文本文件。指定您需要的本地化类型,只需移除对应行前面的注释符号()即可,建议选择带 UTF-8 的项:

    # pacman -S vim
    # vim /etc/locale.gen
    en_US.UTF-8 UTF-8
    zh_CN.UTF-8 UTF-8
    

    接着执行 locale-gen 以生成 locale 讯息:

    # locale-gen
    

    创建 locale.conf 并编辑:

    /etc/locale.conf
    LANG=zh_CN.UTF-8
    LANG=en_US.UTF-8
    

    网络

    创建 hostname 文件:

    /etc/hostname
    myhostname
    

    添加对应的信息到 hosts:

    /etc/hosts
    127.0.0.1   localhost
    ::1     localhost
    127.0.1.1   myhostname.localdomain  myhostname
    

    无线网络连接

    pacman -S iw wpa_supplicant dialog
    

    有线网络连接

    # systemctl start dhcpcd
    # systemctl enable dhcpcd
    

    root密码

    # passwd root
    

    安装微码

    pacman -S intel-ucode
    

    安装引导程序

    # pacman -S grub efibootmgr
    # grub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=grub
    # grub-mkconfig -o /boot/grub/grub.cfg
    

    重启

    # exit # 退回安装环境
    # umount -R /mnt # 卸载新分区
    # reboot # 重启
    

    至此arch已安装完毕

    参考
    Installation guide (简体中文)
    【真机2019】超详细手把手最新版ArchLinux安装教程
    Arch Linux 2019版 安装参考文档
    ArchLinux安装图文教程

    KDE桌面环境安装

    配置国内源

    # vim /etc/pacman.conf
    

    在文档末尾添加

    [multilib]
    Include = /etc/pacman.d/mirrorlist
    [archlinuxcn]
    Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
    

    更新软件仓库

    # pacman -Sy
    

    安装 archlinuxcn-keyring 包以导入 GPG key

    pacman -S archlinuxcn-keyring
    

    硬件接口服务

    # pacman -S xorg xorg-server
    

    核显驱动

    查看显卡型号

    # spci | grep -e VGA -e 3D
    

    安装核显驱动

    # pacman -S xf86-video-intel # intel
    # pacman -S xf86-video-ati # amd
    

    输入设备

    # pacman -S xf86-input-libinput
    

    触摸板驱动

    # pacman -S xf86-input-synaptics
    

    安装显示管理器

    KDE推荐使用SDDM作为显示管理器

    # pacman -S sddm sddm-kcm
    # systemctl enable sddm # 设置SDDM自启动否则无法启动桌面
    

    安装kde桌面

    # pacman -S plasma kdebase
    

    kdebase包括 dolphinkate kdialogkeditbookmarkskfindkhelpcenterkonquerorkonsolekwrite,还可以安装kde-applications其包含的软件更多

    中文字体

    安装KDE桌面后实际已安装上Google的noto字体,当然也可选择文泉驿或思源黑体

    sudo pacman -S wqy-microhei wqy-microhei-lite wqy-bitmapfont wqy-zenhei ttf-arphic-ukai ttf-arphic-uming adobe-source-han-sans-cn-fonts adobe-source-han-serif-cn-fonts 
    

    安装声音软件包

    pacman -S alsa-utils pulseaudio pulseaudio-alsa
    

    添加非root用户

    KDE桌面环境需要非root用户才能登录

    # useradd -m -g users -G wheel -s /bin/bash archuser
    # passwd archuser
    

    使用visudo命令,找到%wheel,并将注释放开

    # visudo
    

    安装中文输入法

    pacman -S fcitx fcitx-rime fcitx-im fcitx-configtool fcitx-sogoupinyin
    

    配置输入法

    # vim /home/<username>/.xprofile
    
    export LANG=zh_CN.UTF-8
    export LC_ALL=zh_CN.UTF-8
    export GTK_IM_MODULE=fcitx
    export QT_IM_MODULE=fcitx
    export XMODIFIERS=@im=fcitx
    

    安装网络工具

    # pacman -S  net-tools networkmanager
    # systemctl enable NetworkManager
    

    grub2主题

    https://github.com/Se7endAY/grub2-theme-vimix

    # yaourt -S  grub2-theme-vimix-git
    

    安装完毕修改/etc/default/grub文件

    GRUB_THEME="/boot/grub/themes/Vimix/theme.txt"
    

    更新grub

    # grub-mkconfig -o /boot/grub/grub.cfg
    

    不出意外重启后即可使用kde

    参考
    Arch Linux 桌面系统安装(KDE Plasma5)
    KDE (简体中文)
    Xorg (简体中文)

    KDE桌面美化

    KDE桌面支持高度自定义,具体美化可参考
    https://www.youtube.com/watch?v=uyz4-KZOzyI

    Nvidia独显驱动

    独显安装

    查看Nvidia独显型号

    # lspci -k | grep -A 2 -E "(VGA|3D)"
    

    安装合适的驱动

    # sudo pacman -S nvidia
    

    这里需要根据显卡型号选择合适的驱动具体看wiki

    安装nvidia驱动后默认会生成/etc/X11/xorg.conf配置文件,如没有生成则执行以下命令:

    # sudo nvidia-xconfig
    

    最小配置如下:
    注意PCI 地址是提到 NVIDIA 的输出行的前7个字符,看起来像 01:00.0. 在 xorg.conf 中,需转换为 #:#:# 格式;例如 01:00.0 应该写成 1:0:0.

    Section "Module"
        Load "modesetting"
    EndSection
    
    Section "Device"
        Identifier "nvidia"
        Driver "nvidia"
        BusID "<BusID for NVIDIA device here>"  修改相应的busID
        Option "AllowEmptyInitialConfiguration"
    EndSection
    

    sddm配置

    # sudo vim /usr/share/sddm/scripts/Xsetup
    xrandr --setprovideroutputsource modesetting NVIDIA-0
    xrandr --auto
    

    重新启动

    解决屏幕撕裂

    • 在内核选项中添加参数
    # sudo vim /etc/default/grub
    GRUB_CMDLINE_LINUX_DEFAULT="nvidia-drm.modeset=1"
    
    • 编辑/etc/mkinitcpio.conf
    MODULES=(nouveau nvidia nvidia_modeset nvidia_uvm nvidia_drm)
    
    • 运行下面mkinit命令
    # sudo mkinitcpio -p linux
    

    查看N卡是否正常运作

    # nvidia-smi
    

    参考
    NVIDIA
    NVIDIA_Optimus
    (详细)安装nvidia闭源驱动并且正确配置,arch linux + lightdm + deepin desktop

    使用大黄蜂bumblebee

    以上的配置完成后独显会持续运作虽性能较好但耗电很快风扇也会转个不停,由于Nvidia在Linux平台未提供类似Windows上擎天柱那样的双显交火技术,因此这里转而使开源的bumblebee,需要用到独显时再开启独显。

    安装

    # sudo pacman -S bumblebee mesa xf86_vidoe_intel lib32-virtualgl lib32-nvidia-utils
    

    要使用Bumblebee,必须将常规用户添加到bumblebee组中:

    # sudo gpasswd -a user bumblebee
    

    启用bumblebeed.service服务

    # sudo systemctl enable bumblebeed.service
    

    配置

    • 去除独显配置
    # sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
    
    • 去除sddm配置
    # sudo vim /usr/share/sddm/scripts/Xsetup
    

    注释掉下面两行

    # xrandr --setprovideroutputsource modesetting NVIDIA-0
    # xrandr --auto
    

    这时重启后可能发现独显还是持续运行,这里还需要安装bbswitch

    # pacman -S bbswitch
    

    重启后使用lspci查看显卡状态若为rev ff则为集显驱动,若要使用独显则使用以下命令:

    # optirun application
    

    打开NVIDIA Settings面板命令稍多一些:

    # optirun -b none nvidia-settings -c:8
    

    但每次打开需要独显支持的应用还得加上optirun很是麻烦,我们可以在/usr/share/applications目录下编辑应用图标在EXEC后加上optirun,这样以后每次使用图形界面打开应用时就会使用独显了。

    显卡性能测试

    安装了mesa后可以使用optirun glxgears -info命令查看独显性能

    参考Bumblebee

    相关文章

      网友评论

        本文标题:Arch Linux安装+KDE桌面+双显卡驱动一站式解决方案

        本文链接:https://www.haomeiwen.com/subject/jtwhxctx.html