之前那台基于超威(AMD)的 FreeBSD 台式机仍在运行,往后会交给我小孩使用,因此我得再配一台新电脑,只是没打算把机箱变大。为了找到下一款 Mini-ITX 机箱,我花了太多时间,横向对比后还是选了银欣(Silverstone)——同样小的体积里,没有谁能像它这样功能齐全。面对当前 AI 时代的定价,我没选择 DDR5 加 AM5 以免毁掉性价比,而是继续 AM4,用 AMD 锐龙(Ryzen)4750GE:35W TDP 却有 8 核 16 线程。新机箱 SG13 只比旧的 SG05 大 5%。
正文
我之前那台 AMD FreeBSD 桌面机 现在还跑得好好的——不过它马上就要变成儿子的电脑了……所以我得再弄一台新的,但不想换更大的 🙂。为了找下一台的 Mini-ITX 机箱,我花了太多时间,翻遍各种可能之后,还是选了 Silverstone 的箱子 :]……因为别家没有这么小又功能齐全的。同时我也在想到底该买什么,尤其是在这个被 AI 炒高价格的年头。以前某个没做成(希望以后也能写写)的项目里,我留下了一块 AMD Ryzen 4750GE,35W TDP 却有 8C/16T,还是 AM4 接口……所以与其去追 DDR5 + AM5 的性价比大坑,我选了够用的 AM4 方案。
机箱
旧机器用的是 Silverstone SG05,这次用 Silverstone SG13……两者几乎一模一样。
| | SG05 | SG13 | |---|---|---| | 宽 | 218mm | 222mm | | 高 | 175mm | 181mm | | 深 | 276mm | 285mm | | 体积 | 10.5L | 10.8L |
所以可以说体积只多了大约 5%……但这是受欢迎也正需要的 5%。
性能差异
新平台 CPU 大约快 25%,GPU 快 40–60%,取决于负载。SSD/NVMe 速度会和原来一样,因为还是 AM4 平台;内存也都是 DDR4,差别不大。
装机
零件在家摆了快一个季度(没错,我一直很忙),最后是儿子催我把机器装起来的——这是个积极的推动。我们带着所有零件坐到餐桌前,儿子超级好奇电脑到底是怎么装出来的。
先把 CPU 装进主板,再把 NVMe 插到 M.2 槽上。

接着涂硅脂、装风扇。

说实话,这事说起来容易做起来难:Thermalight AXP-90 X47 附带的安装件同时支持 AMD 和 Intel,我花了好一会儿才搞明白该用哪些螺丝和附件。

然后主板进机箱。

接下来是 RAM 还是 GPU?因为这块显卡是按毫米级估算能否塞进机箱的,所以先从 GPU 开始。

……可不管我怎么试、换什么角度,显卡就是进不去机箱 😦
我觉得挺逗的是,这卡叫 Challenger(挑战者),而它真的非常「挑战」人。

我后来干脆把机器命名为 challenger。我是 Dodge Challenger 的忠实车迷,自己也开 Dodge——只是暂时还不是 Challenger 而已 🙂。

我把显卡从各个角度都检查了一遍,一个细节引起了我的注意……

带风扇的塑料罩比显卡 PCB 大约宽 1cm,所以我决定精确地在那里下刀。

这是塑料罩被切到与 PCB 等长之后的样子。

裁剪过程大约就是这样——两三分钟的事。

……这是把罩子重新装回显卡之后。
可再往机箱里塞的时候,发现切得还不够,还是装不进去,于是我换了策略。我把显卡的扩展挡板拆下来、先把挡板放到机箱上对应的位置,再试着装显卡,想着之后再把挡板用螺丝拧回显卡上——结果怎么都对不上。于是下一个挨刀的是扩展挡板……下图是下刀之前。

……这是下刀之后 🙂

其实没切掉多少——但不切这一刀,这块 Challenger 根本别想进机箱。

这之后,我终于能把显卡固定到主板上了。

当时差不多就是这样。

……再盖上附加的挡板盖。

接下来装内存和 SATA SSD——没什么特别的——再装上电源,基本就齐了。

Thermaltake Toughpower Grand 750W 电源的线可以拆卸,真是太好了,能让我在机箱里少一根线 :] <sarcasm/>
我本来就喜欢动手组装各种东西——电脑自然也不例外——但装机时总有件事让我抓狂:机箱前面板按钮连到主板的那堆跳线。

2006 年给朋友装游戏 PC 的时候,差不多就是下面这样——拿一把螺丝刀短接启动。
性能差异
CPU 从 AMD Ryzen 7 1700 换成 AMD Ryzen 7 PRO 4750GE,性能大约提升 25%;GPU 从 5700XT 8GB 换成 7700XT 12GB,提升大约在 40–60% 之间。
两台主机外观上几乎看不出差别——下面这张是旧的那台。

这篇文章最想说的是:上面这些零件——尤其是显卡——在 FreeBSD 下配合 drm-kmod 和 x11-drivers/xlibre-xf86-video-amdgpu(XLibre AMD Radeon 显卡驱动)跑得很好。自从知道 Red Hat 那帮人想把 X11 阉割乃至干掉之后,我就不打算回到 Xorg X11 了;XLibre X11 才是我的家。Wayland 就更别提了——细节见 200 MB RAM FreeBSD Desktop 那篇。
固件
装完系统重启后,我运行了 fwget(8),让它把 FreeBSD 需要的固件都抓下来。
challenger # fwget -v
Trying to match device 0x747e in class video and vendor amd with pci_video_amd
Trying to match device 0x8168 in class network and vendor realtek with pci_network_realtek
Trying to match device 0x24fb in class network and vendor intel with pci_network_intel
Needed firmware packages: 'wifi-firmware-iwlwifi-kmod-7000'
但看起来还不够,因为每次启动 FreeBSD 都会报这样的错:
iwmbtfw: iwmbt_fw_read: open: /usr/local/share/iwmbt-firmware/ibt-hw-37.8.bseq: No such file or directory
iwmbtfw: main: Firmware download failed!
于是我开始挖问题根源。先在所有 /etc/rc.d 服务里搜 iwmbtfw:
``` challenger # grep -r iwmbtfw /etc /etc/devd/iwmbtfw.conf: action "/usr/sbin/iwmbtfw -d $cdev -f /usr/local/share/iwmbt-firmware";
challenger # ls /usr/local/share/iwmbt-firmware ls: /usr/local/share/iwmbt-firmware: No such file or directory ```
也就是说 /usr/local/share/iwmbt-firmware 不见了,但它本该存在……
challenger # man iwmbtfw | grep firmware
Firmware files are available in the comms/iwmbt-firmware port.
好吧……那就装 comms/iwmbt-firmware 包。
``` challenger # pkg search -o iwmbt comms/iwmbt-firmware Intel Wireless bluetooth adaptor firmwares used by iwmbtfw(8)
challenger # pkg install iwmbt-firmware ... New packages to be INSTALLED: iwmbt-firmware: 20251111 [FreeBSD-ports] ... The process will require 15 MiB more space. 5 MiB to be downloaded. ... [1/1] Installing iwmbt-firmware-20251111... ```
重启之后,那条报错再没出现过——所以装这个包就是解决办法。
硬件
以下是我实际拿到的硬件和花的钱,单位是欧元。有的是全新,有的是二手。
| 类别 | 欧元 | 型号 | |---|---|---| | 机箱 | 55 | Silverstone SG13 | | 电源 | 55 | Thermaltake Toughpower Grand 750W | | 主板 | 100 | ASRock B550M-ITX/ac | | CPU | 145 | AMD Ryzen 7 4750GE 8C/16T 35W TDP | | 显卡 | 340 | ASRock ATI Radeon 7700XT 12GB Challenger | | 硅脂 | 10 | Grizzly Thermal Kryonaut 2g | | 散热 | 40 | Thermalight AXP-90 X47 | | 风扇 | 5 | Savio BLADEX1 120mm PWM | | SSD | 45 | ADATA SU650 512GB | | NVMe | 50 | Phison ESO512GYLCT-EP3-2L 512GB | | 内存 | 150 | 2 x 16GB Goodram DDR4 3600MHz 1.35V CL18 | | 总计 | 995 | |
值不值不好说,反正我装了。
这期间我还把旧的 HP E221c FullHD 显示器换成了 HP E271i FullHD,屏幕下方加了一条 HP soundbar。说实话没什么特别的——显示器大约 70 欧元,soundbar 约 15 欧元。
XLibre X11
我安装了下面这些包:
challenger # pkg install -y drm-kmod xlibre openbox xterm xinit mesa-demos scrot radeontop screen lsblk beadm smartmontools
之后照常启动 XLibre X11:
vermaden@challenger % echo openbox > ~/.xinitrc
vermaden@challenger % xinit -- -dpi 75 -nolisten tcp
X11 XLibre 显示服务器照常起来,但我查日志一看——用的还是软件 scfb 驱动,因为我不在 video 组里。于是把自己加进去:
challenger # pw groupmod video -m vermaden
接着搜索 amdgpu 驱动:
challenger # pkg search -o amdgpu
x11-drivers/xf86-video-amdgpu X.Org amdgpu display driver
x11-drivers/xlibre-xf86-video-amdgpu XLibre amdgpu display driver
这里必须装 x11-drivers/xlibre-xf86-video-amdgpu 那个,因为装另一个会强迫你卸载 XLibre、改用 Xorg。
接着加 AMD Radeon 的 X11 配置:
challenger # cat /usr/local/etc/X11/xorg.conf.d/card.conf
Section "Device"
Identifier "Card0"
Driver "amdgpu"
Option "TearFree" "true"
EndSection
没什么花哨的,但用起来正合心意。
我还查了 /var/log/Xorg.0.log:
[2026-09-05 14:48:22] (II) LoadModule: "amdgpu"
[2026-09-05 14:48:22] (II) Loading /usr/local/lib/xorg/modules/xlibre-25/drivers/amdgpu_drv.so
[2026-09-05 14:48:22] (II) Module amdgpu: vendor="X.Org Foundation"
[2026-09-05 14:48:22] compiled for 1.25.1.9, module version = 25.1.2
[2026-09-05 14:48:22] ABI class: X.Org Video Driver, version 28.1
[2026-09-05 14:48:22] (II) AMDGPU: Driver for AMD Radeon:
All GPUs supported by the amdgpu kernel driver
没错……这正是我们想要的。
这是显卡在 pciconf(8) 输出里的样子:
challenger # pciconf -lv vgapci0
vgapci0@pci0:3:0:0: class=0x030000 rev=0xff hdr=0x00 vendor=0x1002 device=0x747e subvendor=0x1849 subdevice=0x5323
vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]'
device = 'Navi 32 [Radeon RX 7700 XT / 7800 XT]'
class = display
subclass = VGA
这是 FreeBSD 上 X11 XLibre 会话里的资源占用情况:
challenger # top -b -ores
last pid: 5702; load averages: 0.08, 0.08, 0.02 up 0+00:30:16 14:35:51
34 processes: 1 running, 33 sleeping
CPU: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 99.9% idle
Mem: 92M Active, 101M Inact, 1512M Wired, 2056K Buf, 29G Free
...
90382 vermaden 16 0 0 319M 136M select 6 0:01 0.00% Xorg
92537 vermaden 2 0 0 50M 22M select 12 0:00 0.00% openbox
1117 vermaden 1 0 0 26M 14M select 13 0:00 0.00% xterm
这是 FreeBSD 主要的 /etc/rc.conf:
``` challenger # cat /etc/rc.conf hostname="challenger.local" ifconfig_re0="inet 10.0.0.5/24 up" defaultrouter="10.0.0.1"
kldlist="${kldlist} amdgpu amdtemp" syslogdflags="-ss" sshdenable="YES" powerdenable="YES" dumpdev="AUTO" zfsenable="YES" ```
一点都不复杂——就是些简单东西。
功耗
功耗和旧机器差不多——只是略低一点。
| 功耗 | 状态 | |---|---| | 47W | 待机,未加载 amdgpu.ko | | 39W | 待机,加载 amdgpu.ko | | 45W | 忙碌,16 个 CPU 线程满载 @ 1.4GHz | | 80W | 忙碌,16 个 CPU 线程满载 @ 3.1GHz |
AMD Ryzen 7 4750GE 的 Turbo 频率是 4.3GHz,但我不确定它有没有被启用——因为我笔记本上的 CPU 会显示两个「最终」频率,比如 1801/15000 和 1800/15000,多一个 1 的就是开 Turbo 的那个,但这颗 AMD Ryzen 7 4750GE 上没看到类似的东西。
而且它只支持 C1 状态……有点遗憾 😦
challenger # sysctl dev.cpu.0
dev.cpu.0.temperature: 47.0C
dev.cpu.0.cx_method: C1/hlt
dev.cpu.0.cx_supported: C1/1/0
dev.cpu.0.cx_lowest: C1
dev.cpu.0.freq_levels: 3100/3778 1700/1615 1400/1277
dev.cpu.0.freq: 1400
这是这台机器上 sensors(8) 的输出:
``` challenger # sensors BATTERY/AC/TIME/FAN/SPEED
dev.cpu.0.cx_supported: C1/1/0
dev.cpu.0.cx_usage: 100.00% last 10882us
dev.cpu.0.freq: 1400
hw.acpi.cpu.cx_lowest: C1
powerd(8): running
SYSTEM/TEMPERATURES
dev.cpu.0.temperature: 47.1C
dev.cpu.1.temperature: 47.1C
...(16 个线程全是 47.1C)
DISKS/TEMPERATURES
smart.ada0.temperature_celsius: 34.0C
smart.nvme0.temperature: 39.0C
```
不算好,也不算坏。
PKGBASE 升级
因为我装的是原版 15.1-RELEASE,现在把它升到最新的 15.1-pX:
``` challenger # pkg upgrade -r FreeBSD-base ... The following 52 package(s) will be affected (of 0 checked):
Installed packages to be UPGRADED: FreeBSD-audit: 15.1 -> 15.1p2 [FreeBSD-base] FreeBSD-clibs: 15.1 -> 15.1p2 [FreeBSD-base] FreeBSD-kernel-generic: 15.1 -> 15.1p3 [FreeBSD-base] FreeBSD-runtime: 15.1 -> 15.1p3 [FreeBSD-base] FreeBSD-src: 15.1 -> 15.1p3 [FreeBSD-base] ...(其余省略)
579 MiB to be downloaded. ```
整个升级很顺利。升级完成后重启,一切正常。
题外话
从那次在餐桌上的装机算起,半年过去了。一个月前,我 10 岁的儿子跑来说:「爸,我用 ChatGPT 写了个 PC Builder 游戏,你想不想玩玩?」我试了之后真的被震住了——是那种正面的震撼。我 10 岁的时候连 AMIGA 600 都没有,还在 Pegasus(一种廉价的波兰 NES 山寨机)上玩各种游戏;大约 12 岁才拿到 AMIGA 600(凭着模糊的记忆说),而且那时候还在玩 Sensible World of Soccer、Cannon Fodder 这类游戏,根本不会去创作任何东西。下面就是这款(经过和 AI 多轮迭代的)PC Builder 游戏的样子。

是的——界面是波兰语,但我相信只要一句话就能让它随时切换成英语或波兰语。
儿子还让我意外过好几次。有一次我跟他说「外面不只有 ChatGPT,还有 Perplexity、Claude、Gemini 这些」,他好几次回答说:「爸,我 token 用光了,就把手头的东西复制出来粘到另一个 AI 里,它接着我的活干,还把我想要的改动加上了。」看着儿子这么折腾——虽然还在起步阶段,但已经是个货真价实的 Vibe Coder——我不禁觉得学校那套教育就是个大笑话。数学、物理、英语这些当然必要也有用;可其他的呢?说好听点是选修。我在学校时就这么觉得,也一直是这么做的。为了考试硬塞一堆东西、拿个分数然后再全忘光,纯粹是浪费时间。
有意思的是,儿子从没玩过我写的游戏,而我倒已经玩过他写的两盘了。希望每位父母都能有这样的体验。
评论
讨论整体氛围偏友善,主要分歧集中在桌面自由系统的选择上,一部分人认可 FreeBSD 与 X11 的价值,另一部分人则吐槽 FreeBSD 的文档与更新节奏不如 Linux。
认为 FreeBSD 桌面体验值得肯定且贡献突出
- 不少用户认可博主对 FreeBSD 桌面的推广,认为其博客内容在搜索结果中经常出现,降低了 FreeBSD 的使用门槛,搭配 Wayland 和 KDE Plasma 也有不错的可用性(较多人) > 维马登在让 FreeBSD 更易上手方面的贡献非常宝贵,很多 FreeBSD 相关搜索结果都会关联到他的博客(@slyfox125)
认为 X11 正受到不合理的边缘化压力
- 有用户表示 X11 的发展受到部分势力刻意压制,反而让 XLibre 这类分支快速获得关注,对持续推崇 Wayland 的社区氛围持保留态度(少数人) > 很高兴看到 XLibre X11 发展起来,顶住了那些一直想拆台 Wayland 政治派系的打压(@KetoManx64)
吐槽 FreeBSD 文档与更新节奏落后于 Linux
- 有长期使用者指出 FreeBSD 更新变化快,但缺乏清晰的官方指引或优质博客说明“正确做法”,相比 Linux 生态的文档友好度明显不足(较多人) > FreeBSD 的变化很难跟上,我现在都不知道去哪找靠谱的“正确做法”说明,Linux 的博客资源要好得多(@badgersnake)
有价值的补充
- 有用户提醒机箱电源安装方向需注意,若进风不足可能导致 CPU 积热,影响电源寿命(@comprambler)
- 有用户提到 FreeBSD 的 fwget 工具对硬件支持有新的帮助,尚不为多数老用户熟悉(@badgersnake)