I’m pleased to release a third beta of my macOS virtualising app for Apple silicon Macs, Viable. This addresses problems with virtual display resolution and quality, and I’m particularly grateful to Greg for the testing he has done, and the invaluable pointers that he provided.
When an app using Apple’s Virtualization framework configures the virtual display device used by a macOS guest, it passes three integers: two for the display dimensions, and its pixel density in pixels/inch. Careful choice of those can result in a virtual display which is scaled correctly but very slightly fuzzy, or one that is as crisp and clear as the host’s.
When using a Retina display, one way to guarantee optimum clarity is to put the virtual display into HiDPI mode, normally by supplying doubled display dimensions. So if you want the virtual display to fill a Studio display, set its dimensions to 5120 x 2880 rather than the nominal dimensions of the maximum window size, 2560 x 1440. Unfortunately, when your VM first starts up with those dimensions, it will size its virtual display to 5120 x 2880 without HiDPI, and you have to engage 2560 x 1440 HiDPI in its Displays pane.
Worse still, there are two situations in which you can’t engage HiDPI: when a VM undergoes personalisation and configuration on its first run, and in Recovery mode (supported only on Ventura hosts).
I prefer running my VMs at a resolution of 1600 x 1000, so this is what I set Viable to:
- for the first run after installing macOS in a new VM, 1600 x 1000 at 80 ppi and no HiDPI;
- once a VM has been fully installed and set up, 1600 x 1000 at 80 ppi with HiDPI turned on, and the Displays pane in the guest set to 1600 x 1000 HiDPI, for a completely crisp virtual display that also scales well even to full screen;
- for Recovery Mode, 1600 x 1000 at 80 ppi and no HiDPI.
Viable beta 3 now gives you complete control to experiment as you wish. It’s available from here: viable1b3
I have other writing commitments over the coming week, and will then be returning to virtualising Linux. Unfortunately, because of the limitations of the Virtualization framework, GUI Linux will require Ventura, but I also intend providing a command-line Linux for Monterey and later.