Radeon HD driver status update

Blog post by kallisti5 on Tue, 2011-10-18 17:11

UPDATE 10/19/2011! Older Radeon HD cards seem fully working minus HDMI. See below.

After several months of hard work (including some redesign of the driver) basic mode setting is working on a small number of Radeon HD cards after r42877. I am using the AMD AtomBIOS parser which executes binary functions on the Radeon HD card to do the real register hitting.


  • No 2D acceleration - 2D acceleration hasn't been started yet. These cards are fast without it however.
  • TV not working - I haven't put a lot of focus on TV just yet
  • Later cards - Radeon HD 5xxx+ cards are still having issues
  • DIG encoders - Later (r700?) Radeon cards can have DIG encoders. These are like digital encoders... but newer and not done yet.


  • Connector walking - We walk over all possible connectors and probe EDID data on each.
  • Multi-monitor - We can easily support multiple monitors in the driver. We just need to tie in the Screen Preflet code to make it happen. For the moment we set the same VESA EDID video mode on each attached display and get mirroring (as long as your displays are identical).
  • Monitor detection - We can manually trigger monitor detection (in the code, needs a Screen Preflet option) and set the initial mode on each display, hotplug support is planned.
  • Analog video - VGA, DVI-A, DVI-I (VGA)
  • Digital video - DVI-I (digital)

Card support:

  • Radeon HD 2350 - Radeon HD 3450 - Analog / Digital (minus HDMI) working
  • Radeon HD 3470 - Radeon HD 4890 - Unknown. Please test!
  • Radeon HD 5450+ - Analog mode change works, no video. Digital DIG encoder not complete

Things should get smoother at this point as we have a working video for reference.

The radeon_hd driver should be in the nightly images starting with r42888+. If you have a Radeon HD card, feel free to report functionality here or by emailing me.

In closing, for those "pictures or it didn't happen" people... http://twitpic.com/71xhll

Driver status update : Radeon HD

Blog post by kallisti5 on Fri, 2011-05-13 15:35

EDIT: 05/28/2011: Add card functionality as of r41792

I have recently been working on the radeon_hd graphics driver and accelerant to get extended mode setting complete for the Radeon r600-r800 chipsets (Roughly Radeon HD 31xx - Radeon HD 59xx)

We still have a *very* long way to go, however the following is now working in the driver:

  • Identifying a pretty large range of Radeon HD cards based on PCIID
  • Reading card information such as Memory and recording it
  • Reading the active monitor EDID
  • Creating mode lines from the EDID information above and adding them to the available mode lines
  • Passing the active monitor EDID to the screen preflet for monitor vendor/model/serial identification

Here are the short-term todo items (with focus on getting extended mode setting working):

  • Set non-vesa (extended) mode lines by toggling the vendor-specific Radeon registers
  • Implement PLL controls
  • Add a few card-specific screen preflet options

Here are the long-term todo items:

  • Finish AtomBIOS support to support advanced card functionality
  • Multi-monitor support

I am looking forward to (hopefully!) getting base functionality to the ATI Radeon HD cards. If you have and comments / PCI ID numbers / etc feel free to contact me and let me know.

Here are the current card test results as of 5/28/2011 r41792

Radeon HD 3450 r620  -- kallisti5
   Primary monitor works at native resolution of
   1440x900 but image offset and cut off.

Radeon XT 2600 r630 -- Benjamin Angerer 
  Primary monitor works perfectly. Plugging secondary
  monitor causes major issues as we are using EDID VESA
  results. (we try to use the VESA primary monitor modelines
  on the secondary monitor)

Radeon HD 4350 r710 -- kallisti5
  White screen of doom, incorrect screen mode change.

Radeon HD 5830 r800 -- kallisti5
  White screen of doom, incorrect screen mode change.
Syndicate content