VirtualBox

Ticket #3367 (new defect)

Opened 5 years ago

Last modified 5 years ago

Fun and games with whacked out video modes in XP guest / Linux host

Reported by: mhw Owned by:
Priority: major Component: other
Version: VirtualBox 2.1.4 Keywords:
Cc: Guest type: other
Host type: other

Description

This was mentioned in the comments of the (now closed) 3096 ticket.

 http://www.virtualbox.org/ticket/3096

This is not fixed in 2.1.4 as the 3096 problem was, so this is a new ticket, and I have more information and some potential workarounds.

This was my comment from there:

The problem I have may be related. Sometime between late December and now, my Windows XP virtual guests w/ the guest additions got stuck at 800x600 max 4 bit color (16 colors) max. Symptoms are very similar to the original poster. Crappy screen, random (flashy) updates, poor resolution. It initially comes up 640x480 and won't let me easily increase the resolution. Going into desktop display properties and selecting Settings -> Advanced -> Adapter -> "List All Modes" only shows 640x480 and 800x600, both in 16 color mode. Selecting 800x600 gives me a little more resolution but that's all I can get.

I first noticed it after the 1/13/2009 Windows XP updates on one of the system. Rolling XP back to a previous restore point did not resolve the problem and, at that time, I noticed a second virtual guest, which had not been updated with the 1/13 updates, was also exhibiting the same problem. Deleting the vboxvideo driver restored full resolution video through the vesa driver in both. This was with 2.1.0. Installing 2.1.2 and reinstalling the guest additions did not resolve the problem. The vboxvideo driver still gives me 800x600 w/ 4 bit color. Deleting that driver restores it. So, yeah, it's on 2.1.0 and 2.1.2.

I updated VirtualBox from 2.0.6 to 2.1.0 on 12/22 (based on timestamps of the downloaded packages) and it may have started after the guest additions back then, I just didn't notice at the time. Not sure when I updated the guest additions in the individuals VM's.

My host hardware is a Lenovo T60p laptop, which also has an unusual screen resolution of 1400x1050 although I'm generally running it in 1280x1024 for external monitors.

Unfortunately, downgrading the VirtualBox host software to 2.0.6 doesn't seem to be viable for testing and debugging, due to configuration file changes (I get an error about unable to import settings). Too bad more effort isn't put into maintaining compatibility for diagnostic purposes. However, be that as it may, I was able to extract the 2.0.6 guest additions CD from that build and install them into the virtual guests after reinstalling the 2.1.2 host software. That was no help. I was definitely NOT experiencing this problem with 2.0.6 host engine and 2.0.6 guest additions prior to December.

Deleting the driver for the Virtual Box Graphics Display adapter under the hardware device manager then does restore full resolution but it tells me it found new hardware and wants to install the driver I just uninstalled. I have to tell it to stop installation at that point.

Now, I've gone back and created a new XP SP2 machine and applied no updates (just to make sure none of the MS updates since SP2 have any impact and I can eliminate that as a source of the problem) and just installed the VirtualBox guest addons. After rebooting, I found I had 32 bit color but still only 640x480 resolution available from the desktop settings. Under advanced -> show all modes for the adapter, it showed 6 possible modes, 5 in 640 x 480 and only one in 800 x 600 (4 bit).

I thought, maybe the graphics memory. It was set to 12 Meg. So I shut down the vm and upped the video memory to 64 Meg and rebooted. Now I've only got 640 x 480 with 4 bit color and "all modes" only shows 4 modes, 640 x 480 and 800 x 600. Changing back to 12 Meg had no effect.

On a silly lark, I hit "full screen" (host window manager decoration maximize) and was surprised by the answer. It had full 32 bit color (but still only 640 x 480). But when I went back to the desktop properties, I found I could now select all the other higher resolutions. If I drop out of maximize, I've still got 32 bit color but stuck back on 640x480 and I'm back with "All modes" showing only 5 modes available.

If I manually resize the window from the host window decoration handles, I can resize it up to a bit but it doesn't change what the guest thinks (properties still says 640x480 32bit). After a certain point, it won't let me enlarge it any larger and it snaps back like a rubber band

Using the machine mode "full screen" (Host-F) give me a 1280x1024 in the VM and all modes appear properly. If I hit Host-F again, it drops back to the manually sized window with the custom resolution. From there, I can set the resolution from within Windows to any resolution smaller than the custom resolution I had it at and the host window now resizes! Yeah! I believe we have a workaround... Maybe...

Workaround that appears to work for me.

After installing the guest addins...

  • Expand the window manually using the host window manager decorations as far as the screen and the window permits.
  • Enter full screen mode (Host-F) and verify video resolutions and bit plane depth.
  • Exit full screen mode (Host-F).
  • Try setting video resolution from within Windows once again.

Unfortunately, this workaround doesn't appear to be sticky. If I shut the VM down and restart it, I'm back at 640x480 with 4 bit color. If I immediately do a Host-F, I'm at full screen with 1280x1024 w/ 32 bit color and another Host-F takes me back to 800x600 w/ 32 bit color, which I can not immediately increase from within Windows. If I use the host window manager handles to expand the window, I find it does now expand and I find more and more modes present in the "All Modes" list box in the guest, up to a certain limit (1232 x 919 for some weird reason).

At this point, I can make it work, at least for the SP2 VM. Less than elegant is the understatement of the year.

It was slightly more complicated on my fully patched fully loaded production XP SP3 system but, after increasing the video memory from 8M to 128Meg and then playing with the bit plane depth within Windows and then doing the Host-F trick, that one worked as well. Seems like it remembers some settings from one to the other.

This seems to be a real complicated interaction between video memory and window resolution from the host to within the XP guest.

The log files are from the XP-SP2 guest system and not the SP3 system.

Attachments

VBox.log Download (43.2 KB) - added by mhw 5 years ago.
VBox.log.1 Download (43.9 KB) - added by mhw 5 years ago.
VBox.log.2 Download (41.7 KB) - added by mhw 5 years ago.
VBox.log.3 Download (41.9 KB) - added by mhw 5 years ago.

Change History

Changed 5 years ago by mhw

Changed 5 years ago by mhw

Changed 5 years ago by mhw

Changed 5 years ago by mhw

comment:1 Changed 5 years ago by gizmo

My comment from 3096:

I have the same problem as mhw, and am running a Lenovo T61p laptop (not a T60p, like mhw). However, on my system I typically use a second monitor that runs 1280x1024, so the strange resolution of the laptop (mine has a larger screen and runs 1920x1200) shouldn't be a factor.

I haven't done the same level of troubleshooting, but I seem to only be able to get 640x480 4-bit color (although the display properties dialog claims to allow up to 1280x1024 in 32-bit color, when I set it, I get reverted to 640x480 4-bit). If I remove the virtualbox graphics adapter, I can then select (and actually use) the 1280x1024 32-bit color resolution. This happened with the upgrade from 2.1.0 to 2.1.2.

I'm running Fedora 10 x86_64 as the host with all the latest patches on the 2.6.27.9-159 kernel. The guest is Windows XP SP3 32-bit fully patched.

I'll be delighted to provide any additional information you may require.

In addition to the above, I want to echo mhw's comments regarding version 2.1.0 and the 'come and go' video settings. I hadn't assocated the two until now, but in 2.1.0 I experienced something very similar to what he is seeing now: I would come up in 4-bit 640x480 mode, and nothing I did (from within the guest) would allow me access to any other mode. However, going to full-screen mode and then back would put me into 32-bit mode, and then I could select other resolutions, and even guest autosizing would work properly.

comment:2 Changed 5 years ago by gizmo

Ok, just to confuse the issue to the point that it may never stand a chance of being resolved, I've got an update on this.

  1. I'm current with all of my patches to F10, and I know that there have been a number of updates to both Gnome and Compiz since I last reported.
  2. At the time I was running into the above reported issues, I had the Compiz Fusion desktop effects enabled, and was using the Emerald window decorator.
  3. I currently have Compiz Fusion desktop effects turned off (due to some problems with a couple of other applications, and general squirrellyness), though I am still using Emerald.
  4. I changed the second monitor from a 1280x1024 LCD to a 1600x1200 lcd.
  5. I am still running 2.1.4 of VirtualBox.
  6. I have loaded the VirtualBox Graphics Adapter, and all resolutions are selectable and working correctly (or at least, they are working the same way they did in 2.0.6)

It seems there may be much more at work here than just what changed in VirtualBox....

comment:3 Changed 5 years ago by olithered

I saw this just now - WXP guest on RHEL5 host.

The switching to fullscreen and back workaround was successful.

comment:4 Changed 5 years ago by JustinMichel

I have the same problem under Vista.

Everything was working fine, no new updates or anything.

Two weeks later I fired up the VM, and it's stuck in 4 bit 640x480 color. The full screen workaround doesn't work for me.

Running under Vista w/ nvidia graphics.

comment:5 Changed 5 years ago by mhw

Seems to have changed dramatically under 2.2.0. Not sure if it's better or worse. Now the guest box window comes up with a fixed size (~ 800x600 maybe) and scroll handles but seemed to have the correct guest desktop size and bit depth inside the guest. Trying to stretch the box out worked (initially) but the guest was not resized inside the box (which use to work). But... I hadn't reinstalled the VirtualBox tools in the guest.

Reinstalled the VirtualBox tools and rebooted the guest. Still got the fixed size box and a larger guest size inside but now it's back to 8 bit color. Sigh... But, I could now change the setting back up to 32 bit color and the resolution was not screwed. That seems an improvement. But the color depth does not stick between invocations (at least not until you log in a user and then it resets the desktop once the VirtualBox tools are running). Shut it down and restart it and you're back to 8 bit color (at least until you log in a user and then it resets the desktop to the correct depth once the VirtualBox tools are running). :-P

But a new problem cropped up. I could no longer expand the fixed size box. I drag it out large enough to hold the whole guest window without scroll bars and it snaps back to the original small size.

Playing with options came up with something. Playing with the "Auto resize guest" machine option and the "adjust window" option eventually got the box size to let go and allow me to expand it. But if I hit "Adjust Window Size" it snaps to the small size with scroll handles. And the "Auto resize guest" never works like it did in the previous versions.

This too seems to behave differently depending if I've logged in as a user or sitting at the login selector. With "Auto resize guest" enabled, I can resize the window (but the guest does not resize) if I'm not logged in but, if I am logged in, the guest still doesn't resize but the window the guest is in snaps back to the small window with scroll bars. I have to disable "Auto resize guest" and then I can resize the window and manually resize the guest desktop.

I should have added too, this is only in the VirtualBox console mode. Using the remote destop mode doesn't have these problems.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use