Published on

Das sollte man wissen, bevor man macOS in einer virtuellen Maschine ausprobiert

Authors

Die Arbeit mit virtuellen Maschinen ist für mich selbstverständlich und auch gar nicht mehr wegzudenken.

Seitdem ich nun nach langer Zeit wieder mal ein MacBook Pro (16") habe, wollte ich natürlich auch macOS in einer virtuellen Maschine nutzen.

Die Installation ist schnell durchgeführt. Nach dem Start der VM habe ich zunächst den Safari Browser geöffnet und musste nicht schlecht staunen, als ich mehrere Tabs offen hatte. Im nachfolgenden animierten GIF ist zusehen, das die Tab-Titel unleserlich sind und flackern.

Abb. 1: Weitere Tabs in Safari öffnen
Abb. 1: Weitere Tabs in Safari öffnen

Ein Déjà-vu hatte ich dann, als ich nach der Installation von Visual Studio Code dieses öffnete, um einen Text zu bearbeiten. Der eingefügt Text wird nur teilweise oder gar nicht dargestellt. Bewegt man den Mauszeiger über die Taskbar des Editors, verschwinden die Icons.

Abb. 2: Textdatei in VSC öffnen
Abb. 2: Textdatei in VSC öffnen

So wie es aussieht, gibt es ein Problem mit der graphischen Auflösung bzw. mit der Darstellung. Nach einer kurzen Recherche im Netz war klar: Hardware-Beschleunigung wird in einer virtuellen Maschine mit macOS nicht unterstützt.

Der Support von Parallels bestätigt dies: "Parallels Desktop does not support 2D or 3D acceleration in OS X/macOS guest operating systems (installed inside the virtual machine) because Apple does not provide an API for creating a video driver with 2D/3D acceleration support."

Bis jetzt war ich mit Parallels sehr zufrieden (hatte ich doch in der Vergangenheit immer VMware eingesetzt, auch auf früheren Macs). Wie sich aber herausstellt, ist dies bei VMware genauso. Wie der Support von Parallels schon sagte, es liegt nicht am Produkt, sondern an Apple, dass die hierfür notwendigen Informationen nicht veröffentlicht.

Ein Lösungsweg ist, die Nutzung der Hardware-Beschleunigung je App abzuschalten, sofern die App diese Möglichkeit anbietet.

Bei Visual Studio Code ist dies möglich. Hier kann in den Einstellungen die Verwendung der Hardware-Beschleunigung abgeschaltet werden.

Mittels der "Command Palette" und "Preferences -> Configure Runtime Arguments" öffnet man die Datei "argv.json" und kann dann den Schalter für die Hardware-Beschleunigung aktivieren bzw. die Hardware-Beschleunigung abschalten.

// This configuration file allows you to pass permanent command line arguments to VS Code.
// Only a subset of arguments is currently supported to reduce the likelyhood of breaking
// the installation.
//
// PLEASE DO NOT CHANGE WITHOUT UNDERSTANDING THE IMPACT
//
// NOTE: Changing this file requires a restart of VS Code.
{
  // Use software rendering instead of hardware accelerated rendering.
  // This can help in cases where you see rendering issues in VS Code.
  "disable-hardware-acceleration": true,

  // Enabled by default by VS Code to resolve color issues in the renderer
  // See https://github.com/Microsoft/vscode/issues/51791 for details
  "disable-color-correct-rendering": true
}
Abb.x: Visual Studio Code - Hardware-Beschleunigung aktivieren

Nach einem Neustart funktioniert Visual Studio Code dann wie erwartet.

Abb. 3: Textdatei in VSC öffnen - Hardware-Beschleunigung ausgeschaltet
Abb. 3: Textdatei in VSC öffnen - Hardware-Beschleunigung ausgeschaltet

Für den Apple Safari Browser habe ich leider keine Möglichkeit gefunden, die Nutzung der Hardware-Beschleunigung abzuschalten. Jedoch bietet z.B. der Browser von Google eine solche Einstellung, erreichbar über "Settings -> Advanced -> System".