可以开始玩啦
升级下Linux kernel 到6.17
inxi -G
Graphics:
Device-1: Intel HD Graphics 530 driver: i915 v: kernel
Device-2: AMD driver: amdgpu v: kernel
Display: x11 server: X.Org v: 21.1.11 with: Xwayland v: 23.2.6 driver: X:
loaded: modesetting unloaded: fbdev,vesa dri: iris gpu: i915
resolution: 1920x1200~60Hz
API: EGL v: 1.5 drivers: iris,kms_swrast,radeonsi,swrast
platforms: gbm,x11,surfaceless,device
API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa
v: 25.2.8-0ubuntu0.24.04.1 renderer: Mesa Intel HD Graphics 530 (SKL GT2)
API: Vulkan v: 1.3.275 drivers: N/A surfaces: xcb,xlib

硬件配置:
i3-6100 (2核4线程 3.7GHz)(国内海鲜市场+海运)
16GB DDR4 2666
线下$40淘到的华硕Z170 败家之眼ROG Maximus VIII Hero
其实这上述是我的开放测试平台,如果都没啥问题,我就给它挪到一个 戴尔T7920工作站了(也是线下二手)
那台是Xeon Gold 6130
32GB ECC
操作系统选择:
我习惯用Linux Mint 22.3(Kernel 6.17,等效于Ubuntu24.04),因为其桌面更像Windows操作习惯,并且整体也更精简稳健,内存消耗小,不像Ubuntu有时候给你硬塞一些花里胡哨的东西。
Mint安装的时候,还自带一个傻瓜化工具,能在已经安装了Windows的SSD上重新分割分区,来装双系统。
走的弯路#1:没有在BIOS禁用Intel 核显
本意是想两者共存,核显可以干点别的事(比如视频转码)
但是无论怎么在grub里面加参数(比如,禁用Intel的3D加速、休眠),一开x11vnc,都会kernel panic宕机。
原因“x11vnc的高频抓屏触发了Intel核显老旧的休眠唤醒 Bug,直接把系统内核卡死了。”
走的弯路#2:尝鲜Ubuntu 26.04
最初在Mint22.3,用LM-Studio Rocm版llama.cpp 无法识别R9700(系统识别正常)。用Gemini查了一圈,以为是kernel和linux-firmware太老,所以图省事就去尝鲜刚刚发布的Ubuntu 26.04(kernel 7.0)。
结果,Ubuntu26.04 自带的Rocm是7.1,虽然LM-Studio的Rocm版llama.cpp识别了R9700,仍然是加载模型卡在99%。升级Rocm到7.2.3的复杂度和用Mint 22.3(U24.04)没差别。
初步成功
最后回到Mint22.3,配置好了,先是简单测试,感觉24t/s有点小失望,还有优化空间。
-
LM-Studio的Vulkan,完全懒人傻瓜化,打开即用,23t/s

-
编译Rocm llama.cpp-server
LM-Studio 没有针对 AMD R9700编译的Rocm llama.cpp
已经尝试通过加launch参数 - 伪装RDNA3的办法,加载模型会长时间卡在97%
遂自己编译 llama.cpp, 24t/s

详细过程如下
- 升级Linux-firmware
git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
sudo rsync -av linux-firmware/amdgpu/ /lib/firmware/amdgpu/
sudo update-initramfs -u
# 最后重启
- 安装ROCm 7.2.3 & Toolchain
# Install the ROCm repository and base userspace
wget https://repo.radeon.com/amdgpu-install/7.2.3/ubuntu/noble/amdgpu-install_7.2.3.70203-1_all.deb
sudo apt install ./amdgpu-install_7.2.3.70203-1_all.deb
sudo amdgpu-install --usecase=rocm --no-dkms
# Install specific development headers and the LLVM compiler
sudo apt install rocm-llvm hipblas-dev rocblas-dev
sudo usermod -a -G render,video $USER
- 编译适用gfx1201(R9700)的llama.cpp
注:如果编译中要是缺东西,往往是路径给错了
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp && mkdir build && cd build
cmake .. -DGGML_HIP=ON \
-DAMDGPU_TARGETS=gfx1201 \
-DCMAKE_C_COMPILER=/opt/rocm-7.2.3/llvm/bin/clang \
-DCMAKE_CXX_COMPILER=/opt/rocm-7.2.3/llvm/bin/clang++ \
-DCMAKE_PREFIX_PATH=/opt/rocm-7.2.3
make llama-server -j$(nproc)
最后跑起来
先测下40k上下文,开了Flash Attention, KV Q8
~/llama.cpp/build/bin/llama-server -m /home/<user>/.lmstudio/models/lmstudio-community/Qwen3.6-27B-GGUF/Qwen3.6-27B-Q4_K_M.gguf --port 1234 -ngl 999 -c 40960 -fa on --cache-type-k q8_0 --cache-type-v q8_0 --threads 2
去浏览器输入 localhost:1234,就可以看到对话窗口(如之前截图)


