19

麦斯科技 · 2023年05月07日 · 四川

AMD Radeon PCIe显卡使用Rockchip RK3588 SBC进行测试

https://www.cnx-software.com/2023/05/02/amd-radeon-pcie-graphics-card-tested-with-a-rockchip-rk3588-sbc-radxa-rock-5b/

作者:JEAN-LUC AUFRANC (CNXSOFT) 2023年5月2日

当Rockchip首次推出带有PCIe接口的Rockchip RK3399处理器时,人们最初希望他们可以连接显卡,但由于32MB的寻址限制,这些希望很快就破灭了。

然而,新的Rockchip RK3588处理器上的PCIe实现没有这样的限制,去年11月,Radxa调侃了一个演示,该演示使用AMD Radeon Pro WX 5100 PCIe显卡连接到Rock 5B SBC,在Radeon GPU上运行glxgears演示。

AMD-Radeon-PCIe-graphics-card-Rockchip-RK3588-SBC.jpg

我找不到任何重现此设置的说明,但这引起了Jasbir的兴趣,他试图用Radxa Rock 5B做一个自己的测试,该5B通过“M.2 Key M Extender Cable to PCIE x16 Graphics Card Riser Adapter”(Aliexpress售价14美元,外加税费https://fave.co/3oZ7gBw)连接到AMD Radeon R7 520(https://amzn.to/3oXQPWa),并由LR1007(https://s.click.aliexpress.com/e/_DkZIZnr) 120W 12VDC ATX板供电。

实验基本上是成功的,因为他成功地在他的设置中运行了kmscube、glmark2-drm和glmark2-es2-drm 3D图形演示,正如你从下面嵌入的3分钟视频中看到的那样。

1.PNG

视频链接:

B站:https://www.bilibili.com/vide...

Youtube:https://youtu.be/ZqTd7LbIbMM

然而,这并不是开箱即用的,因为首先他必须用显卡驱动程序和修复程序构建一个自定义内核,并用它更新Radxa的Debian映像。这一开始不起作用,主要有两个原因:

1.PCIe DMA传输的内存分配限制为32位,虽然具有4GB RAM的板可能看不到问题,但用于测试的8GB板可能选择了4GB以上的地址范围。

2.AMD卡依赖于PCIe snooping,RK3588互连上没有CPU snooping。因此,同一设备内存块的任何缓存副本都不会被更新以保持同步。

在实现了上述两个问题的解决方案后,kmstest示例成功运行,但kmscube最终出现了一个错误:

After implementing workarounds for the two issues above, kmstest sample ran successfully, but kmscube ended up with an error:
GL_MESA_framebuffer_flip_y GL_EXT_depth_clamp GL_EXT_texture_query_lod "
===================================
Using modifier ffffffffffffff
Modifiers failed!
Bus error

Jasbir解释说,需要进行另一次修复:

为了修复Radeon内核驱动程序,我们正在确保卡内存映射为“设备内存”类型的Device nGNE。如果是“正常内存”,则允许未对齐的访问。这意味着在遇到这些错误时修复用户空间驱动程序/应用程序,因为这些应用程序可以直接占用卡内存。对于这个特定的总线错误,它是由radeon gallium驱动器中的memcpy引起的,并在那里进行了修复,如视频中所示

修复后,视频中显示的所有图形示例都可以正常运行。然而,运行startx以着色器编译器错误结束,这将需要更多的工作。VAPPI的视频播放也不成功。因此,尽管它看起来很有前景,但仍然不可能像将eGPU与x86迷你PC一起使用那样,将PCIe显卡与Rockchip RK3588 SBC一起使用(https://www.cnx-software.com/2021/03/14/using-an-egpu-with-a-mini-pc-intel-nuc-7-8/),但这可能是在未来。

你可以在Jasbir的帖子(https://jas-hacks.blogspot.com/2023/04/rk3588-adventures-with-external-gpu.html)中找到更多细节。请注意,他没有提供修复和解决方法,只是完成步骤并解释错误,所以如果没有一些认真的工作,你将无法轻松地复制他的演示。

推荐阅读
关注数
5756
内容数
525
定期发布Arm相关软件信息,微信公众号 ArmSWDevs,欢迎关注~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息