VMware Communities
jtmiller
Contributor
Contributor

Linux Guest OS Resolution Restricted after 8.5.8 upgrade on MacBook Pro Retina

After upgrading to 8.5.8, the resolution for my CentOS guest OS is limited to very low resolution. I'm fairly certain I was using 2560x1600 before, which is no longer an option. I've tried uninstalling and reinstalling open-vm-tools, open-vm-tools-desktop, xorg-x11-drv-vmware, Tools > Install VMWare Tools, etc. as well as trying nearly every combination of options from the Fusion Display Settings > Use Full Resolution > Scaled, Virtual Machine Resolution > Single Window/Full Screen. Before I'm fairly certain those were set to use full resolution, all view modes, scaled, scaled.

Without xorg-vm-tools-desktop installed, the resolutions available within the guest are:

1024x768 (4:3)

800x600 (4:3)

720x576 (5:4)

With xorg-x11-drv-vmware installed (nothing else seems to matter), the resolutions available within the guest are:

800x600 (4:3)

1152x864 (4:3)

1024x768 (4:3)

832x624 (4:3)

720x576 (5:4)

1176x885 (4:3)

I use the VM frequently and need the screen real estate, so this is driving me insane. I've had this happen a few times in the past and reloading a snapshot always fixed the issue - and oddly I was able to keep upgrading software and retain the high resolution. This time it's not working.

0 Kudos
5 Replies
bluefirestorm
Champion
Champion

This is not a permanent fix but you could try adding custom screen resolutions by taking the modeline output of cvt and using xrandr to add resolutions. The custom resolutions doesn't survive logout and reboot. So you may want to set it into script (especially the --newmode and --addmode) but running script with the --size yields unpredictable scaling of fonts and other screen elements.

Just an example to show what is possible, create a custom 16:10 aspect ratio resolution of 2400 x 1500

#get the modeline output for 2400x1500 60Hz refresh rate

cvt 2400 1500 60

#create the new mode taking the modeline output of cvt

xrandr --newmode "2400x1500" 304.25  2400 2576 2832 3264  1500 1503 1509 1555 -hsync +vsync

xrandr --addmode Virtual1 "2400x1500"

#set the display to the new screen resolution

xrandr --size "2400x1500"

#make scaling twice as large

xrandr --output Virtual1 --scale 0.5x0.5

#reset scaling

xrandr --output Virtual1 --scale 1x1

0 Kudos
jtmiller
Contributor
Contributor

Thank you for your reply. Unfortunately I get the below errors when trying to add/set the new modes. I tried a few other resolutions/settings to no avail. The new resolution does appear, but setting it has no effect.

~$ dzdo cvt 2560 1600 60

# 2560x1600 59.99 Hz (CVT 4.10MA) hsync: 99.46 kHz; pclk: 348.50 MHz

Modeline "2560x1600_60.00"  348.50  2560 2760 3032 3504  1600 1603 1609 1658 -hsync +vsync

~$ dzdo xrandr --newmode "2560x1600" 348.50  2560 2760 3032 3504  1600 1603 1609 1658 -hsync +vsync

xrandr: Failed to get size of gamma for output default

~$ dzdo xrandr --addmode default "2560x1600"

xrandr: Failed to get size of gamma for output default

~$ dzdo xrandr --size "2560x1600"

Failed to change the screen configuration!

0 Kudos
bluefirestorm
Champion
Champion

Is the display name of the CentOS VM "default"? WIth the VMware Tools installed, probably more importantly, the vmwgfx graphics driver, the output name tends to be Virtual1 in most Linux distros as seen the Display setting. Or you could just execute xrandr without any parameters and it will show the output names with the available resolutions.

I wonder if it has to do with the output name thus it is complaining about "output default". It is best to reboot/log off to clear off whatever non-working resolutions have been added.

xrandr --output Virtual1 --newmode "2560x1600" 348.50  2560 2760 3032 3504  1600 1603 1609 1658 -hsync +vsync

xrandr --addmode Virtual1 "2560x1600"

0 Kudos
jtmiller
Contributor
Contributor

Is the display name of the CentOS VM "default"?

I think so. After rebooting, this is the output of xrandr by itself...

~$ dzdo xrandr

xrandr: Failed to get size of gamma for output default

Screen 0: minimum 320 x 200, current 1024 x 768, maximum 1176 x 885

default connected primary 1024x768+0+0 0mm x 0mm

   800x600       60.00    85.00    75.00    72.00    56.00     0.00 

   1152x864      75.00     0.00 

   ...

And specifying Virtual1:

~$ dzdo xrandr --output Virtual1 --newmode "2560x1600" 348.50  2560 2760 3032 3504  1600 1603 1609 1658 -hsync +vsync

xrandr: Failed to get size of gamma for output default

warning: output Virtual1 not found; ignoring

X Error of failed request:  BadName (named color or font does not exist)

  Major opcode of failed request:  141 (RANDR)

  Minor opcode of failed request:  16 (RRCreateMode)

  Serial number of failed request:  19

  Current serial number in output stream:  19

0 Kudos
jtmiller
Contributor
Contributor

I'll add some flavor.

I was able to restore a snaspshot using time machine to get back to full resolution. I updated the guest to make sure I had all the latest software. No problems, retained the full resolution.

Sometime over the weekend my Macbook rebooted. So when I opened it up this morning, the resolution again degraded to the modes listed in the op. Restored the snapshot, back to full resolution. Updated all software, still at full resolution.

0 Kudos