No announcement yet.

What Is AtomBIOS & These Different Drivers?

  • Filter
  • Time
  • Show
Clear All
new posts

  • Originally posted by sylware View Post

    The "official" driver is not anymore the radeonhd but the radeon driver (it's probably that one you use)

    The atombios is a set of memory tables (stored in the ROM associated to the gpu chip). It includes a fully executable byte code.

    It's main purpose is to be customized by board manufacturers in order to abstract away the details of their board for the OS driver. Yes, the OS driver cannot reasonnably deal with all the customisations of the board manufacturers.

    On AMD GPU, the atombios is also in charge of DCE (Display Control Engine) programming. Basically, when you want to perform operations on this silicium block, you would have to interpret the appropriate atombios byte code.

    Atombios is ACPI for AMD's GPU board.

    Moreover, I have seen some infos on AMD's Graphics Core Next (HD79xx), and we don't know what will happen to the atombios (and DCE) since this is a huge architectural change scheduled for next year.
    So is more of the sticky outdated? anyone can update it for people arriving now, please? the original post is from 2007 and this update from 2011...

    edit: both before my join date


    • Don't think anything much has changed since 2011, other than us moving to a new kernel & X driver starting with VI hardware and up.

      The radeonsi Mesa pipe driver is still common between CI&down / VI&up though.
      Test signature


      • how to find perfect peripheral for my need?
        does anyone available for assist me?
        i will PM you.
        /many thanks
        Sun Hsing


        • Originally posted by bridgman View Post
          We went kinda global -- Michel and Christian are in Europe, Alex and Tom are in North America.
          ~crickets noises~

          Here from Australia.


          • If this first page gets updated...
            I would like to learn, what this "NINE" og "Gallium NINE" that is sometimes used in the forum means.
            Wikipedia tells me about a Gallium driver for DX9 - so probably only used by wine for playing Windows games, right?
            Which drivers support NINE (radeonSI, AMDGPU, fglrx)? Does it require a special wine or a special driver setting?
            The Czech web page that my search engine found is empty:



            • Originally posted by Aisyk View Post
              We have :
              Radeon SI
              Gallium3D (directx 9 ?)
              Radeon Xorg driver
              Mesa ? (not just for intel ?)

              I'm a little lost between theses drivers, someone can explain me which are the best, active or inactive (most or less), or future ?
              The answer depends a lot on your hardware - which GPU do you have, or are you thinking about newest HW ?

              In general though...

              *** amdgpu can refer to one of five different things:

              1. The backend (code generator) in the LLVM compiler that generates code for AMD GPUs

              2. A Linux kernel driver written for GCN hardware and up, currently enabled by default upstream for VI only

              3. An X driver written for GCN hardware and up - AMD-specific alternative to generic "modesetting" X driver

              4. An all-open stack - amdgpu kernel driver, libdrm, OpenGL / OpenCL / video via Mesa/radeonsi and amdgpu or modesetting X driver

              5. A hybrid stack (usually referred to as AMDGPU-PRO) - amdgpu kernel driver, libdrm, amdgpu X driver, video encode/decode via Mesa/radeonsi and OpenGL/OpenCL/Vulkan via Catalyst closed drivers

              *** Gallium3D is a HW driver framework used by a number of different driver stacks, including radeon/amdgpu, nouveau and others, supporting three major components:

              1. State tracker (implements a specific API, eg OpenGL)
              2. Pipe driver (includes most of the HW-specific code, used by state trackers)
              3. Winsys driver (OS-specific code plus some HW-specific as well, used by pipe driver to talk to kernel driver)

              *** radeonsi is one of the Gallium3D pipe drivers in Mesa, supporting GCN hardware and up, used by other Mesa code for OpenGL, OpenCL and video

              *** Nine (from your directx9 reference) is a Gallium3D state tracker which helps to implement the DX9 API

              *** Radeon can refer to either a kernel driver, an X driver or a stack... the radeon X driver is one of three commonly used with AMD hardware, with the others being amdgpu and modesetting

              *** Vulkan is a recently released new Khronos API, evolved from the "GL Next" initiative but lower level than OpenGL, more like Mantle or DX12

              *** Mesa started as a software implementation of OpenGL but evolved into the main project for open source GPU acceleration, including support for multiple HW vendors (via pipe drivers), multiple APIs (via state trackers) and multiple OSes (via winsys drivers)

              Mesa includes a few different generations of HW driver frameworks - Gallium3D is one, "classic Mesa" is another - I believe Intel uses a heavily upgraded "classic" driver framework while code for most other vendors uses Gallium3D. The relative merits of the two are discussed annually at XDC and monthly here, along with the ever-popular "LLVM or something else for shader compiler ?" topic
              Last edited by bridgman; 23 May 2019, 05:08 PM.
              Test signature


              • Thanks for your response !

                I have a X1250 (RS690M) on a Notebook (MSI U210). I have some artefact when i connect a second screen (need to have only one screen), and with Cinnamon on my Linux Mint 17.3 (only black rectangles on windows decorations). For now, i have the defaults drivers, but i'm interesting in change for a better thing...


                • I came here to try to learn more about the differences between the drivers (I used to understand it, but have recently let a giant brain fart cause permanent damage).

                  I'm mostly trying to understand which drivers would be the best for gaming for my desktop and for my laptop. My desktop uses a R9 270 (original, no X). It actually has two, but I disable the second one since I only have 2/3 games that can marginally benefit from it.

                  The other is an A8-6410 ( I'm not expecting to play anything demanding on it, but if I could play Civ V on low settings, and stable, I would consider that mission accomplished. I'm planning to make the switch back to Linux (probably Ubuntu or Opensuse) at the end of this month or the middle of May. I just have a ton of files on both that I need to finish organizing then back-up. Anything that can help make picking the best driver for gaming on each machine would be greatly appreciated.


                  • Originally posted by b15hop View Post
                    Here from Australia.
                    If it helps, I believe Dave Airlie works out of the Red Hat office in Brisbane.

                    I have not confirmed this visually though, since my last trip to Australia happened before he moved out there
                    Test signature


                    • Thanks for this explanation. I've been on a mission to understand the software stack on my computers, especially the graphics. For one reason, my current systems are stuck with fglrx or radeon (e.g pre-GCN). I have it from a good source that the radeon driver is a pretty good performer wrt the proprietary fglrx. However, navigating the discussion of mesa-this, gallium-that, vulkan-the-other, I've a way to go, but am getting a better handle on it. I think if I ever get around to experimenting with coding around the linux graphics ecology, then I'll learn!