News: 0001583998

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Imagination PowerVR Mesa Vulkan Driver Enables Unofficial Support For More GPUs

([Mesa] 4 Hours Ago Not Properly Supported)


Merged today for the Mesa 25.3 graphics driver code is enabling support for more PowerVR Imagination GPUs within the "PVR" Vulkan driver albeit not officially supported nor in active development. Your mileage may vary but for some users with certain GPUs may work out well enough.

Merged for Mesa 25.3 is adding the necessary device information bits for more supported and unsupported GPU cores. This includes some additional PowerVR Series 6XE, 6XT, 8XE, and B-Series GPUs. This complements the PVR driver currently being focused on the A-Series AXE-1-16M and the B-Series BXS-4-64 / BXM-4-64 GPU IP.

The newly-added documentation for the open-source PVR driver explains:

"The following hardware is unsupported and not under active development:

========= =========== ==============

Product Series B.V.N.C

========= =========== ==============

GX6250 Series 6XT 4.45.2.58

GX6650 Series 6XT 4.46.6.62

G6110 Series 6XE 5.9.1.46

GE8300 Series 8XE 22.68.54.30

GE8300 Series 8XE 22.102.54.38

BXE-2-32 B-Series 36.29.52.182

BXE-4-32 B-Series 36.50.54.182

========= =========== ==============

Device info and firmware_ have been made available for these devices, typically due to community requests or interest, but no support is guaranteed beyond this."

Beyond the device information bits needed in the driver, Imagination Tech has also uploaded additional firmware binaries needed for the support to [1]their firmware Git repository on FreeDesktop.org's GitLab.

Again, [2]this merge expands the support for the PowerVR GPUs where the PVR Vulkan open-source driver will load but beyond that your mileage isn't guaranteed.

These actual patches merged date back months and stem from [3]feature requests going back years from users interested in seeing this Mesa Vulkan driver work on more of the PowerVR GPUs.



[1] https://gitlab.freedesktop.org/imagination/linux-firmware

[2] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37790

[3] https://gitlab.freedesktop.org/mesa/mesa/-/issues/7032



There has also been some work to allow the interesting use of macro names.
For example, if you wanted all of your "creat()" calls to include read
permissions for everyone, you could say

#define creat(file, mode) creat(file, mode | 0444)

I would recommend against this kind of thing in general, since it
hides the changed semantics of "creat()" in a macro, potentially far away
from its uses.
To allow this use of macros, the preprocessor uses a process that
is worth describing, if for no other reason than that we get to use one of
the more amusing terms introduced into the C lexicon. While a macro is
being expanded, it is temporarily undefined, and any recurrence of the macro
name is "painted blue" -- I kid you not, this is the official terminology
-- so that in future scans of the text the macro will not be expanded
recursively. (I do not know why the color blue was chosen; I'm sure it
was the result of a long debate, spread over several meetings.)
-- From Ken Arnold's "C Advisor" column in Unix Review