tree: 9a081c29d8de6d21f29e2862a262218fb185a4a6
  1. meta/
  2. BUILD.gn
  3. framebuffer-amd-display.cc
  4. README.md
src/graphics/display/drivers/framebuffer-amd-display/README.md

AMD Framebuffer Display Driver

This is a simple display driver for AMD GPUs that uses the framebuffer configured by the bootloader. It is intended for early-boot use before a full AMD display driver is available.

Supported hardware

This driver does not implement any AMD-specific hardware programming and it relies entirely on the framebuffer that the bootloader (UEFI/Gigaboot) has already configured. It will bind to any PCI device with AMD‘s vendor ID and PCI Display class, and reads the framebuffer through PCI BAR 0 (a convention that holds across AMD’s discrete and integrated GPUs).

The driver has only been validated on the following hardware:

  • AMD Strix Halo (Ryzen AI Max+ 395)

Manual testing

We do not currently have automated integration tests. Behavior changes in this driver must be validated using this manual test on a supported AMD device.

  1. Launch the squares demo in the display-tool test utility.

    ffx target ssh display-tool squares
    
  2. Add the following footer to your CL description, to document having performed the test.

    Test: ffx target ssh display-tool squares
    

These instructions will work with a workbench_eng.x64 build that includes the //src/graphics/display:tools GN target. The //src/graphics/display:tests target is also recommended, as it builds the automated unit tests. Debug assertions, which are extensively used in display drivers, are only enabled in debug builds.

fx set workbench_eng.x64 --debug --with //src/graphics/display:tools \
    --with //src/graphics/display:tests