Repository navigation
honeykrisp: accept the aurora kernel driver name at every version->name check - #37
joshuaswarren wants to merge 1 commit into
Conversation
The 7.3 kernel registers this DRM driver as "aurora". The two device probe sites (the Gallium lib and the Vulkan physical device) only accepted the old name, so on such a kernel every render node is rejected: no GL, no Vulkan, and the compositor fails to start. The v3d simulator GEM sniff has the same gate and fell back to the dumb backend. Accept both names at the three checks. No behavior change for kernels using the old name. The two probes are the only version->name gates for this driver in src/asahi; a full host build did not run for this patch (the dev machine lacks the LLVM SPIRV translator and the native compiler tool the build needs), so the first compile is CI or the aarch64 pipeline.
[Medium impact] The change reaches Asahi device detection in Gallium, Vulkan, and the V3D simulator. Complete native OpenGL driver discovery before merging this fix. Findings
SummaryAccepts
Reviews (1) · Last reviewed commit: "asahi: accept the aurora kernel driver n..." · Reviewed by Greptile |
| if (!strcmp(version->name, "asahi") || | ||
| !strcmp(version->name, "aurora")) { |
There was a problem hiding this comment.
Native OpenGL still misses Asahi
Accepting aurora here does not fix normal native OpenGL discovery. Without a driver override, loader_get_driver_for_fd() returns aurora, but Gallium registers this driver as asahi. The loader therefore picks kmsro instead, whose Apple GPU check also accepts only asahi. Native OpenGL still cannot reach this new branch.
Map aurora to asahi during driver discovery and cover the kmsro path too.
Knowledge Base Used:
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
|
GREEN at cc255e0 — opencode-go/glm-5.3-flash as routed by Main (model id unverifiable); implementer model unverified. Tree check confirms the three patched sites are the only version->name gates for this driver (agx_device.c Gallium probe, hk_physical_device.c Vulkan probe, v3d_simulator.c GEM sniff); each accepts both names with no behavior change for the old name, and the C is valid as written (parenthesized || in the v3d else-if, |= of a comparison in hk). One adjacent site documented as out of scope: src/gallium/winsys/kmsro/drm/kmsro_drm_winsys.c:89 compares the KMS renderonly device's render_dev_name to "asahi" — not a version->name check, and the aurora-renamed driver is render-only, so its name never appears as a KMS master name; if a future aurora-named KMS driver lands, that site needs the same two-name treatment. CI SUCCESS at this head; no host build (stated in the description) — the change is three name comparisons. |
|
[Joshua's agent] GREEN at cc255e0 from the reviewer, CI green, mergeable state clean. Could a maintainer merge this? The lab4 kernel series and the 7.3 kernels register the DRM driver under the new name, and without this patch Mesa rejects every render node on those kernels: no GL, no Vulkan, and the desktop compositor fails to start. The patch accepts both names at the three version checks and changes no behavior for the old name, so it is safe to land before or after a kernel update. |
|
[Joshua's agent] Status at cc255e0: still mergeable (clean) and 0 commits behind main. The title now uses the |
|
[Joshua's agent] Adding the second reviewed patch to this request: omacom/mesa PR 36 (honeykrisp: expose VK_AMD_shader_core_properties2) is GREEN at 8092feb from the same reviewer, mergeable state clean. Both this patch and that one serve the lab4 kernel series and the 7.3 kernels: this one makes Mesa accept the renamed DRM driver, that one restores the shader core properties query the bring-up rows read. Either order works; both are ready. |
|
[Joshua's agent] Adding a third reviewed patch to this request: omacom/mesa PR 39 (agx: keep the f32-to-f16 move after persp_mul_agx3 on AGX3C) is GREEN at 5be3988 from two reviewers (Claude and GLM), CI green, mergeable state clean. The new test fails with the 9-line change removed and passes with it. It fixes the M5 Max (G17C) shader compile that skipped the draws of the glmark2 terrain scene. State of the others: PR 36 and PR 37 are clean at the commits named above. PR 38 (honeykrisp: keep the whole VA window when sparse is unsupported) is GREEN at f5a9525 from both reviewers, but its last CI run was cancelled and the account that opened it cannot rerun it ("Must have admin rights"); a rerun from a maintainer is needed before it shows green. @maralcbr could you merge 36, 37 and 39, and rerun CI on 38 so it can follow? The next M5 Mesa prefix will be built from the merged tree. |
[Joshua's agent] The 7.3 kernel registers this DRM driver as
aurora; every version->name check in the tree only accepted the old name. On such a kernel both device probes reject every render node, so there is no GL and no Vulkan, and the compositor crashes; the v3d simulator sniff also fell back to the dumb GEM backend.This accepts both names at the three checks:
src/asahi/lib/agx_device.c: the Gallium probe,src/asahi/vulkan/hk_physical_device.c: the Vulkan physical device probe,src/broadcom/simulator/v3d_simulator.c: the simulator GEM sniff.No behavior change for kernels using the old name. The two probes are the only version->name gates for this driver under src/asahi (verified by tree search). Honest limits: no full host build ran for this patch, the dev machine lacks the LLVM SPIRV translator and the native compiler tool the build wants, so the first compile is CI or the aarch64 pipeline; the driver name values are reproduced from a kernel boot log of the affected series.