一、下载安装hqpe系统
这里以U盘版为例,准备一个16G以上的U盘(应备份好U盘资料)。
到百度网盘 链接: https://pan.baidu.com/s/1JilSdfXSeVJIORciZe3_Kg?pwd=9udf
中的hqpe_arch目录里下载 hqplayer5_arch2.img.xz文件。(感谢欢乐总的奉献!)
解压得到hqplayer5_arch2.img文件,再用刷系统软件(例如balena Etcher)把hqplayer5_arch2.img文件刷入U盘,这样就完成下载安装hqpe系统,之后可用该U盘启动系统。启动后在同一局域网内的任一浏览器地址栏内输入 http://该电脑IP地址:8088回车,即可进入hqplayer web界面,需要进行配置时的用户名和密码都是hqpe(和arch开机密码一样)。
(U盘剩余磁盘空间,建议分区,作为资料、音乐存档用,这里记为M分区,exfat格式吧)
注意:如果使用Raspberry Pie Imager软件写入镜像文件,则核心分区(第二分区)已扩展到磁盘的最大存储容量,因此上面的M分区并不存在。具体需要哪种,请自行确定;推荐还是用balena Etcher,因为富余空间可灵活分配。
二、升级hqpe系统里的hqplayer embedded
本人2023年12月28日第一步下载安装的hqpe系统,hqplayer embedded版本是5.3.0,目前最新的是5.3.2版本(发贴时最新版是5.5.0版本了),那怎么升级呢?
从某处下载到hqplayer-embedded-5.3.2-1-x86_64.pkg.tar.zst文件,把它放入U盘M分区根目录下。
用该U盘开机进入系统(用户名和密码都是hqpe),按如下步骤进行升级:
先挂载M分区(建立一目录mm以便挂载):
- sudo mkdir mm
- sudo mount /dev/sda3 ./mm
- cd mm
复制代码
升级hqplayer embedded:
sudo pacman -U ./hqplayer-embedded-5.3.2-1-x86_64.pkg.tar.zst
注:如果你下载的是上面百度网盘中的Music Arch系统,其内并没有内置hqplayer embedded,那么应使用安装命令而不是更新命令,即将上面的-U改为-S(可能要先安装hqplayer所需的依赖包):
- sudo pacman -S ./hqplayer-embedded-5.3.2-1-x86_64.pkg.tar.zst
复制代码
重启hqplayer embedded:
- sudo systemctl restart hqplayerd
复制代码
(注:卸载M分区用sudo umount /dev/sda3)
扩展阅读:
升级文件是怎么来的呢?
升级文件本身是arch linux安装包,有两种途径取得:
一是到hqpe系统官网下载:
https://udo.sakura.ne.jp/aoe/hqplayer/hqplayer-embedded-x86_64.pkg.tar.zst
这里的版本号没写,有可能不是hqplayer embedded官方最新版本。
例如curl -O https://udo.sakura.ne.jp/aoe/hqplayer/hqplayer-embedded-x86_64.pkg.tar.zst
二是自己制作:
到hqplayer官网下载deb安装包(https://www.signalyst.eu/bins/hqplayerd,注意不同的linux系统开发代号),例如下载的是jammy目录(对应ubuntu 22.04版本)下的hqplayerd_5.3.2-9avx2_amd64.deb文件。
然后使用 debtap工具 将 Deb 包解压并打包成 arch linux 包。
如debtap未安装,则进行安装:
更新 debtap 数据库:
使用 debtap 把deb 包转换成arch linux安装包:
- sudo debtap ./hqplayerd_5.3.2-9avx2_amd64.deb
复制代码
安装转换好后的包:
- sudo pacman -U ./hqplayerd_5.3.2-9avx2_amd64 .tar.xz
复制代码
注意:arch linux系统(含本hqpe系统)默认并没有安装yay工具,具体怎样安装yay工具请搜索网上相关资料(比较麻烦噢)。
三、和谐开心化hqplayer embedded。
首先和谐开心文件hqplayerd和被替换软件的版本号要一致,支持指令集也要一样。有时hqpe和hqpos系统里面的hqplayerd不一定能互换。
先停止运行hqplayer embedded:
- sudo systemctl stop hqplayerd
复制代码
把和谐开心文件hqplayerd(如果不是这个文件名,请先改名)加上执行权限:
- sudo chmod +x ./hqplayerd
复制代码
然后复制hqplayerd过去覆盖原文件:
- sudo cp ./hqplayerd /usr/bin
复制代码
最后重新启动hqplayer embedded:
- sudo systemctl start hqplayerd
复制代码
四、克隆u盘版hqpe系统到内置固态硬盘上。
假设电脑内置固态硬盘已经安装win11、Ubuntu等系统,那么在不破坏原系统的基础上怎么加装hqpe系统呢?
用一个win Pe启动u盘启动该电脑,运行DiskGenius注册版或功能已和谐版软件:
这里假设u盘版hqpe系统里面的第一分区(FAT32格式,容量512MB)记为uF分区,核心分区(一般是第二个分区,ext4格式,容量15GB多)记为uH分区。
1、在内置固态硬盘上新分出两个分区,第一个分区是FAT32格式(假设是F分区),容量大于等于uF分区,例如512MB,第二个是ext4格式(假设是H分区),容量大于等于uH分区,例如16GB及以上,分别记录F分区的卷序列号和H分区的卷UUID。
然后把uF、uH分区里全部内容分别克隆到F、H分区内。再把F分区分配盘符以方便下面的操作。
注1:内置固态硬盘的分区表类型一般要求是GUID格式。
注2:为何要新建立一个F分区?内置固态硬盘上肯定已有FAT或FAT32启动分区了,但其空间一般不超过300MB,这有点小,可能无法容纳uF分区根目录的6个文件(init和vm开头的那6个)(如能容纳,则可不用建立F区,这时原有的启动分区就是F分区了)。但即使能容纳为避免出现更多的麻烦,还是建立F分区的好。
2、用记事本软件打开F分区\grub\grub.cfg文件修改其内容,修改完成后把它复制到F分区\EFI\BOOT\内(建议顺便备份一下F分区\EFI\ BOOT \BOOTX64.EFI文件),大概这样修改:
我们知道,hqpe启动时有4个启动选项,启动选项对应menuentry语句,我们看第一个:
menuentry 'Arch Linux, with Linux linux-xanmod-rt' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-xanmod-rt-advanced-4953ad81-9ade-4e19-8fdc-5c38d9155ed8' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root AEF9-A862
##search --no-floppy --fs-uuid --set=root 4953ad81-9ade-4e19-8fdc-5c38d9155ed8
echo 'Loading Linux linux-xanmod-rt ...'
linux /vmlinuz-linux-xanmod-rt root=UUID=4953ad81-9ade-4e19-8fdc-5c38d9155ed8 rw loglevel=3 quiet
echo 'Loading initial ramdisk ...'
initrd /initramfs-linux-xanmod-rt.img
}
将标色的AEF9-A862更换成上面记录的F区的卷序列号,3处4953ad81-9ade-4e19-8fdc-5c38d9155ed8更换成H区的卷UUID。
其他启动选项menuentry语句段及其他地方也类似处理(查找替换全部可快速搞定)。
3、把官方hqpos u盘系统的核心分区(不是FAT或FAT32启动分区)里的/boot/BOOTX64.EFI文件(文件大小630784 字节,616KB多)复制到F分区\EFI\BOOT\内,并改名为HBOOTX64.EFI(避免和其他系统需要的BOOTX64.EFI发生冲突)。
注1:笔者测试多个类BOOTX64.EFI文件,包括uF分区两个、win11、ubuntu、hqpos u盘启动分区等的,都无法正常启动系统,提示说找不到指定的磁盘,我猜测原u盘版hqpe系统的BOOTX64.EFI文件内部是不是已经关联sda2了。
注2:这个能正常工作的BOOTX64.EFI文件(需要的请私聊我)必须复制到F分区\EFI\BOOT\文件夹内,且该目录内还必须有grub.cfg文件,否则还是出错!
4、用BOOTICEx64软件增加一个开机启功项目指向F分区\boot\HBOOTX64.EFI文件:运行BOOTICEx64软件,在“UEFI”功能页内单击“修改启动序列”按钮,随后在出现的窗口中单击“添加”按钮。
5、重启电脑,选择启动新增的hqpe系统即可(启动期间出现4个提示不必理会,不影响正常工作的。当然你也可以进一步修改grub.cfg文件中相关内容以便去掉这些提示,甚至是复制提示找不到的那3个文件到F分区\boot\内)。
五、安装RoonServer
hqpe系统本身并不内置Roon Server,要安装Roon Server,则应先安装所需两个依赖包:
- sudo pacman –Sy
- sudo pacman –S ffmpeg
- sudo pacman –S cifs-utils
复制代码
然后按官方的安装流程进行:
- curl -O https://download.roonlabs.net/builds/roonserver-installer-linuxx64.sh
- chmod +x roonserver-installer-linuxx64.sh
- sudo ./roonserver-installer-linuxx64.sh
复制代码
安装Bridge(桥)是下载这样的文件(注意要匹配桥电脑的CPU类型),其他命令类似上面的:
- curl -O https://download.roonlabs.net/builds/roonbridge-installer-linuxx64.sh
- curl -O https://download.roonlabs.net/builds/roonbridge-installer-linuxarmv7hf.sh
- curl -O https://download.roonlabs.net/builds/roonbridge-installer-linuxarmv8.sh
复制代码
安装后的位置在 `/opt/RoonServer` 或 `/opt/RoonBridge`。
六、安装ntfs、samba软件包
arch系统通常是无法直接访问windows系统ntfs格式分区的,这时可安装ntfs-3g软件包(这样hqpe才可装载读写windows的htfs格式分区)。
要进行文件共享,可安装samba软件包。
- sudo pacman –Sy
- sudo pacman –S ntfs-3g
- sudo pacman –S samba
复制代码
samba配置文件是/etc/samba/smb.conf,下面打开编辑它:
- sudo nano /etc/samba/smb.conf
复制代码
在文件最后面添加类似于下面语句后保存(为方便,该共享无密码,完全可读写):
# 其他电脑上显示的共享名是MyShare,其对应/home/hqpe/hdd目录。
[MyShare]
comment = this is my First share
path = /home/hqpe/hdd
public = yes
writable = yes
注:/home/hqpe/hdd目录可挂载到某分区,这时该分区适宜在开机启动时直接挂载,可在/etc/fstab文件里末尾处添加:
UUID=XXXXXX /home/hqpe/hdd ntfs-3g defaults,nofail,,umask=0000 0 0
## 其中XXXXXX为该分区的UUID,/home/hqpe/hdd为挂载点,ntfs-3g为该硬盘的类型。
最好把/home/hqpe/hdd目录修改为完全读写属性:
- # sudo mkdir /home/hqpe/hdd
- sudo chmod 777 /home/hqpe/hdd
复制代码
可用sudo blkid命令查看磁盘的uuid值,这样:
① 如果文件系统是vfat格式
UUID=XXXXXX /mnt/hdd vfat defaults,nofail,,umask=0000 0 0
② 对于 ext4格式
UUID=XXXXXX /mnt/hdd ext4 defaults,nofail,,umask=0000 0 0
③ 对于exfat格式
UUID=XXXXXX /mnt/hdd exfat defaults,nofail,,umask=0000 0 0
④ 对于NTFS格式(先要安装好ntfs-3g软件包)
UUID=XXXXXX /mnt/hdd ntfs-3g defaults,nofail,,umask=0000 0 0
也可以用PARTUUID字句。
开机启用 smb:
- sudo systemctl enable smb (sudo systemctl enable samba)
复制代码
同时启用 nmb:
- sudo systemctl enable nmb
复制代码
如果smb无法启动,日志提示“error while loading shared libraries: libicui18n.so.74: cannot open shared object file: No such file or directory”,那是因为hqpe系统内置的icu软件包版本是73.2,而samba需要74版本,这时可更新icu版本:
- curl -O https://archive.archlinux.org/packages/i/icu/icu-74.2-1-x86_64.pkg.tar.zst
- sudo pacman -U ./icu-74.2-1-x86_64.pkg.tar.zst
- sudo systemctl start smb
- sudo systemctl start nmb
复制代码
我晕,重启电脑后你是否会发现hqplayer居然无法运行了,执行sudo hqplayerd提示说“error while loading shared libraries: libicuuc.so.73: cannot open shared object file: No such file or directory”,这说明hqplayer运行需要的icu软件包版本是73,而samba需要74版本,这。。。看来要用hqplayer就不能升级icu软件包版本(这时samba功能无效);要么就不用hqplayer只用roon+samba作为roon核心机也不错。
或者尝试:降低所安装的samba版本(4.19.3-2及更高的肯定要icu软件包 74版本以上),具体哪个版本仅用到73版本icu软件包的只能自己测试了。
七、卸载Roon操作
1、卸载 Roon 服务器
- sudo ./roonserver-installer-linuxx64.sh uninstall
复制代码
2、卸载HQPlayer
sudo pacman -R hqplayer-embedded
要保留HQPlayer,只是想开机不启动HQPlayer可以这样:
- sudo systemctl disbale hqplayer-embedded
- sudo reboot
复制代码
3、卸载文件共享(samba)
4、卸载 Diretta Host主机
① 如果已设置为自启动,请依次执行以下命令将其关闭。
- sudo systemctl disable diretta_bridge_driver
- sudo systemctl disable diretta_bridge_host
复制代码
② 重启生效。
③ 删除驱动程序。
- sudo rm -rf /root/DirettaALSAdriver
复制代码
④ 删除 Diretta。
- sudo rm /etc/systemd/system/diretta_bridge_*.service
复制代码
最后,如果需要,可删除已卸载的文件:
*系统会询问您是否要删除每个目录中不需要的文件,因此输入“y”。
八、状态监控工具
这些工具包括“top”、“htop”、“gotop”、“gotop --nvidia”和“nvtop”等,可一一试用,退出时可输入q或同时按下ctlr+c键。
gotop可监控CPU和网络使用状态,gotop --nvidia可显卡GPU使用状态,使用 nvtop 时可显示显卡的 GPU 使用状态,包括CUDA Offload。
此外,您还可以执行延迟测试:
- cyclictest -q -l30000 -m -S -p98 -i100 - d0 -N
复制代码
最小、平均和最大延迟值以微秒为单位显示。
九、HQPayer 5的 CPU 核心设置
Intel Core i处理器(CPU)配备两种类型的核心:“P核心”和“E核心”。 P核心的设计强调性能(能核),而E核心的设计则强调功效而非性能(效核)。因此,通过将高性能的P核专用于重处理的HQPlayer,并将其他处理分配给E核,可以提高效率,并有望获得改善音质、改善切口、减少发热等效果。
- nano /lib/systemd/system/hqplayerd.service
复制代码
在该文件的[Service]部分写入P核心线程数,格式如下:
13900KF有16个P核心线程,因此修改命令列表以将0和15包含为“0-15”并粘贴。
(示例)CPUAffinity=0-15
修改后要保存并重启电脑,检查HQPlayer是否能正常工作。
然后将配置写入启动文件:
- sudo nano /etc/default/grub
复制代码
将 isolcpus=0-15 添加到 GRUB_CMDLINE_LINUX_DEFAULT后面:
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet isolcpus=0-15"
最后执行
- sudo grub-mkconfig -o /boot/grub/grub.cfg
复制代码
重启电脑。之后要检查配置状态,执行如下命令:
- cat /sys/devices/system/cpu/isolated
复制代码
十、杂记
1、怎么查看ip地址?
在Archlinux中,系统默认不安装我们常用的ifconfig命令,需要用户手动安装net-tools包才能使用。我们可以通过以下命令安装net-tools包:
注:
1)、在Archlinux中,系统已默认安装ip命令,因此我们可以直接使用该命令来查看IP地址。例如,如果我们想查看eth0接口的IP地址,可以输入以下命令:
2)、hostname命令用于获取或设置系统的主机名。在Archlinux中,该命令还支持一些额外的选项,可以用来获取本机IP地址信息。例如,如果我们想查看当前系统的主机名和IP地址,可以输入以下命令:
该命令会输出当前系统的IP地址,如果系统有多个IP地址,则会以空格分隔输出。
2、一些参考网址
(1)archlinux支持的软件包:
https://archlinux.org/
https://archive.archlinux.org/packages/
https://aur.archlinux.org/packages/hqplayer-embedded
https://aur.archlinux.org/packages/roonserver
https://aur.archlinux.org/packages/lms
2、roon、hqplayer官网
https://roon.app/en/
https://www.signalyst.com/
原创作者:sszj2010
|