Virtualiser MacOS sur Linux avec QEMU

J’ai eu récemment besoin de tester quelque chose sur un vieux MacOS. Je n’avais pas trop envie de m’embêter avec une nouvelle machine qui sera vite obsolète et qui coûte un bras.

Du coup je me suis tourné vers la virtualisation. Et la solution QEMU semble bien fonctionner.

Je vous conseille les scripts de foxlet/macOS-Simple-KVM car :

  • il faut télécharger une ISO de l’installeur de MacOS. Apple donne gratuitement son OS depuis quelques années mais uniquement au matériel Mac. Donc pas possible de télécharger une ISO facilement. Mais le script permet quand même de télécharger l’installeur depuis les serveurs Apple et donc d’avoir un logiciel sans virus.
  • C’est illégal de faire tourner MacOS sur autre chose que du matériel Apple. Voila, une grosse partie de MacOS est faite de logiciel libre, le tout est gratuit, mais en fait la facture se trouve sur l’achat du matériel.
  • Du coup, il y a une émulation de matériel et du bootloader nécessaire. Les scripts vous aident là dessus.

Donc ca marche.

Maintenant, graphiquement c’est limité (pas de redimensionnement dynamique) et accélération graphique logicielle donc je ne vois pas ça comme une machine à utiliser tous les jours. Il semble possible de donner un GPU à MacOS (et donc le voir unique sur un écran physique…) mais je n’ai qu’un seul GPU dans ma machine (le GPU intégré Intel ca ne marche pas).

De plus, honnêtement, l’OS est nul comparé à Gnome/Linux. C’est livré avec rien du tout et on a juste quelques logiciels ultra basiques. L’ergonomie est lourdingue avec leur apps qui ne s’ouvrent pas en plein écran. Franchement, ça devrait s’appeler ‘Windows’ tellement ça ouvre de fenêtres.

Voici ma config perso (corrige le problème de pointeur de souris, meilleure performance i/o & graphique, exposition par le protocole SPICE) :

#!/bin/bash

OSK="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VMDIR=$PWD
OVMF=$VMDIR/firmware
#export QEMU_AUDIO_DRV=pa
#QEMU_AUDIO_DRV=pa

qemu-system-x86_64 \
    -nodefaults \
    -enable-kvm \
    -m 6G \
    -machine q35,accel=kvm \
    -smp 4,cores=2 \
    -cpu Penryn,vendor=GenuineIntel,kvm=on,+sse3,+sse4.2,+aes,+xsave,+avx,+xsaveopt,+xsavec,+xgetbv1,+avx2,+bmi2,+smep,+bmi1,+fma,+movbe,+invtsc \
    -device isa-applesmc,osk="$OSK" \
    -smbios type=2 \
    -drive if=pflash,format=raw,readonly,file="$OVMF/OVMF_CODE.fd" \
    -drive if=pflash,format=raw,file="$OVMF/OVMF_VARS-1024x768.fd" \
    -vga virtio \
    -device ich9-intel-hda -device hda-output \
    -usb -device usb-kbd -device usb-tablet \
    -netdev user,id=net0 \
    -device vmxnet3,netdev=net0,id=net0,mac=52:54:00:09:49:17 \
    -drive id=ESP,if=virtio,format=qcow2,file=ESP.qcow2 \
    -drive id=MyDisk,if=virtio,format=qcow2,file=MyDisk.qcow2 \
    -k fr \
    -spice port=3001,disable-ticketing \
    -device virtio-serial -chardev spicevmc,id=vdagent,debug=0,name=vdagent \
    -device virtserialport,chardev=vdagent,name=com.redhat.spice.0 \

Ca se regarde avec spicy:

spicy --uri=spice://localhost:3001

2 réactions sur “ Virtualiser MacOS sur Linux avec QEMU ”

  1. TheGame

    Salut Tuxicoman,

    si je ne peux que féliciter la volonté de partager le savoir et les astuces qui permettent d’arriver au résultat attendu dans les limites techniques de la virtualisation de cet OS, je ne peux pas m’empêcher de tiquer sur le jugement un peu hâtif que tu portes à MacOS pour ton besoin précis et ponctuel.

    Pour reprendre ton article :
    > J’ai eu récemment besoin de tester quelque chose sur un vieux MacOS. Je n’avais pas trop envie de m’embêter avec une nouvelle machine qui sera vite obsolète et qui coûte un bras.

    Autant pour le côté financier où Apple se touche clairement (à performances équivalentes sur un PC classique) je te rejoins, le côté vite obsolète est à mon sens relativement faux. J’ai un Macbook Pro de 2010 acheté d’occasion en 2012, la seule upgrade que j’ai faite dessus c’est y coller un SSD, il a rejoint le placard il y a seulement 2 mois. Jusqu’à présent cette machine me servait à faire du dev, de la virtualisation, des labs réseaux, de la retouche photo et elle n’a jamais vraiment montré de signe de faiblesse (excepté la batterie mais pour un modèle vieux de 10 ans je lui pardonne).

    > De plus, honnêtement, l’OS est nul comparé à Gnome/Linux. C’est livré avec rien du tout et on a juste quelques logiciels ultra basiques.

    Tu veux dire qu’un OS est livré avec la base strictement nécessaire pour le commun des mortels et que c’est à l’utilisateur de venir y installer ce qu’il a envie ? Quelle drôle d’idée pour un OS ! ;) J’appelle pas ça un avis « honnête » mais « subjectif ».

    > L’ergonomie est lourdingue avec leur apps qui ne s’ouvrent pas en plein écran.

    Je ne comprend pas trop ce que tu veux dire, je n’ai jamais rencontré de soucis similaire. De plus tu peux même avoir du ‘vrai’ fullscreen avec un écran dédié à ton application. A l’époque où je jouais et bidouillais avec Compiz / Fusion et le multibureaux de Linux, MacOS embarquait déjà Spaces. La navigation se faisait de manière hyper simple avec un geste sur leur fabuleux trackpad (jamais retrouvé les sensations de ce matériel en terme de fluidité jusqu’à présent). Quand à cracher sur l’ergonomie, je ne sais pas quelles sont tes habitudes, je me souviens juste qu’il m’a fallu une semaine à tout péter pour m’y faire à l’époque. Et après cette semaine les autres OS me semblaient tellement lourdingues à utiliser. J’avais toujours des PC autour, Windows et/ou Linux, mais rien n’égalait la facilité d’utilisation.

    > Franchement, ça devrait s’appeler ‘Windows’ tellement ça ouvre de fenêtres.

    Le vilain troll ! Mais sans rire, ce qui m’avait fait le plus adhérer à l’OS c’était justement le juste milieu entre Windows et Unix. Une interface jolie et des soft travaillés et ergonomiques avec en bonus un terminal qui embarque un bash, et avec lequel on peut faire 1001 choses (homebrew, vagrant, pyenv, docker, etc …) sans avoir à installer je ne sais quel WSL.

    Je crois que j’ai jamais vraiment aimé les avis tranchés non argumentés, d’où la fatigue permanente de voir les gens se faire la guerre (Android / Apple, Windows / Linux, PC / MAC) … Je tenais à apporter un peu de nuance, juste rappeler qu’il y a des produits différents pour chaque besoin. Ok j’suis content de mon Android pour le moment, mais est-ce qu’on peut cracher sur Apple pour leurs téléphones ? Sur le prix oui, sur les gens qui veulent se jeter sur le dernier modèle juste parce le dernier il est forcément mieux on peut aussi, sur le hardware et le software et l’uniformisation de l’ecosystème de leurs produits, un peu moins je pense. C’est la même chose pour MacOS. Ok ils se sont servi / se servent allègrement dans des bases open source, ont piqué des idées ici et là, mais en les améliorant à chaque fois, clairement tout n’est pas blanc, mais tout n’est pas noir non plus.

    Aujourd’hui je suis de retour sur Windows 10, je ne pense pas remettre des sous dans du matos Apple, horriblement cher, et parce que mon besoin et mes habitudes ont changées (et puis même si leur vision d’avenir avec leur CPU ARM n’est sûrement pas une bêtise, j’ai encore beaucoup de choses en x86 à faire tourner).

    Bref, my two cents, sur la forme, pour le reste c’est plutôt cool et je vais essayer ça (j’ferai un retour sur la virtu du GPU, je dois avoir un proxmox dans un coin avec une carte graphique non utilisée dedans).

  2. tuxicoman Auteur Article

    Tu as raison, la critique est un peu trop gratuite.
    Mais à chaque fois que je dois m’y coller c’est pour résoudre des problèmes.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.