统一Linux驱动第一步:AMD发布新版AMDGPU内核驱动

AMD公司早在去年就正式发布了Radeon R9-285显卡。然而,相关的开源Linux驱动却迟迟没有推出。经过近一年的等待,AMD在4月20日宣布推出最新的AMDGPU Linux内核驱动。

AMDGPU内核驱动支持最新的Radeon R9 285显卡、即将推出的GPU和Carrizo等APU。根据Alex Deucher在XDC2014大会宣布的统一化GPU驱动架构,AMD公司将AMDGPU代码中的开源模块及闭源模块统一成单一的开源内核模块。这些驱动使用相同的DRM library ioctl wrapper (libdrm)和DDX(X.Org)驱动。其中,闭源驱动限制智能用户态工作,主要负责处理OpenGL、OpenCL/compute等,并与开源堆栈沟通交换信息。

除了新的AMDGPU内核驱动,新的xf86-video-amdgpu DDX驱动也被一并推出,用来支持新的DRM/KMS组件上的X.Org服务器。libdrm代码经过更新,命名为libdrm_amdgpu。至于Mesa/Gallium3D驱动方面,Volcanic Island硬件支持仍然内置在RadeonSI/Gallium3D驱动内,该驱动支持Radeon HD 7000系列以及更新的GPU。新的AMDGPU winsys被添加到Gallium3D,但是实际的驱动程序为经过明显修改的RadeonSI,用来支持最新的AMD硬件。此外,新的AMDGPU栈依赖LLVM 3.6或者更新,但是LLVM3.7 SVN能够使得性能最大化。

据Phoronix.com网站的作者Michael Larabel表示,新的驱动在VI和Carrizo方面所支持的内容包括OpenGL 3.3、利用带Gallium3D VDPAU状态追踪器的UVD模块实现的视频解码和利用VCE引擎的视频编码。新的驱动模式适用的是Tonga以及未来一代的AMD GPU产品。但是,现在的Radeon GPU用户仍然可以使用目前的Radeon DRM驱动。AMD公司会在未来一段时间继续维护这些驱动程序。

目前,AMDGPU内核驱动程序已经可以通过Alex Deucher创建的Git分支来获得。驱动程序所支持的内核版本为Linux 4.2. 新的xf86-video-amdgpu驱动也可以下载相应的压缩包。此外,Mesa的更新和libdrm的更新需要单独通过freedesktop网站进行下载。AMD公司的Alex Deucher表示,当前的AMDGPU代码还缺乏对Tonga GPU的功耗管理等。未来,AMD会很快解决代码中存在的这些问题。

感谢魏星对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群InfoQ好读者)。

你可能感兴趣的:(统一Linux驱动第一步:AMD发布新版AMDGPU内核驱动)