linux:gpu:about
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
linux:gpu:about [2023/08/05 10:28] – peter | linux:gpu:about [2023/08/05 10:32] (current) – peter | ||
---|---|---|---|
Line 9: | Line 9: | ||
* So you could say, "let us create a vendor-neutral interface for graphics so that apps can ignore the GPU-specific bits and get right to the drawing!" | * So you could say, "let us create a vendor-neutral interface for graphics so that apps can ignore the GPU-specific bits and get right to the drawing!" | ||
- | * Mesa is a collection, because it contains a few user-space drivers for different GPU families: radeonsi for most modern AMD GPUs (and r600g, r300g and others for older ones), i915/i965 for old/new Intel GPUs and nouveau for Nvidia GPUs. There is also Gallium, which is a bunch of utilities and common code shared among these drivers - if certain things can be done once and work everywhere (assuming the drivers follow a few rules), they will land in Gallium and benefit all the drivers. | + | * Mesa is a collection, because it contains a few user-space drivers for different GPU families: radeonsi for most modern AMD GPUs (and r600g, r300g and others for older ones), i915/i965 for old/new Intel GPUs and nouveau for Nvidia GPUs. There is also **Gallium**, which is a bunch of utilities and common code shared among these drivers - if certain things can be done once and work everywhere (assuming the drivers follow a few rules), they will land in Gallium and benefit all the drivers. |
* That is for 3D acceleration - what about just displaying 2D windows and such? X.org supports device-specific 2D drivers as well, but nowadays most of these are no longer needed as the modesetting can handle most hardware on its own. As the DRM/DRI got some additional interfaces for what used to be hardware-specific (setting resolutions, | * That is for 3D acceleration - what about just displaying 2D windows and such? X.org supports device-specific 2D drivers as well, but nowadays most of these are no longer needed as the modesetting can handle most hardware on its own. As the DRM/DRI got some additional interfaces for what used to be hardware-specific (setting resolutions, | ||
Line 26: | Line 26: | ||
Out of a few interesting tidbits that come to mind: | Out of a few interesting tidbits that come to mind: | ||
- | * Other graphics APIs like Vulkan or Direct3D would be implemented as separate user-space drivers. (Mesa actually supports Direct3D 9 on Gallium drivers if you compile it with that option, and apps running on Wine can utilise that.) | + | * Other graphics APIs like **Vulkan** or **Direct3D** would be implemented as separate user-space drivers. (Mesa actually supports Direct3D 9 on Gallium drivers if you compile it with that option, and apps running on Wine can utilise that.) |
* This stack is actually very tightly integrated and is generally a moving target. | * This stack is actually very tightly integrated and is generally a moving target. | ||
Line 32: | Line 32: | ||
* Mobile GPUs like Adrenos (built into the Qualcomm Snapdragon CPUs) and VideoCore (in Raspberry Pis, basically Broadcom CPUs) also are starting to be supported on modern open-source graphics stacks. | * Mobile GPUs like Adrenos (built into the Qualcomm Snapdragon CPUs) and VideoCore (in Raspberry Pis, basically Broadcom CPUs) also are starting to be supported on modern open-source graphics stacks. | ||
- | * AMD had their own fully-proprietary driver stack (kernel + user-space components, like the current NVIDIA stack) called fglrx back in the day... haha, funny thing, let us forget about it as soon as possible because holy hell that was not good. | + | * AMD had their own fully-proprietary driver stack (kernel + user-space components, like the current NVIDIA stack) called |
linux/gpu/about.1691231295.txt.gz · Last modified: 2023/08/05 10:28 by peter