Posted by: reformedmusings | August 15, 2008

Fixing fonts in a VMWare Linux guest

I have had a consistent problem after installing VMWare tools into a Linux virtual machine. When I set the display resolution in the configuration phase and then restart, the display always winds up bigger than I requested and larger than my screen. When I try to use the guest operating system to set the display resolution to 1152×864 pixels, it changes the resolution as requested, but then the fonts usually wind up tiny, funky, and unreadable. This drove me nuts for a while, but I’ve found a workaround. I call it a workaround because I don’t get the resolution in the guest that I really want, but I do get a workable guest.

In my case, a guest resolution of 1152×900 pixels fills the VMWare console as I have it set. That’s what I pick for every virtual machine when I install VMWare Tools into the guest. This worked fine for a Windows XP guest. However, it appears that the screen resolution for Linux guests becomes much greater than that, so that VMWorkstation requires scroll bars to access the entire guest desktop.

My first instinct was to modify the guest xorg.conf so that the maximum display size listed is 1152×900. I was surprised to see that this was already the case! At this point, I scoured the VMWorkstation’s documentation and the Internet for answers, but found nothing definitive. The VMWorkstation 6.x manual has a heading on page 167 titled “Working with Nonstandard Resolutions”, under which it says:

A guest operating system—and its applications—might react unexpectedly when the Workstation console size is not a standard VESA resolution (640×480, 800×600, 1024×768, and so on).

Sure enough, I discovered through experimentation that things do not go well with the fonts in a Linux guest if your chosen display resolution for the guest display is not one of the standard VESA settings like 800×600, 1024×768, 1280×1024, etc. However, the ensuing discussion in the manual is limited to using displays smaller than 640×480. I did not find that helpful.

So, here’s my best guess at this point. The display the settings for each virtual machine are under VM/Settings/Hardware tab/Display from the workstation menu:

Settings for the guest's display options

Settings for the guest display (grayed because this VM is only suspended rather than powered off)

With “Use host settings for monitors” selected, it appears to me that the guest X-server is passed the max resolution of the host’s xorg.conf, 1280×1024 in my case. Unless you are operating in full screen mode, this will always be too big for the guest. So as an experiment, I powered off a Linux virtual machine, selected “Specifiy settings for monitors”, set one monitor and chose 1024×768 for the resolution (the largest of the list that would fit in the console). I then powered on the virtual machine.

Miracle of miracles, the display fit on my screen nicely at startup, including the login screen. The fonts in the resulting desktop display were fine. Problem solved. Sorta. I still don’t have my 1152×900 display. But, I do have usable fonts in my guest system.

There may be a better solution to this issue, but as I said above, I haven’t found one on the net or on VMWare’s community site. If you have a better idea, I’d love to hear it.



  1. […] is working fine at the moment other than the fonts. I know the fix for that and explained it here. It isn’t my first choice, though. The font problem doesn’t occur in all Linux virtual […]

  2. Awesome tip! Work it, Thank’s

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: