看板 Headphone 關於我們 聯絡資訊
***Ubuntu Server 22.04 Jammy Jellyfish 不用裝 ROCm!因為 HQPlayer Embedded 不支援了*** Intel 12 代 Alder Lake CPU 性能理想,可以不用 GPU 做 offload 就能用 ASDM7ECv2 調變到 DSD512。不過 Alder Lake 因為新增了 e-core 這個東西,使得 現有的 Linux 版 HQPlayer Embedded 設定都要做進一步調整,否則 e-core 會進來 亂事:x86 版 hqplayerd generic build 主程式會全部用 e-core 來跑,而 AMD build 則是 一個聲道會交給 e-core: https://imgur.com/qEWPFUd.jpg
(編號 16~23 那八個核心都是 e-core。) 如果要改善 Alder Lake 這個不正常現象,有兩個方式: 1. e-core 全部關閉:這個方式個人觀察 CPU 溫度會升高一些,請斟酌; 2. 改 Linux 核心到最新版並且跑 AMD build(您沒看錯,要在 Alder Lake 上跑 AMD build 才能獲得較佳的 CPU 使用率;這點是原作 Mr Laako 提到的,如果 是 Alder Lake 要跑現成的 HQPlayer OS img 檔也要用最新的 AMD build)。 由於過往 HQPlayer Embedded 幾乎沒人討論,絕大多數是下載已經做好的 HQPlayer OS img 用 USB 開機來聽,可是這個 img 是不包含 CUDA 或 ROCm 的 GPU 支援的, 只能靠 CPU 原本的力量去運算,少了顯卡總是覺得少了點浪漫... HQPlayer Embedded 是在 Ubuntu "Server" 上面發展的,如果您手癢想試著自己裝 hqpayerd 那麼選擇 Ubuntu Server 會讓您少死一些腦細胞,最近幾版的 hqplayerd 是源自於 Ubuntu Server 20.04 LTS "Focal Fossa",下載載點在這裏: https://ubuntu.com/download/server 下載後檔案刷到 USB flash drive 就能開機了。 Ubuntu Server 安裝程式蠻簡單的,看圖說故事就好,僅在這邊提醒兩點: 1. 用戶名千萬不要用「hqplayer」!hqplayerd 在安裝的時候會新創一個 hqplayer 的用戶,如果已經先開了一個 hqplayer 帳號,那麼安裝會失敗; https://imgur.com/XX8QZmq.jpg
2. 如果您是 Mac 用戶,請一定要安裝 SSH,用 Terminal.app ssh 連 Ubuntu Server 管理超便利。 https://imgur.com/oQVWeIU.jpg
當 Ubuntu Server 裝好之後,ssh 進主機,先下兩個指令 sudo apt update sudo apt upgrade 這樣就能更新最新的系統套件。 ---2022/01/02 新增 hwe 套件指令取代直接裝 5.13 核心--- sudo apt install linux-lowlatency-hwe-20.04-edge ------------------------------------------------------ 最新版 22.04 Jammy Jellyfish 用 5.15 版核心,已解決很多 12 代問題,以下 一些程序機乎可以跳過 前面提到 Alder Lake 的 e-core 問題,需要 kernel 5.13 版才能正確的辨識 CPU 核心,指令: sudo apt install linux-image-5.13.0-22-lowlatency 5.13.0-22-lowlatency 是目前(2021.12.13)Focal Fossa 最新的低延遲核心,如果 有更新的就用最新的即可;裝了核心,也要裝 kernel header,給後面裝顯示卡驅動 程式用: sudo apt install linux-headers-5.13.0-22-lowlatency 裝好之後重新開機 sudo reboot 開完機重新 ssh 回主機,看一下核心版本是否為 5.13 lowlatency uname -r 如果正確的話就可以繼續步驟:裝顯示卡驅動程式(由於 AMD ROCm 的支援仍是不足, 個人還是建議用 nVidia 的 CUDA)。 這裏並不需要裝整個 CUDA,那個是給開發者使用的,您只需要裝驅動程式就能用到 CUDA offload 功能。 nVidia 驅動程式有很多個版本,有一般的有無頭的(headless)有伺服器的,眼花 撩亂,建議就一般的即可,無頭的版本不會裝 X Window,而一些進階管理卻需要 X Window,所以即使裝了無頭,您還是要裝 X Window 和管理工具 nvidia-smi,個人 認為與其如此不如直接裝一般版一次給齊。 我手上的 nVidia GPU 是 RTX3070,目前驅動程式有三個版本 460 / 470 / 495 都能 支援,但我發現版本 460 才會正確顯示 GPU 的型號,所以我的機器是裝 460: sudo apt install nvidia-driver-460 最新 525 適用 30 / 40 系列 GPU 以下程序 5.15 若用版核心可以省略 裝完之後,多少會出現 Possible missing firmware... 這個警告,簡單的方法是 直接到這裏下載(這是一行): https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git /tree/i915 範例指令 wget https://git.kernel.org/..省略../i915/tgl_huc_7.5.0.bin 把所有缺的 *bin 檔案都抓下來之後,用指令掛上 kernel sudo mv *.bin /lib/firmware/i915/ sudo update-initramfs -u -k all sudo reboot 開完機 ssh 登入主機,把 persistence mode 打開 sudo nvidia-smi -pm 1 nvidia-smi 看一下顯示卡資訊有無出現,有出現就表示安裝成功 https://imgur.com/rIMIXgn.jpg
這樣核心部分就完成了。 hqplayrd 已經不支援 ROCm 以下安裝 ROCm 程序可以省略 接下來裝 hqplayerd 和相關套件:由於 AMD 顯示卡的 ROCm 的套件沒有在 Focal Fossa 列表之內,所以要用手動方式建立套件表(這是一行指令) echo 'deb [arch=amd64] https://repo.radeon.com/rocm/apt/debian/ ubuntu main' | sudo tee /etc/apt/sources.list.d/rocm.list 然後把認證資料也建立起來 wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | sudo apt-key add - 再更新一下套件資料庫 sudo apt update 然後安裝 ROCm 函式庫 sudo apt install rocm-libs 另外一個必要的函式庫是 libgmpris,目前版本是 2.2.1-8 wget https://www.sonarnerd.net/src/focal/libgmpris_2.2.1-8_amd64.deb sudo dpkg -i libgmpris_2.2.1-8_amd64.deb 前置作業全部完成,接下來下載最新 v4.28 AMD build 的 hqplayerd(這是一行指令 ) 最新版是 4.33.3 wget https://www.signalyst.eu/bins/hqplayerd/focal/ hqplayerd_4.28.0-100amd_amd64.deb 然後安裝 sudo dpkg -i hqplayerd_4.28.0-100amd_amd64.deb 這個指令跑完一定有錯誤訊息,缺一堆套件。別擔心,用這個指令修復即可 sudo apt install -f 這樣就安裝完成,如果不放心重新再下安裝指令也可以: sudo dpkg -i hqplayerd_4.28.0-100amd_amd64.deb 就會安裝完成。 hqplayerd 已不支援 ROCm,不用再指定目錄 但這個步驟做完,hqplayerd 一定還是開不起來,因為 ROCm v4.5 的目錄 pointer 不正確,要手動修正 sudo sh -c "echo '/opt/rocm-4.5.0/lib' >> /etc/ld.so.conf.d/rocm.conf" sudo ldconfig 到這邊算是安裝完成了,第一次啟動 hqplayerd 需要設定管理頁面的帳密 sudo hqplayerd -s hqplayer password 這個設定帳號是 hqplayer 密碼是 password,可依據個人喜好來改。 接下來啟動 hqplayerd sudo systemctl enable hqplayerd.service sudo systemctl start hqplayerd.service 然後在瀏覽器用 your.hqplayer.server.ip:8088 連 hqplayerd,看到管理介面就 99% 了! 最後 1%,您需要改 hqplayerd.xml,請到 Backup 選單把 Configuration 備份 https://imgur.com/rzbvMwi.jpg
下載到您的電腦,然後解開用文字編輯器修改兩個地方(如圖),請將 multicore 設為 1,rocm 設為 0(裝的是 CUDA,用不到 ROCm) https://imgur.com/ZFFkkPP.jpg
存好之後壓回 .zip,用 Restore 頁面上傳回去,這樣就大功告成! https://imgur.com/EHJTvbZ.jpg
心得部分: 個人有 HQPlayer Embedded 也有 Desktop,照理說這兩個聲音應該是一樣的,可能 是玄學作祟的關係,一直認為 Embedded 的聲音才是我想要的:在同樣的設定下, 低頻部分 Desktop 比較清瘦,Embedded 比較健美,讓 Denafrips Ares II 的低頻 豐富了起來,用 HD820 聆聽 Vanessa Fernandez 的 Here But I'm Gone 我只想把 789 音量旋鈕旋到底! https://imgur.com/utKuSZh.jpg
後記:原作 Mr Laako 有再三提到,如果是用 Linux 版的 Embedded,務必採用 client-server 架構,用 NAA 播放音樂。理由是除了他自己客製的核心是 real-time 之外,其他的核心至多是 low latency,如果用這類核心接 USB 播放,可能會有音質 的問題。用 Linux 版的 HQPlayer Embedded 請留意這個眉角。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.96.55 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Headphone/M.1639386746.A.0BE.html ※ 編輯: elguapo (118.163.96.55 臺灣), 12/13/2021 17:14:38 elguapo:轉錄至看板 Audiophile 12/13 17:15
dzwei: 感謝分享~ 其實之前有研究過linux的pro audio12/13 17:19
dzwei: ArchLinux有針對這個做一篇wiki:12/13 17:19
dzwei: 第一步就是要換成rt版的kernel 後來沒時間玩就擱置了XD12/13 17:20
我記得 Fedora 好像有 real-time kernel,而且 Fedora server 的網頁管理介面 美觀好用,hqplayerd 在 Fedora 上也有支援 CUDA GPU,哪天無聊來裝看看 嘿 ※ 編輯: elguapo (118.163.96.55 臺灣), 12/13/2021 18:10:16
b8210208: 推 謝謝分享 12/13 18:17
NyanmeTAItsu: 推分享、雖然我沒有12代(掩面12/13 18:21
chenszhanx: 我覺得用E-core應該沒問題吧,本來就是拿來矩陣運算的12/13 18:58
您的問題很好! 實測是 x86 generic build 在沒有關 e-core、用 HQPlayer 原作 Mr Jussi Laako 客製的 5.10 low latency kernel,會全部分配給 8 個 e-core 來跑,不會給 p-core,這個等於給 Alder Lake 封上了封印。 AMD build 可以在舊版的核心跑,可是有一個聲道的主 CPU 會給 e-core,雖說產出 的東西一樣,但經詢問原作 Mr Laako,他說還是要改為新版核心為宜,他太忙了沒 時間去維護他客製的 5.10 版核心 XDD ※ 編輯: elguapo (118.163.96.55 臺灣), 12/13/2021 19:21:53
whydan: 推12/13 19:48
※ 編輯: elguapo (118.163.96.55 臺灣), 12/13/2021 21:34:12
znew1219: 行動力真強,這麼快就把PC組起來,少了顯卡,可以少很12/13 22:40
znew1219: 多干擾與雜訊也挺好 12/13 22:40
確實是,而且太新的硬體 Linux 支援也不是很完整(有點在賭),比方說我用的 主機板是 MSI Pro Z690-A 是較低價位的板子,結果 onboard ethernet 用的 Intel I225-V,現行穩定版的 Linux kernel 都不認得 XDD 話說回來,不管是 Roon + Roon Ready (or Roon Bridge) 還是 HQPlayer + NAA, 這樣的 client-server 結構是為了把具運算力的部分切割(擺越遠越好),來消除 干擾和雜訊,而 endpoint 用簡單的單板電腦做簡單的轉換來得到更好的音質。 ※ 編輯: elguapo (118.163.96.55 臺灣), 12/13/2021 23:21:10 ※ 編輯: elguapo (118.163.96.55 臺灣), 12/14/2021 09:27:19
jhjhs33504: low latency跟real-time有點意思~只差沒自改扣編譯?XD12/14 23:05
說到這個,原作 Mr Laako 有把他客製的 real-time 核心原始碼釋出,確實是可以在 自己的機器 build: https://www.sonarnerd.net/src/focal/src/ ※ 編輯: elguapo (118.163.96.55 臺灣), 12/15/2021 01:06:48 ※ 編輯: elguapo (12.208.205.2 美國), 01/02/2022 21:36:57 ※ 編輯: elguapo (205.220.129.227 美國), 11/04/2022 23:59:44 ※ 編輯: elguapo (118.163.96.57 臺灣), 12/10/2022 12:30:42