Entwicklung mit einem Mac

Aus Das Sopra Wiki
Wechseln zu: Navigation, Suche

Dieser Artikel gibt Hilfestellungen und Antworten zu häufig auftretenden Problemen und Fragen, wenn man einem Mac entwickeln möchte. Nicht jede der hier beschriebenen Lösungen erlaubt es, jede im Downloadbereich befindliche Software zu installieren.

Voraussetzungen

Die folgenden Voraussetzungen müssen erfüllt sein, damit MonoGame mit einem Mac entwickelt werden kann:

  1. Der Mac muss einen Intel Prozessor besitzen.
  2. Eine der folgenden Betriebssysteme oder Betriebssystem-Erweiterungen müssen installiert sein:
    • macOS füher (OS X oder Mac OS X) für Virtuelle Maschine und Xamarin-Lösungen.
    • Windows 7, 8, 8.1 oder 10 mit Boot Camp für native Lösung. Die 64bit Version wird empfohlen.

Native Windows Installation

Die beste Kompatibilität mit allen im Softwarepraktikum verwendeten Programmen und Diensten schafft eine native Installation von Windows auf einer zweiten Partition. Da die Treiberunterstützung von Apple für Windows nur für x86 Prozessoren gegeben ist, ist zwingend ein Mac mit Intel Prozessor notwendig.

Vorteile:

  • Windows läuft nativ auf dem Prozessor, wodurch es keine Performance-Einschränkungen gibt.
  • Die vollständige Installation der benötigten Software (Visual Studio, ReSharper, etc.) ist möglich.
  • Volle Grafikunterstützung ist vorhanden.
  • Entwicklung ist nicht nur mit MonoGame sondern auch mit XNA möglich, da es sich um eine vollständige Windows-Installation handelt.

Nachteile:

  • Erhöhter Bedarf von Festplattenplatz wegen der Notwendigkeit einer gesonderten Partition für Windows (empfohlen ist eine Partitionsgröße von mindestens 60 GB).
  • Häufig verwendete Software muss doppelt installiert werden, wenn man unter Windows auch andere Dinge machen möchte (Browser, PDF Viewer, Mailtool, ...).
  • Zum wechseln zwischen den Systemen muss immer ein Neustart durchgeführt werden.

Eine native Installation von Windows auf einem Mac lässt sich mittels Boot Camp[1] durchführen. Hierbei wird unter OS X eine Partition angelegt und Windows von einem externen Installationsmedium (z.B. USB Stick) installiert.

Windows in einer Virtuellen Maschine

Windows kann auch in einer Virtuellen Maschine unter OS X betrieben werden.

Vorteile:

  • Es wird weniger Speicherplatz benötigt als eine native Installation mit Boot Camp (ca. 30 GB sind ausreichend).
  • macOS mit seinen Programmen läuft weiter und kann weiter benutzt werden. Es ist kein Neustart notwendig.
  • Entwicklung ist nicht nur mit MonoGame sondern auch mit XNA möglich, da es sich um eine vollständige Windows-Installation in der virtuellen Maschine handelt.

Nachteile:

  • Da Windows in einer virtuellen Maschine läuft, kann die Performance von MonoGame oder XNA je nach Alter des Macs (Prozessortyp, Arbeitsspeicher, usw.) sehr schlecht sein.
  • Es kann unerwartetes Verhalten bei Darstellungen auftreten. Zum Beispiel ist es möglich, dass ein Mauszeiger gezeichnet wird, obwohl dieser eigentlich nicht gezeichnet werden dürfte.[2]
  • Die Installation der virtuellen Maschine und Windows ist relativ aufwendig.
  • Dadurch, dass zwei Betriebssysteme "parallel" laufen, wird erheblich viel mehr RAM gebraucht, als bei einer nativen Lösung (empfohlen werden mindestens 8 GB System-RAM).

Es gibt unterschiedliche Software, mit der eine virtuelle Maschine erstellt werden kann. Die zwei größten und meistbenutzten Softwarelösungen sind VirtualBox und VMWare. Im Folgenden wird die Installation von Windows für diese beiden Lösungen beschrieben.

Oracle VirtualBox

Im folgenden wird ausführlich beschrieben, wie VirtualBox mit einem Windows Gastsystem installiert wird. Benötigt wird folgende Software:

Abbildung 1: VirtualBox Fenster nach erstmaligem Ausführen.

Installieren Sie zunächst VirtualBox. Starten Sie die Anwendung danach. Es sollte sich ein Fenster, wie in Abbildung 1 dargestellt, öffnen.

Abbildung 2: Auswählen eines Namens und Betriebssystems für die neue virtuelle Maschine.

Um eine neue virtuelle Maschine zu erstellen, klicken Sie entweder auf den Button "Neu", wählen Sie im Menü "Maschine -> Neu..." aus, oder verwenden Sie die Tastenkombination CMD+N. Es öffnet sich ein Wizard zur Erstellung einer neuen virtuellen Maschine, wie in Abbildung 2 dargestellt. Verwenden Sie als Name der virtuellen Maschine zum Beispiel Sopra und wählen Sie eine Windows Version aus, z.B. Windows 10 (64-bit).

Abbildung 3: Zuweisung von Arbeitsspeicher.

Sie sollten mindestens 4 GB RAM zuweisen, damit Windows, Visual Studio und das Spiel genügend Arbeitsspeicher zur Verfügung haben. Beachten Sie, dass der Arbeitsspeicher, der dem Gast zur Verfügung gestellt wird, nicht mehr für macOS zur Verfügung steht, wenn die virtuelle Maschine läuft.

Abbildung 4: Auswahl der Festplatte für die virtuelle Maschine.

Sie können dann eine virtuelle Festplatte zur virtuellen Maschine hinzufügen. Sie können ebenfalls eine bereits existierende virtuelle Festplatte auswählen. Für eine Erstinstallation, wählen Sie "Festplatte erzeugen" aus.

Abbildung 5: Auswahl des Festplattenformats.

Wenn Sie angegeben haben, dass eine neue virtuelle Festplatte erzeugt werden soll, wählen Sie den entsprechenden Typ der Festplatte aus. Hier können Sie aus den folgenden Modi wählen:

  1. VDI (VirtualBox Disk Image): Das Festplattensystem von Oracle VirtualBox. Bietet die höchste Kompatibilität mit allen VirtualBox-bezogenen Anwendungen.
  2. VMDK (Virtual Machine Disk): Dieses Format wird von VMWare verwendet. Festplatten, die mit diesem Format erzeugt wurden, können auch von VMWare gelesen werden.
  3. VHD (Virtual Hard Disk): Dieses Format wird von Microsoft Virtual PC, der PC Virtualisierungssoftware von Microsoft, verwendet. Festplatten, die mit deisem Format erzeugt wurden, können auch von Microsoft Virtual PC gelesen werden.
  4. HDD (Parallels Hard Disk): Dieses Format wird von der Parallels Virtualisierungsumgebung für OS X verwendet.
  5. QED (QEMU Enhanced Disk): Dieses Format wird von QEMU verwendet.
  6. QCOW (QEMU Copy on Write): Dieses Format wird ebenfalls von QEMU verwendet. Es handelt sich jedoch um ein Festplattenformat, das es erlaubt, die allozierte Größe der Festplatte dynamisch wachsen zu lassen.

Falls Sie nicht planen, die erzeugte virtuelle Festplatte mit einer anderen Virtualisierungssoftware zu öffnen, wählen Sie hier VDI aus.

Abbildung 6: Auswahl der Allozierungsstrategie.

Falls Sie VDI als Festplattenformat ausgewählt haben, können Sie hier die Allozierungsstrategie festlegen:

  1. "dynamisch alloziert" bedeutet, dass das Festplattenimage auf dem Host-System zunächst nur in minimaler Größe angelegt wird, um Platz zu sparen. Braucht man im Gast-System mehr speicher, wird das Festplattenimage im Host automatisch vergrößert, bis die angegebene Festplattengröße erreicht wurde. Die Zugriffsgeschwindigkeit des Gastsystems auf die Festplatte kann
  2. "feste Größe" bedeutet, dass sofort die gesamte Größe der Festplatte auf dem Host angelegt wird. Diese Lösung verbraucht den meisten Speicherplatz auf der Festplatte, sorgt jedoch dafür, dass die Zugriffsgeschwindigkeit des Gastsystems auf die Festplatte schneller ist, als bei dynamischer Allozierung.


Abbildung 7: Eingeben des Dateinamens für die neue virtuelle Festplatte.

Legen Sie den Dateinamen für die neue virtuelle Festplatte fest. Grundsätzlich kann das Festplattenimage (z.B. aus Platzgründen) überall liegen, es empfiehlt sich jedoch, das Image ins Verzeichnis der Virtuellen Maschine zu legen. Dieses Verzeichnis wird automatisch ausgewählt. Ein Klick auf "Erzeugen" schließt den Assistenten ab.

Abbildung 8:

Nachdem die virtuelle Maschine erstellt wurde, müssen noch einige Standardeinstellungen geändert werden, damit optimale Unterstützung der Hardware (vor allem der Grafikkarte) gewährt wird. Wählen Sie dazu die erstellte virtuelle Maschine aus und klicken Sie auf "Ändern", bzw. wählen Sie im Menü "Maschine -> Ändern" aus oder drücken Sie die Tastenkombination CMD+S.

Abbildung 9: Angabe der CPUs für die virtuelle Maschine.

Setzen Sie die Anzahl der CPUs, die Sie der virtuellen Maschine zuweisen wollen, auf zwei. Dies setzt voraus, dass Ihr Hostsystem einen Multi-Core Prozessor beinhaltet. Wenn Sie einen leistungsstarken Intel i5 oder i7 mit mehr als zwei Kernen besitzen, können Sie hier auch 4 CPUs angeben. MonoGame oder XNA arbeiten jedoch nur auf einem Kern, daher reicht die Angabe von 2 CPUs, einer für das Gastsystem und einer für die Anwendung selbst, aus.

Abbildung 10: Setzen der 3D-Beschleunigung und des Grafikspeichers.

Aktivieren Sie unter "Anzeige" -> "Bildschirm" die 3D-Beschleunigung. Erhöhen Sie außerdem den Grafikspeicher auf mindestens 128 MB, je nach dem was Sie in ihrem Hostsystem für eine Grafikkarte verbaut haben. Schließen Sie die Einstellungen mit "OK" ab.

Abbildung 11: Auswählen des Installationsmediums bei erstmaligem Start.

Starten Sie nun die virtuelle Maschine. Beim ersten Start wird nach einem Installationsmedium gefragt. Geben Sie hier den Pfad zur heruntergeladenen ISO-Datei von Windows an. Falls Sie nicht dazu aufgefordert werden, ein Installationsmedium anzugeben, beenden Sie die virtuelle Maschine wieder, gehen Sie in die Einstellungen unter "Massenspeicher" und geben Sie beim leeren IDE Controller (CD-Symbol) den Pfad zur Windows ISO-Datei an.

Starten Sie danach die virtuelle Maschine und installieren Sie Windows.

Abbildung 12: Installation der VirtualBox Guest Additions.

Nachdem Windows installiert ist und die Benutzereinstellungen vorgenommen wurden, sollte der Desktop starten und zur Verwendung bereit ein. Installieren Sie nun die VirtualBox Guest Additions. Gehen Sie dazu im VirtualBox-Fenster der virtuellen Maschine auf "Devices" -> "Insert Guest Additions CD image". Falls Ihr Mauszeiger in der virtuellen Maschine gefangen ist und Sie nicht auf VirtualBox-Fenster klicken können, können Sie den Mauszeiger mit einem Tastendruck auf die rechte Strg-Taste (VirtualBox Standardeinstellung) wieder freigeben.

Nach dem Hinzufügen der Guest Additions CD sollte Windows Sie automatisch dazu auffordern, den Inhalt der CD zu starten. Ist das nicht der Fall, gehen Sie im Explorer auf das CD-Laufwerk und wählen Sie die entsprechende Setup-Datei aus. Nach der Installation muss die virtuelle Maschine noch einmal neu gestartet werden. Daraufhin stehen Ihnen größere Auflösungen zur Verfügung. Außerdem kann der Mauszeiger nun an den Rand der virtuellen Maschine bewegt werden, um freigegeben zu werden.

Abbildung 13: Deinstallation des bereits installierten VirtualBox Grafiktreibers.

Es ist möglich, dass ein neuer Grafiktreiber installiert werden muss, damit MonoGame und/oder XNA Programme korrekten Zugriff auf die Grafikkarte erhalten. Haben Sie keinen direkten Zugriff, kommt es zu einer Exception, wenn ein MonoGame oder XNA Programm gestartet wird. Laden Sie sich den neuen Grafiktreiber Datei:Wddm driver.zip herunter und entpacken Sie den Inhalt des Archivs in ein Verzeichnis innerhalb der virtuellen Maschine.

Deinstallieren Sie zunächst den alten Grafiktreiber wie folgt:

  1. Öffnen Sie den Geräte-Manager, indem Sie Start drücken und "Geräte-Manager" eingeben, oder indem Sie die Systemsteuerung öffnen und dort auf Geräte-Manager klicken.
  2. Öffnen Sie die Eigenschaften der Grafikkarte unter Grafikkarte -> VirtualBox Graphics Adapter.
  3. Klicken Sie auf "Treiber" und dann auf "Deinstallieren".
  4. Stellen Sie sicher, dass Sie den Haken "Die Treibersoftware für dieses Gerät löschen." angeklickt haben.


Abbildung 14: Wiederauffinden von gelöschten Geräten.

Damit die Grafikkarte nach der Deinstallation des Treibers wieder gefunden wird, klicken Sie auf "Aktion" -> "Nach geänderter Hardware suchen". Nun sollte die Grafikkarte wieder im Gerätemanager auftauchen unter dem Namen "VGA" oder "Microsoft Basic Display Adapter".

Abbildung 15: Suchen von Treibersoftware für die Grafikkarte.

Gehen Sie nun auf die gefundene Grafikkarte, wählen Sie die Eigenschaften aus, klicken Sie auf "Treiber" und anschließend auf "Treiber aktualisieren". Wenn Sie dazu aufgefordert werden, klicken Sie auf "Auf dem Computer nach Treibersoftware suchen".

Abbildung 16:

Geben Sie den Pfad zum entpackten Treiber an. Es reicht, das Verzeichnis anzugeben, in das der Treiber entpackt wurde. Stellen Sie jedoch sicher, dass der Haken "Unterordner einbeziehen" angeklickt ist. Beenden Sie die Installation des neuen Treibers mit einem Klick auf "Weiter".


Nun sollte die virtuelle Maschine vorbereitet und eingerichtet sein. 3D- und Grafik-Anwendungen sollten nun ohne Probleme laufen.

VMWare Fusion

Weitere Informationen: https://www.vmware.com/de/products/fusion Von uns bislang noch nicht auf seine Tauglichkeit im rahmen des Softwarepraktikums getestet.

Parallels

Weitere Informationen: http://www.parallels.com/de/products/desktop Von uns bislang noch nicht auf seine Tauglichkeit im rahmen des Softwarepraktikums getestet.

Arbeiten unter macOS

Wenn Sie weder eine virtuelle Maschine, noch eine native Windows-Installation per Boot Camp verwenden wollen oder können, gibt es die Möglichkeit, MonoGame Projekte nativ unter macOS zu entwickeln und auszuführen. Beachten Sie, dass dieses Verfahren sehr fehleranfällig ist und möglicherweise innerhalb der Gruppe zu Kompatibilitätsproblemen mit unterschiedlichen Betriebssystem-Arten (Windwos, Linux, macOS) führt. Verwenden Sie diese Lösung deshalb nur, wenn Sie sich sicher sind, dass Sie die auftretenden Probleme auch selbständig lösen können.

Vorteile der Entwicklung unter macOS:

  • Die Performance ist genauso gut wie unter einem nativen Windows (mit Boot Camp), da auch mit dieser Lösung das Projekt nativ im Betriebssystem läuft.
  • Es wird von allen hier vorgestellten Lösungen der geringste Festplattenplatz benötigt.
  • Es wird kein Windows benötigt

Nachteile:

  • Zwar gibt es eine Version von Visual Studio für Mac, jedoch hat diese bislang noch nicht den vollen Umfang, wie die Windowsversion. Momentan können keine Monogameprojekte erzeugt werden und es gibt auch keine ReSharper-Integration. Es besteht die Möglichkeit, die ReSharper-Kommandozeilenerweiterungen zu verwenden, diese sind jedoch noch nicht auf Tauglichkeit für das Softwarepraktikum getestet worden.
  • Es muss eine extra Solution für Xamarin gepflegt werden, die nur unter macOS geöffnet werden kann. Das bedeutet auch, dass jedes Mal, wenn ein Gruppenmitglied eine Datei zur Solution hinzufügt oder entfernt, diese Operation in dem jeweils anderen Projekt abgebildet werden muss.
  • XNA wird nicht unterstützt.
  • Es gibt keinerlei Support durch die Tutoren oder Dozenten für diese Lösung. Sie sind auf sich allein gestellt, wenn Sie sich für diese Lösung entscheiden.

Zur Entwicklung von MonoGame unter macOS werden die folgenden Programme benötigt:

Falls Visual Studio für Mac genutzt werden soll noch zusätzlich:

Referenzen

  1. Detaillierte Informationen zu Boot Camp: https://www.apple.com/support/bootcamp/
  2. Der Mauszeiger wird in der virtuellen Maschine gezeichnet, obwohl er eigentlich nicht gezeichnet werden dürfte. Siehe dazu auch den Hinweis zur entsprechenden funktionalen Anforderung in Aufgabe 5 der Hausaufgabe.