Fix Ubuntu "Installing Linux" hang and desktop runtime (should address #87) - #120
Open
EzYDark wants to merge 1 commit into
Open
Fix Ubuntu "Installing Linux" hang and desktop runtime (should address #87)#120EzYDark wants to merge 1 commit into
EzYDark wants to merge 1 commit into
Conversation
Resolve offline build dependencies against the Ubuntu release, updates, and security repositories. Include the required build tools and matching kernel headers so the guest agent can build and complete installation instead of leaving AppSandbox stuck on Installing Linux. Restore snap-confine capabilities, disable GTK Vulkan rendering while retaining OpenGL, and preserve the DRM framebuffer ID before freeing the plane data.
Author
|
Ready to test pre-release of those fixes: |
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.
Warning
This pull request was mostly vibecoded with Codex using GPT-5.6 Sol Extra High. It was tested on the hardware and software documented below, but it has not received an independent human code review. Treat the implementation as untrusted until reviewed.
Related issue: #87 - VM Stuck on installing
Relation to issue #87
This PR should address the Ubuntu 26.04 case reported in #87.
The issue log reaches
VM created and startedand begins the IDD probe, but never shows the guest agent connecting or installation completing. That matches the visible result of the locally reproduced failure.In the local reproduction, the confirmed failure sequence was:
base-only package index→
incompatible package versions selected→
apt rejected the offline build dependencies→
gcc and DKMS were unavailable→
guest-agent binaries were not compiled→
guest agent could not connect→
AppSandbox remained on Installing LinuxAfter applying this patch, a fresh Ubuntu 26.04.1 VM reached
agentOnline: trueandinstallComplete: true.Issue #87 does not contain the guest's first-boot log, so an identical root cause cannot be proven until the reporter retests. The issue also mentions Windows 11 guests. This PR does not change Windows provisioning and should not be treated as a complete fix for the Windows case.
Summary
This fixes a reproduced Ubuntu VM provisioning failure that left AppSandbox stuck indefinitely on
Installing Linux.It also fixes problems discovered after provisioning:
Before the fix
Installation remained stuck
The Ubuntu disk was built and the VM was running according to HCS, but AppSandbox continued showing
Installing Linuxbecause the guest agent had not been built and could not connect.Ubuntu Settings rendered without text
Settings opened, but most labels and text were missing. Guest logs later showed GTK using Mesa's D3D12 Vulkan renderer and reporting
VK_ERROR_OUT_OF_POOL_MEMORY.Root causes and fixes
Installing Linuxnever completedaptinstallationapttransaction leftgcc, DKMS, matching kernel headers, and other build dependencies unavailable. The guest binaries were therefore never compiledbuild-essential,dkms, the exact kernel headers, and agent dependencies as required prefetch seedssnap-confinelost the Linux capabilities required by Snap applications/usr/lib/snapd/snap-confine.capsduring first bootVK_ERROR_OUT_OF_POOL_MEMORYGDK_DISABLE=vulkanfor GTK applications without disabling OpenGLp->fb_idafter freeing the DRM plane structureImplementation
build-essential,dkms, matching kernel headers, agent libraries, andopenssh-serverto the dependency seedssnap-confinecapabilities during first boot using Ubuntu's packaged capability dataGDK_DISABLE=vulkanto/etc/environmentand/etc/environment.d/90-appsandbox-gtk.confTest environment
This is the tested configuration, not a statement of minimum requirements.
Host hardware
31.0.21925.1001Host software
10.0.26100, build261000.1.4.0iso-patch.exe10102802223EB5E70C448439CFB6F0D58F987A19FE0BDC7DD7DDE2C56A603644ubuntu-26.04.1-desktop-amd64.iso601E30FBF5D97759367C632E2C33630665039B7E2158FD068403DA3CCF1BDA1FThe built helper and the helper installed in the AppSandbox release directory had the same SHA-256 hash.
Fresh regression VM
7.0.0-30-genericRecorded guest software
7.0.0-30.30build-essential12.12ubuntu2.26.04.215.2.03.2.250.34.22.41.9.126.0.82.76.3154.0.1-1, revision88031390Automated verification
iso-patch.exein Release modeagentOnline: trueinstallComplete: true/dev/dxgwas presentasb_drmanddxgkrnlmodules were presentsnap-confinecapabilitiesGDK_DISABLE=vulkanreached the desktop sessionsnap run firefox --versionsnap-confinecapability errorVK_ERROR_OUT_OF_POOL_MEMORYManual verification
The repaired VM was also checked through the interactive AppSandbox display:
Known limitations
7.0.0-14-generic; this PR was tested with AMD Radeon Graphics and kernel7.0.0-30-genericGTK policy scope
GDK_DISABLE=vulkandisables GTK's Vulkan backend for the guest environment. It does not disable GTK's OpenGL renderer.