返回

文章详情

AArch64桌面实验的结束

Hacker News2026年6月30日 04:51

这篇文章是"让我尝试使用AArch64系统作为桌面"系列的第七部分:AArch64桌面:第一天 AArch64桌面:第二天 AArch64桌面:最后一天 Arm桌面:2025尝试,第一部分 Arm桌面:仿真 Arm桌面:如此多的核心,但速度不足 AArch64桌面实验的结束 在使用AArch64桌面大约十一个月后,我决定结束这个实验。 硬件配置 大约一年前,我购买了一个Ampere Altra系统。 在移动了一些硬件并进行了几次额外的订单后,最终的配置是: CPU:Ampere Altra Q80-30处理器(80核心,3.0GHz) RAM:128GB(8x 16GB HMA82GR7CJR8N - XN) GPU:AMD Radeon RX6700XT NVME:Lexar LM970 2TB,ADATA SX8200 Pro 1TB 主板:ASRock Rack ALTRAD8UD - 1L2T PSU:MSI MPG A850G(850W)机箱:Endorfy 700 Air USB3无名USB 3.2/10Gbps控制器(PCIe x4) 公平地说,我应该提到这是一个服务器主板,而不是桌面主板,并且Altra系统从未打算作为桌面使用(尽管一些公司将其作为这样的产品销售)。 自然,经过测试/批准的设备列表(TLA粉丝的合格供应商列表(QVL))相当简短,对于Ampere Altra系统,它不包含AMD Radeon GPU卡。它们可以运行,但这通常需要额外的努力。额外的USB 3.2控制器让我可以连接比主板单独支持的更多USB设备,并且给我提供了一些10Gbps的端口用于连接外部NVMe驱动器。整个系统在Fedora 42-44下运行良好。 第一个问题 你有没有注意到上一段末尾的小“*”?我使用的系统并不完全是Fedora——我不得不使用自己构建的内核。 你看,Ampere Altra中的PCI Express控制器有一些问题。让我引用Ampere Altra erratum 82288补丁的描述:根据Altra系列的错误,PCIE_65可能导致在PCIe mmio写入时生成无效地址,这会影响某些设备类型,特别是AMD GPU,因此Altra系列通常与这些设备类型不兼容。补丁本身的更长描述是:PCIe设备驱动程序可能将MMIO空间映射为普通的、不可缓存的内存属性(例如,使用ioremap_wc映射MMIO的Linux内核驱动程序)。这可能是为了启用写合并或非对齐访问。这可能导致由于写合并操作的问题而在PCIe接口的外发MMIO写入上产生数据损坏。解决方法修改将PCIe MMIO空间映射为普通、不可缓存内存的软件(例如,ioremap_wc),而改为设备、非聚合内存(例如,ioremap)。并且对PCIe MMIO空间的所有内存操作必须严格对齐。因此,为了拥有一个可工作的Linux系统,我必须在每次软件包更新时重建内核。通常意味着“每周”。每周一或二,我会更新本地Fedora内核软件包仓库的副本,并使用自己的版本命名方案构建它,比如“7.0.2-200.fc44.pcie65.6”。“pcie65”部分让我记得我应用了哪些补丁,而“6”是补丁重新打补丁的计数器。我从GitHub克隆了仓库,然后对补丁进行重新打补丁,根据需要自适应。副作用是,我经常使用比官方Fedora版本更新的内核——在Fedora内核软件包仓库中有一个“稳定化”分支,那里存在即将发布的版本。因此,当Fedora有6.19.y内核时,我有7.0.z内核。 如此多的核心,但速度不足 正如我在之前的帖子中所写,拥有八十个CPU核心并不意味着系统是一个好的快速桌面机器。 AMD GPU开始出现故障 正如我上面提到的,为了让我的AMD Radeon RX6700XT正常运行,我不得不使用非官方的补丁修改内核。它起作用了,我可以玩一些游戏,观看具有硬件加速的视频解码。直到有一天,围绕Linux 7.0版本,它开始出现故障。运行游戏结束时的消息为:kernel:amdgpu 0000:03:00.0:环 vcn_dec_0 的 Fence 后备计时器到期 kernel:amdgpu 0000:03:00.0:环 vcn_dec_0 的 Fence 后备计时器到期 kernel:amdgpu 0000:03:00.0:环 vcn_dec_0 的 Fence 后备计时器到期 一次又一次。观看YouTube视频变得不可能,因为丢弃了750帧中的720帧,等等。通常我会开始二分查找内核以找出问题所在。但是我正在运行一个由于PCIE65补丁而被标记的内核,所以谁知道问题实际上出在哪里…… 让我们购买Nvidia 我买了一块Nvidia RTX 2060显卡,替换了AMD Radeon。结果证明,如果我想在nouveau内核驱动程序下使用它,我仍然需要应用PCIE65补丁……因此,我尝试了默认的Fedora内核与Nvidia二进制驱动程序。结果很好。视频解码加速,某些在Wine下的游戏也能正常运行。但随后我开始使用FreeCAD和OrcaSlicer。在这两种情况下,我都遇到了崩溃和退出……结果发现,在AArch64的Flatpak仓库中没有org.freedesktop.Platform.GL.nvidia。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡