mesa-panvk-bifrost: new package — Vulkan-compositor Brave for Bifrost SBCs #40

Merged
marfrit merged 1 commits from claude-noether/marfrit-packages:noether/mesa-panvk-bifrost into main 2026-05-20 09:08:17 +00:00
Owner

iter9 of the panvk-bifrost campaign — operator-confirmed Vulkan output
on PineTab2 (Mali-G52 r1 MC1) 2026-05-20.

Patches Mesa 26.0.6's PanVk Vulkan driver:

  • VK_KHR/EXT_robustness2 + nullDescriptor exposed for PAN_ARCH 6/7
  • has_vk1_1 / has_vk1_2 = true on Bifrost
    Patches applied via sed in PKGBUILD prepare() (cleaner than maintaining
    a Mesa fork for two two-line tweaks; upstream context drifts between
    Mesa releases would make a literal .patch brittle).

Co-installs at /usr/lib/panvk-bifrost/ — stock mesa untouched. Stock
libvulkan_panfrost.so and its ICD JSON keep working for everyone not
opting into the patched driver.

Ships /usr/bin/brave-vulkan that wires up:
VK_ICD_FILENAMES=/usr/lib/panvk-bifrost/icd.json
PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1
MESA_VK_VERSION_OVERRIDE=1.2 # ANGLE needs apiVersion>=1.1; the
# has_vk1_x flags don't move it, so
# the env-var override carries that
brave --use-gl=disabled --enable-features=Vulkan --use-vulkan=native
--ozone-platform=x11 --no-sandbox --disable-gpu-sandbox
--ignore-gpu-blocklist "$@"

Side-steps the stock "GLES3 is unsupported / GPU process exits" failure
documented in panvk-bifrost/README's "Consumer-side benefit" section.

Known limitation: WebGL/WebGL2 in-page won't work — ANGLE needs GLES3
which needs VK_EXT_transform_feedback, which PanVk-Bifrost doesn't
currently support. Browser chrome + standard page rendering work fine.

Gitea Actions job mesa-panvk-bifrost-aarch64 added to build.yml,
patterned on libva-v4l2-request-fourier-aarch64. Mesa build is slow
(~30-60min on actrunner-aarch64). Standalone (no needs:),
continue-on-error so it doesn't block other jobs.

Campaign artifacts: ~/src/panvk-bifrost/{README.md, phase8_iteration9_close.md,
phase0_evidence/iter9_brave_vulkan_breakthrough.txt}.

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

iter9 of the panvk-bifrost campaign — operator-confirmed Vulkan output on PineTab2 (Mali-G52 r1 MC1) 2026-05-20. Patches Mesa 26.0.6's PanVk Vulkan driver: - VK_KHR/EXT_robustness2 + nullDescriptor exposed for PAN_ARCH 6/7 - has_vk1_1 / has_vk1_2 = true on Bifrost Patches applied via sed in PKGBUILD prepare() (cleaner than maintaining a Mesa fork for two two-line tweaks; upstream context drifts between Mesa releases would make a literal .patch brittle). Co-installs at /usr/lib/panvk-bifrost/ — stock mesa untouched. Stock libvulkan_panfrost.so and its ICD JSON keep working for everyone not opting into the patched driver. Ships /usr/bin/brave-vulkan that wires up: VK_ICD_FILENAMES=/usr/lib/panvk-bifrost/icd.json PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1 MESA_VK_VERSION_OVERRIDE=1.2 # ANGLE needs apiVersion>=1.1; the # has_vk1_x flags don't move it, so # the env-var override carries that brave --use-gl=disabled --enable-features=Vulkan --use-vulkan=native --ozone-platform=x11 --no-sandbox --disable-gpu-sandbox --ignore-gpu-blocklist "$@" Side-steps the stock "GLES3 is unsupported / GPU process exits" failure documented in panvk-bifrost/README's "Consumer-side benefit" section. Known limitation: WebGL/WebGL2 in-page won't work — ANGLE needs GLES3 which needs VK_EXT_transform_feedback, which PanVk-Bifrost doesn't currently support. Browser chrome + standard page rendering work fine. Gitea Actions job mesa-panvk-bifrost-aarch64 added to build.yml, patterned on libva-v4l2-request-fourier-aarch64. Mesa build is slow (~30-60min on actrunner-aarch64). Standalone (no needs:), continue-on-error so it doesn't block other jobs. Campaign artifacts: ~/src/panvk-bifrost/{README.md, phase8_iteration9_close.md, phase0_evidence/iter9_brave_vulkan_breakthrough.txt}. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
marfrit added 1 commit 2026-05-20 09:08:00 +00:00
iter9 of the panvk-bifrost campaign — operator-confirmed Vulkan output
on PineTab2 (Mali-G52 r1 MC1) 2026-05-20.

Patches Mesa 26.0.6's PanVk Vulkan driver:
  - VK_KHR/EXT_robustness2 + nullDescriptor exposed for PAN_ARCH 6/7
  - has_vk1_1 / has_vk1_2 = true on Bifrost
Patches applied via sed in PKGBUILD prepare() (cleaner than maintaining
a Mesa fork for two two-line tweaks; upstream context drifts between
Mesa releases would make a literal .patch brittle).

Co-installs at /usr/lib/panvk-bifrost/ — stock mesa untouched. Stock
libvulkan_panfrost.so and its ICD JSON keep working for everyone not
opting into the patched driver.

Ships /usr/bin/brave-vulkan that wires up:
  VK_ICD_FILENAMES=/usr/lib/panvk-bifrost/icd.json
  PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1
  MESA_VK_VERSION_OVERRIDE=1.2     # ANGLE needs apiVersion>=1.1; the
                                   # has_vk1_x flags don't move it, so
                                   # the env-var override carries that
  brave --use-gl=disabled --enable-features=Vulkan --use-vulkan=native
        --ozone-platform=x11 --no-sandbox --disable-gpu-sandbox
        --ignore-gpu-blocklist "$@"

Side-steps the stock "GLES3 is unsupported / GPU process exits" failure
documented in panvk-bifrost/README's "Consumer-side benefit" section.

Known limitation: WebGL/WebGL2 in-page won't work — ANGLE needs GLES3
which needs VK_EXT_transform_feedback, which PanVk-Bifrost doesn't
currently support. Browser chrome + standard page rendering work fine.

Gitea Actions job mesa-panvk-bifrost-aarch64 added to build.yml,
patterned on libva-v4l2-request-fourier-aarch64. Mesa build is slow
(~30-60min on actrunner-aarch64). Standalone (no needs:),
continue-on-error so it doesn't block other jobs.

Campaign artifacts: ~/src/panvk-bifrost/{README.md, phase8_iteration9_close.md,
phase0_evidence/iter9_brave_vulkan_breakthrough.txt}.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
marfrit merged commit f3b1087ac7 into main 2026-05-20 09:08:17 +00:00
marfrit deleted branch noether/mesa-panvk-bifrost 2026-05-20 09:08:17 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: marfrit/marfrit-packages#40