krun: require render server only when requested - #2152
Open
jakogut wants to merge 1 commit into
Open
Conversation
Member
|
@slp PTAL |
Member
|
could you please generate (I know generated files are not nice in git, but it avoids us a dependency in the CI) |
The GPU gate currently rejects every non-zero gpu_flags value unless /usr/libexec/virgl_render_server exists in the container filesystem. That requirement dates from the original fixed GPU mask, which enabled the Venus render-server path, but gpu_flags is now caller-controlled. VIRGL_RENDERER_RENDER_SERVER is bit 9 and explicitly moves rendering to the helper process. Native contexts instead use VIRGL_RENDERER_DRM at bit 10: guest Mesa submits through virtio-gpu while the host-loaded libkrun and libvirglrenderer handle the DRM backend, so no render-server executable is spawned. For example, the native-context mask 1411 (0x583) sets DRM but not RENDER_SERVER and enumerates RADV successfully with the guest virglrenderer package absent. Only check for virgl_render_server when the corresponding flag is set. Keep /dev/dri mandatory for every GPU configuration and preserve the existing failure when render-server mode is explicitly requested. Update the krun documentation to describe the conditional requirement. Signed-off-by: Joseph Kogut <joseph@anodize.com>
jakogut
force-pushed
the
optional-render-server
branch
from
July 31, 2026 16:40
ae22fd8 to
47b1841
Compare
Author
|
Thanks for taking a look, @giuseppe. I've amended this commit with the regenerated man page. If you would prefer, I can split it out, just let me know. |
Member
|
it is good, thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The GPU gate currently rejects every non-zero gpu_flags value unless /usr/libexec/virgl_render_server exists in the container filesystem. That requirement dates from the original fixed GPU mask, which enabled the Venus render-server path, but gpu_flags is now caller-controlled.
VIRGLRENDERER_RENDER_SERVER is bit 9 and explicitly moves rendering to the helper process. Native contexts instead use VIRGLRENDERER_DRM at bit 10: guest Mesa submits through virtio-gpu while the host-loaded libkrun and libvirglrenderer handle the DRM backend, so no render-server executable is spawned. For example, the native-context mask 1411 (0x583) sets DRM but not RENDER_SERVER and enumerates RADV successfully with the guest virglrenderer package absent.
Only check for virgl_render_server when the corresponding flag is set. Keep /dev/dri mandatory for every GPU configuration and preserve the existing failure when render-server mode is explicitly requested. Update the krun documentation to describe the conditional requirement.