AMD Radeon KMS Being Ported To FreeBSD
Jean-Sébastien Pédron has started a project to implement up-to-date support for AMD GPUs in FreeBSD.
The project started with an initial TTM port by Konstantin Belousov, who completed this work in two weeks, which is particularly impressive as it can only be properly tested when used with a driver. M. Pédron is taking this initial port, and fixing any issues that become apparent over the course of the project.
Alexander Kabaev had made a buildable port of Linux 3.4's radeon driver, whereas this new project is based on Linux 3.8-rc3, with Mr. Kabaev's changes being cherry-picked.
The code in question is permissively licensed so there are no issues including a modified form in the Freebsd kernel. The project is not as large in scope as Mr. Belousov's, which required him to undertake a large amount of work on vendor-independent infrastructure), but is by no means a simple task; one of M. Herrb's concerns about the future of X on non-Linux systems was the lack of documentation of TTM.
Since the announcement of Mr. Belousov's project users have asked about AMD KMS. It has been a deal-breaker for some users as Radeon HD 6000 (and later) cards are not supported by UMS, leaving users of such hardware no choice but to use the vesa driver, which lacks any acceleration (and support for widescreen resolutions).
AMD recently dropped UMS support for all cards, which further increased the need for this project. The current state of the project is that card BIOS data is read correctly, several issues in TTM have been solved and devices attach correctly. Unfortunately some parts of the driver are not started correctly, resulting in a blank screen. X cannot yet be started due to a problem in xf86-video-ati, but this is M. Pédron's next target. Given that the project only started in January, the progress has been rapid.
More information can be found from the mailing list announcement and the FreeBSD.org Wiki.
Latest Linux Hardware Reviews
Latest Linux Articles
Latest Linux News
Latest Forum Discussions