Skip to content

GUI: resend guest resize on macOS fullscreen transition#746

Draft
moreaki wants to merge 1 commit into
VirtualBox:mainfrom
moreaki:agent/macos-fullscreen-retina-autoresize
Draft

GUI: resend guest resize on macOS fullscreen transition#746
moreaki wants to merge 1 commit into
VirtualBox:mainfrom
moreaki:agent/macos-fullscreen-retina-autoresize

Conversation

@moreaki

@moreaki moreaki commented Jul 8, 2026

Copy link
Copy Markdown

Summary

When the macOS fullscreen machine view reaches its calculated maximum size, call the existing guest-resize helper if guest autoresize is enabled and the guest supports graphics.

The change is four macOS-only lines in UIMachineViewFullscreen::eventFilter. It does not add a new scaling calculation: sltPerformGuestResize already converts the host logical geometry to Retina backing pixels.

Narrow premise

The suspected failure is a windowed-to-fullscreen transition of an already-running guest. Reproduction must therefore use this sequence:

  1. start the Windows 11 Arm guest windowed at 3840x2160;
  2. wait for Guest Additions run level 3;
  3. confirm guest autoresize is enabled;
  4. enter macOS fullscreen;
  5. record the resulting VideoMode and a screenshotpng;
  6. repeat with the otherwise identical four-line change removed.

Starting the VM directly with VirtualBoxVM --startvm Win11 --fullscreen is not a valid A/B for this PR. In the clean current-main-based comparison, both patched and unpatched variants reached 5760x3240 during startup through the existing initialization path.

Validation status

Completed:

  • rebased independently on origin/main at 5ac81eda707fcf3fcb49f9281401ceac0fc70f4a;
  • one source file, four added lines, macOS-only guard;
  • git diff --check passes;
  • compiles and links in the current Qt 6.11.1 Darwin/Arm VirtualBoxVM target;
  • the strictly signed patched app starts the guest with VMSVGA/3D, reaches Guest Additions level 3, reports VideoMode="5760,3240,32"@0,0 1, and produces a 5760x3240 framebuffer screenshot.

Still required:

  • the causal windowed 3840x2160 -> fullscreen transition A/B described above. The prior direct-fullscreen screenshot is retained only as historical functional evidence and has been explicitly withdrawn as proof of this patch.

This PR should be closed if the controlled transition produces the same result without the change.

Refs #742.

@oracle-contributor-agreement

Copy link
Copy Markdown

Thank you for your pull request and welcome to our community! To contribute, please sign the Oracle Contributor Agreement (OCA).
The following contributors of this PR have not signed the OCA:

To sign the OCA, please create an Oracle account and sign the OCA in Oracle's Contributor Agreement Application.

When signing the OCA, please provide your GitHub username. After signing the OCA and getting an OCA approval from Oracle, this PR will be automatically updated.

If you are an Oracle employee, please make sure that you are a member of the main Oracle GitHub organization, and your membership in this organization is public.

@oracle-contributor-agreement oracle-contributor-agreement Bot added the OCA Required At least one contributor does not have an approved Oracle Contributor Agreement. label Jul 8, 2026
@moreaki moreaki marked this pull request as ready for review July 8, 2026 08:09
When a macOS fullscreen resize reaches the host screen size, invoke the existing guest-resize helper. That helper already converts logical host dimensions to Retina backing dimensions.

Signed-off-by: Roberto Nibali <rnibali@gmail.com>
@moreaki moreaki force-pushed the agent/macos-fullscreen-retina-autoresize branch from acad7bb to caf0d84 Compare July 16, 2026 15:49
@moreaki moreaki changed the title GUI: request Retina backing size in macOS fullscreen GUI: resend guest resize on macOS fullscreen transition Jul 16, 2026
@moreaki moreaki marked this pull request as draft July 16, 2026 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OCA Required At least one contributor does not have an approved Oracle Contributor Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant