VirtualBox

Opened 14 years ago

Closed 13 years ago

Last modified 12 years ago

#5596 closed defect (fixed)

Low resolution scaling in full screen mode

Reported by: DGF Owned by:
Component: other Version: VirtualBox 3.2.6
Keywords: resolution full screen Cc:
Guest type: other Host type: other

Description

When running games such as starcraft (and very likely any game set to a lower resolution then the screen's potential), virtualbox fails to scale the image up to fullscreen in full screen mode. Game (or application at hand) remains in a smaller window (at it's running resolution) without scaling up to full screen as it should in these situations. The remaining space is occupied by black borders surrounding said application.

Change History (7)

comment:1 by tasukete, 14 years ago

Searching around Google turns up some discussion about solving this generally, but perhaps a quick fix could provide 90% of the benefit without committing to a fully general solution at this time.

Would it be possible to simply allow the guest to change the host's desktop resolution via !DirectX/Direct3D? Specifically, when the guest invokes (say) IDirect3D9::CreateDevice() with D3DPRESENT_PARAMETERS.Windowed = false and BackBuffer{Width,Height} = foo, could this be passed through to the host? Effectively, VirtualBox itself would behave like a full-screen Direct3D game, temporarily switching the display resolution (without mucking up the host desktop).

This would postpone the need to implement scaling in VirtualBox proper. The host's display driver is better at that, anyway. For instance, I have my driver set to respect 4:3 aspect ratios on a widescreen display, while others might prefer to stretch.

Then, the only case where VirtualBox might offer to scale the display is when the user runs a full-screen guest within a VirtualBox window.

Disclaimer: I know next to nothing about Direct3D.

comment:2 by bartman2589, 14 years ago

I can confirm that this is NOT a new problem as EVERY version of VirtualBox that I myself have used (since around 3.0 itself) has suffered from this problem, it would be very nice if someone would finally fix this once and for all. Problem has existed for me on WinXP Pro since I first tried VirtualBox.

comment:3 by Michael Thayer, 14 years ago

Guest type: Windowsother
Host type: Mac OS Xother
Version: VirtualBox 3.0.12VirtualBox 3.2.6

We will not implement changing the host's resolution from the guest (see #447 for an explanation). Scaling is being worked on, although it is not trivial as we support several host systems and rendering engines.

comment:4 by Michael Thayer, 14 years ago

Ticket #5875 has been marked a duplicate of this one.

comment:5 by Frank Mehnert, 13 years ago

Resolution: fixed
Status: newclosed

VirtualBox 4 implements a scale mode.

in reply to:  description comment:6 by twipley, 12 years ago

Replying to DrD:

When running games such as starcraft (and very likely any game set to a lower resolution then the screen's potential), virtualbox fails to scale the image up to fullscreen in full screen mode. Game (or application at hand) remains in a smaller window (at it's running resolution) without scaling up to full screen as it should in these situations. The remaining space is occupied by black borders surrounding said application.

It is to be remembered, though, that the best scaling method is integer-factor scaling. In other words, the mapping of individual pixels to larger (2x2, 3x3, and so forth) blocks of like-value pixels.

Such an automatic "zoom-in magnifying," if it may be put that way, while under full-screen mode would continue to feature black bordering, although a much-larger area of the screen would be put to good use.

It has to be noted, though, that this is already achievable through reducing host resolution, for example from 1920x1080 to 960x540, although such a method arguably is not that suited for long-term purposes.

The underlying mechanisms of the implementation would be for a check, triggered by definite conditions, to be performed in order to determine whether native width and height in pixels is great enough for integer-factor scaling to take place, then for the largest suitable scaling to be performed.

Such an implementation would be adapted both to text-mode cases (for example, full-screen XP command consoles, and MS-DOS guests), and to classic-video-game cases (StarCraft is to be restated) -- such code would indeed operate great for lots of past games, in which output resolution is of 640x480, and for which double-scaling would be a viable solution relating to current-generation modern monitors.

comment:7 by twipley, 12 years ago

I just noticed that this ticket is marked as closed;

I have therefore opened a ticket under a more-appropriate name: https://www.virtualbox.org/ticket/10852

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use