华硕ROG Ally安装arch Linux和steam

掌机到手半年了,一直是用的Windows,然后装ISTA用来给我车读故障码,刷隐藏和编程用,处于半闲置状态,是时候回归打游戏的本质了

掌机在Windows下待机很不方便,耗电高速度慢,另外试了steamos和bazziteos,待机是解决了,但是系统有些不清真,有很多我不想要的软件存在,steamos基于arch Linux,所以直接装arch Linux自己搭吧!

硬盘换了2T的SN740,电池换了65Wh的,别的是原厂状态

 

 

配置IP

sudo ifconfig enp11s0f3u1u4c2 xx.xx.xx.xx netmask 255.255.255.0 up
sudo route add default gw xx.xx.xx.xx enp11s0f3u1u4c2
sudo bash -c 'echo "nameserver xx.xx.xx.xx" > /etc/resolv.conf'

1.分区

分三个区够了

fdisk /dev/nvme0n1
#按照提示分三个区,顺便用t参数修改下分区类型

mkfs.fat -F32 /dev/nvme0n1p1
mkswap /dev/nvme0n1p2
swapon /dev/nvme0n1p2
mkfs.btrfs -f /dev/nvme0n1p3

2.创建 Btrfs 子卷(标准布局)

mount /dev/nvme0n1p3 /mnt

btrfs subvolume create /mnt/@
btrfs subvolume create /mnt/@home
btrfs subvolume create /mnt/@log
btrfs subvolume create /mnt/@cache
btrfs subvolume create /mnt/@snapshots

btrfs subvolume list /mnt
umount /mnt

3.挂载分区

mount -o subvol=@,compress=zstd,ssd,noatime /dev/nvme0n1p3 /mnt
mkdir -p /mnt/{boot,home,var/log,var/cache,.snapshots}

mount -o subvol=@home,compress=zstd,ssd,noatime /dev/nvme0n1p3 /mnt/home
mount -o subvol=@log,compress=zstd,ssd,noatime /dev/nvme0n1p3 /mnt/var/log
mount -o subvol=@cache,compress=zstd,ssd,noatime /dev/nvme0n1p3 /mnt/var/cache
mount -o subvol=@snapshots,compress=zstd,ssd,noatime /dev/nvme0n1p3 /mnt/.snapshots
mount /dev/nvme0n1p1 /mnt/boot/

4.安装基本系统

echo "Server = https://mirrors.ustc.edu.cn/archlinux/\$repo/os/\$arch" >  /etc/pacman.d/mirrorlist

#没有直接安装linux-firmware,因为用不到那么多固件
pacstrap /mnt base base-devel linux linux-firmware-amdgpu linux-firmware-radeon linux-firmware-mediatek linux-firmware-cirrus btrfs-progs vim openssh bash-completion wget
genfstab -U /mnt >> /mnt/etc/fstab

5.chroot

arch-chroot /mnt

#本地化
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc

echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
echo "zh_CN.UTF-8 UTF-8" >> /etc/locale.gen
locale-gen

echo "LANG=en_US.UTF-8" > /etc/locale.conf
echo "Ally" > /etc/hostname

#必要软件
pacman-key --init
pacman-key --populate archlinux

pacman -S grub efibootmgr networkmanager bluez
systemctl enable NetworkManager.service
systemctl enable bluetooth.service

echo 'KEYMAP=us' > /etc/vconsole.conf
mkinitcpio -P

grub-install --target=x86_64-efi --efi-directory=/boot/ --bootloader-id=ArchLinux
grub-mkconfig -o /boot/grub/grub.cfg

echo "[archlinuxcn]" >> /etc/pacman.conf
echo "Server = https://mirrors.ustc.edu.cn/archlinuxcn/\$arch" >> /etc/pacman.conf
pacman -Sy
pacman -S archlinuxcn-keyring

passwd

#创建用户
useradd -m -G wheel -s /bin/bash deck
passwd deck
sed -i 's/^# %wheel ALL=(ALL:ALL) ALL/%wheel ALL=(ALL:ALL) ALL/' /etc/sudoers
usermod -aG video,input,storage,network,audio deck

解决普通用户无法通过network manager联网的问题

vim /etc/polkit-1/rules.d/50-org.freedesktop.NetworkManager.rules

polkit.addRule(function(action, subject) {
  if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("network")) {
    return polkit.Result.YES;
  }
});

6.安装kde

pacman -S --needed plasma-desktop sddm sddm-kcm \
konsole dolphin plasma-nm plasma-pa kde-cli-tools \
xdg-desktop-portal xdg-desktop-portal-kde bluedevil \
plasma-wayland-protocols plasma-keyboard kinfocenter \
kscreen plasma-disks p7zip ark lrzip lzop unarchiver \
unrar fwupd wqy-bitmapfont wqy-microhei wqy-zenhei 

systemctl enable sddm.service

#启用sddm的屏幕键盘,建议将sddm的主题改成支持屏幕键盘的主题
echo "[General]" >> /etc/sddm.conf
echo "InputMethod=qtvirtualkeyboard" >> /etc/sddm.conf

#让sddm和steam界面按电源键待机,而不是默认的关机,不影响登陆后的kde
echo "HandlePowerKey=suspend" >> /etc/systemd/logind.conf

7.安装steam

要先打开multilib

pacman -Sy
pacman -S steam mangohud pacman-contrib

8.安装HHD和inputplumber,中间npm下载和electron下载都会比较耗时,需要好的网络条件,最后为用户开启hhd服务

sudo pacman -S yay asusctl acpi_call inputplumber
sudo pacman -S ttf-dejavu noto-fonts-cjk
sudo systemctl enable inputplumber
sudo systemctl enable inputplumber-suspend
sudo systemctl start inputplumber

yay -S hhd adjustor hhd-ui
sudo systemctl enable hhd@deck

安装好之后,双击奥创可以呼出,不要安装 power-profiles-daemon ,会和HHD冲突。长按奥创可以切换成鼠标模式

9.安装steam-gamepadui-session,使体验尽可能和steamos一样,会自动安装gamescope

yay -S steam-gamepadui-session-git

在sddm界面选择 Steam Big Picture session登录,默认就是进steam大屏幕界面了,可以修改sddm的配置文件,使开机自动登录到steam界面

10.安装decky loader

cd ~/Desktop
wget https://github.com/SteamDeckHomebrew/decky-installer/releases/latest/download/decky_installer.desktop
chmod +x decky_installer.desktop
sudo pacman -S jq

双击桌面的图标,根据提示安装就行,下载较慢,可以考虑ssh远程挂代理执行dekstop文件里面的命令,同样会在桌面弹出提示框。安装完之后需要在steam里面打开开发者模式,开发者模式里面打开CEF远程调试,重启生效,如果不生效可以看看plugin_loader.service的状态

然后就是在steam的decky loader安装各种插件了,Power tool,css loader什么的

11.修改grub文件,配置Plymouth主题什么的,内核参数增加如下部分,实现休眠

console=tty1 splash plymouth.ignore-serial-consoles resume=/dev/nvme0n1p2

经过验证,在steam大屏幕界面,屏幕亮度调节,超时待机什么的功能基本正常,steam设置里面也能更新系统(pacman-contrib实现)。
除了切换至桌面的时候会跳回sddm登陆界面,要手动切session登录,kde桌面要注销手动进gamescope的session麻烦一点之外,别的没什么功能异常的了

posted @ 2025-12-19 15:56  Ditvelo  阅读(1)  评论(0)    收藏  举报