patrykbajos
patrykbajos

Reputation: 393

From where programmers of Linux open source drivers know how to 'talk' with e.g. AMD GPU?

Is there any documentations what commands/data can CPU send to GPU to perform operations? I mean operations similar to those in VGA standard. Have drivers programmers to do reverse engineering of MS drivers to know how to 'talk' with GPU?

Upvotes: 1

Views: 319

Answers (1)

Anton Angelov
Anton Angelov

Reputation: 1244

Is there any documentations what commands/data can CPU send to GPU to perform operations?

Yes, some video hardware manufacturers has made the specifications of their GPUs public. For example AMD and Intel did.

  • For AMD: some hardware specifications can be found here and here.
  • For Intel: information can be found here.
  • For 3Dfx: there is information for few model like Voodoo2, Voodoo3 and Voodoo Banshee can be found here.

Have drivers programmers to do reverse engineering of MS drivers to know how to 'talk' with GPU?

Yes, the nouveau is an example of that. It is an open source driver for NVidia video cards, created by reverse engineering the proprietary NVidia drivers for Linux. The limadriver is an open source driver for ARM's Mali GPUs and freedreno is the same for Qualcomm's Adreno.

VESA

Many video cards provide the Video Electronics Standards Association (VESA) standard interface which exposes some basic functionalities as setting graphical modes and providing access to linear frame buffer. Each video hardware manufacturer provides their own implementation which is called VESA Bios Extension (VBE). Following are resources for VESA programming:

Upvotes: 2

Related Questions