Virtual Mac on iPad
est un super projet sous licence libre qui permet de booter un bon vieux macOS dans une machine virtuelle sur... un iPad jailbreaké ! Hé ouais ! Les versions de Monterey à Tahoe sont prises en charge (la 27 étant encore bien bien expérimentale), et vous pouvez ainsi lancer Xcode, le Terminal ou Final Cut Pro, Logic Pro et Pixelmator Pro directement sur votre tablette Apple.
Côté matos, il faut un iPad Pro M1 ou M2, ou un iPad Air M1 (et ça fonctionne aussi semble-t-il sur les iPhone 14 Pro et 14 Pro Max). Les modèles de 1 To et 2 To, qui embarquent 16 Go de mémoire, sont ceux que les développeurs recommandent et niveau perf apparemment, on est au même niveau que ce qu'on peut obtenir avec
VirtualBuddy
ou UTM quand ils virtualisent macOS sur un Mac M1 ou M2.
Pour l'installer, faudra donc jailbreaker l'iPad (avec
Dopamine
par exemple), puis ajouter dans
Sileo
le dépôt du projet, dont voici l'adresse et y rechercher l'app Virtual Mac.
https://nfzerox.github.io/cydia/
Tout le process de jailbreak est décrit dans le readme du projet soit pour iPadOS 15 à 16.3.1 ou pour iPadOS 14 à 14.8.1. Par contre, la variante Dopamine-roothide n'est pas supportée, du coup faudra repasser sur le Dopamine officiel.
Côté utilisation, avoir un Magic Keyboard n'est pas obligatoire puisque le tactile suffit avec un tap pour cliquer, un tap à 2 doigts pour le clic secondaire et le défilement, sans oublier le clavier virtuel sous l'icône du clavier. En revanche, la connexion à iCloud ou à un compte Apple n'est pas prise en charge, donc pendant la configuration de macOS faudra choisir "Configurer plus tard" et vous vous en passez...
Maintenant ce projet exige iPadOS 16.3.1 au maximum, parce qu'Apple a retiré dès iPadOS 16.4, son hyperviseur du noyau. Et sans lui malheureusement, le portage vers les versions ultérieures est devenu très compliqué. Voilà donc cette bidouille de Virtual Mac sur iPad c'est avant tout un petit kiff technique réservé aux possesseurs d'iPad resté sur la 16.3.1 ou inférieur, car downgrader semble compliqué pour pas dire impossible.
Maintenant je tiens à vous rappeler que
UTM SE
tourne sur iPad sans jailbreak, mais n'a pas de
JIT
ce qui fait qu'il doit passer par un interpréteur donc c'est beaucoup plus lent. Ça sert donc surtout à faire tourner des systèmes + anciens ou allégés comme DOS ou Alpine Linux.
Bref, avant de jailbreaker quoi que ce soit comme des petits fifous, regardez bien dans les Réglages quelle version d'iPadOS tourne sur votre iPad pour voir si c'est jouable !
Tobi, le créateur de la chaîne éponyme comme on dit, Game of Tobi, a publié une vidéo où Super Mario 64 tourne sur une Super Nintendo, avec la puce Super FX. Alors pour l'instant, seuls quelques niveaux fonctionnent, mais ils fonctionnent sur la VRAIE console !! Et ça c'est grâce à une cartouche flash compatible avec cette puce. Pour la petite histoire si vous n'en avez jamais entendu parler, cette puce SuperFX c'est en réalité
un coprocesseur conçu par Argonaut
qui équipait déjà Star Fox et Yoshi's Island (Alors ça vous revient les gamers grisonnants ??)
Hé je vous arrête tout de suite, ce n'est pas le jeu de la Nintendo 64 recompilé, non pour ça faudrait utiliser mon logiciel
Kompote
. En réalité, Tobi a écrit un moteur maison qui réutilise les assets d'origine, animations comprises. Ce moteur dessine donc l'image depuis l'arrière vers l'avant (ça s'appelle
l'algorithme du peintre
) plutôt que de passer par un Z-buffer classique (la mémoire qui retient la profondeur de chaque pixel). Il écarte aussi très agressivement tout ce qu'il peut ne pas dessiner et c'est vrai parfois trop, ce qui fait que ça réduit le niveau de détail des textures. C'est voulu par Tobi car les textures sont un énorme goulot d'étranglement !
Quoiqu'il en soit, Tobi trouve le résultat sympa car juste "reconnaissable" et est surtout content de Bob-omb Battlefield, l'un des niveaux de Mario 64 les plus hardus à faire tourner de façon fluide. En tout cas c'est un sacré challenge pour lui car les niveaux doivent tenir dans 2 Mo max. Il cherche donc comment réduire au max tout ça.
Maintenant, certains d'entre vous se sont peut-être demandé d'où sortait ce nom "Super Mario FX" ?
Eh bien Tobi reprend là une vieille rumeur qui raconte que Nintendo aurait préparé un premier Mario en 3D pour la Super Nintendo avec cette puce SuperFX, avant malheureusement de l'annuler pour en faire le Super Mario 64 qu'on connait tous ! Moi ce que j'ai pu trouver sur cette rumeur, c'est via
SNES Central
qui a fini par poser la question à Dylan Cuthbert, l'un des programmeurs de Star Fox qui
a expliqué
que Super Mario FX était en réalité le nom de code interne de la puce FX, et non celui d'un jeu. Bref, à vous de voir si vous préférez les faits à la rumeur plus romanesque ^^.
Maintenant si vous voulez jouer à sa version de Super Mario FX, il faudra patienter car rien n'est téléchargeable pour l'instant. Sniiiif ! En effet, Tobi veut publier le projet de façon à ce que chacun puisse le compiler avec sa propre copie de Super Mario 64, ce qui lui évitera de finir en octogone avec les avocats de Nintendo !
Un emplacement M.2 finalement, ce n'est rien d'autre qu'un bonne vieille connexion PCIe d'une à quatre lignes selon la machine (sauf quand il est câblé en SATA, mais ça, j'en reparle à la fin). Et en général, comme le montre la photo ci-dessous, ce qu'on y met, c'est un SSD pour avoir du stockage rapide et efficace
Emplacement d'un M.2 sur la carte mère d'un laptop (
source
)
Mais aujourd'hui, on va s'ouvrir un petit peu l'esprit sur cet emplacement M.2, parce que OUI, rien ne vous oblige à y mettre un SSD !
Mais avant de commander quoi que ce soit, sortez le manuel de votre carte mère ou la doc de votre mini-PC et regardez le type (PCIe ou SATA) de votre connecteur M.2, le format accepté et surtout le nombre de lignes de cet emplacement.
Le nombre de lignes, c'est le nombre de voies de circulation entre la carte M.2 et le processeur. Plus il y en a, plus ça va vite, donc en général, pour une carte réseau, une ligne (x1) ou deux (x2) suffisent. Mais si vous partez sur une carte graphique, il faudra 4 lignes minimum (x4).
Par exemple, le Beelink ME Mini
, lui, dispose de 5 emplacements PCIe 3.0 x1 et un seul en x2. Et sur
une ASRock B850 Pro-A
, le 4e emplacement M2 tourne en x4... mais retombe en x2 dès qu'un disque occupe l'un des autres ports M.2 en SATA3.
Regardez aussi ce que l'emplacement partage, car sur cette même carte mère ASRock, occuper par exemple le 3ème emplacement désactive purement et simplement le slot PCIE2. Vérifiez aussi que la puce du contrôleur M.2 dispose bien d'un pilote pour votre système, et demandez-vous par où passera le câble car mis à part l'accélérateur IA que je vous présente un peu plus bas, toutes les cartes qui suivent traînent un truc derrière elles. Donc, il faudra peut-être découper votre boîtier ou laisser dépasser des trucs...
Allez, c'est parti !
Une carte réseau 5 ou 10 GbE
Pour un NAS ou un routeur maison,
la carte 5 GbE de KALEA
à 29,90 € embarque une Realtek RTL8126 qui se branche sur un emplacement à clé M ou B+M et déporte son port RJ45 sur une équerre classique de PC. Et bonne nouvelle, comme la RTL8126 est une puce PCIe 3.0 x1, une seule ligne suffit ! Elle est reconnue par
le pilote r8169 de Linux
depuis le noyau 6.9, et sous FreeBSD (donc OPNsense ou pfSense) par
le pilote officiel de Realtek
, realtek-re-kmod, qui s'installe à part.
La carte 5 GbE de KALEA, avec son port RJ45 déporté sur une équerre
Maintenant, si vous voulez du 10 GbE,
la carte de REKONG
à 98,32 € passe par une Marvell AQC113. Et si j'en crois la fiche du vendeur, elle accepte du Gen4 x1 ou du Gen3 en x4, x2 et x1. Sauf qu'une ligne Gen3, c'est 8 Gbit/s, ce qui veut dire que sur un emplacement Gen3 x1, elle plafonnera sous ses 10 Gbit/s. Donc à ce prix-là, autant prendre la 5 GbE. Par contre, en Gen3 x2 (16 Gbit/s) ou en Gen4 x1 (32 Gbit/s), elle pourra tenir les 10 Gbit/s sans problème,
Côté logiciel, Linux la gère avec son pilote atlantic, mais sous OPNsense, c'est une autre histoire. Le pilote FreeBSD d'Aquantia, lui, ne prend pas en charge l'AQC113 et il faudra
passer par un pilote communautaire
.
Un accélérateur IA pour Frigate
Si vous faites tourner
Frigate pour vos caméras
, oubliez le Google Coral, qui
n'est plus recommandé par Frigate
. Mais attention, avant d'acheter un autre accélérateur IA à la place, regardez d'abord si votre processeur ne sait pas déjà faire le boulot, car le détecteur OpenVINO de Frigate tourne sur le GPU intégré des processeurs Intel de 6e génération ou plus récents. Un N100, par exemple, analyse une image en 15 ms environ avec MobileNetV2, sans rien acheter de plus, donc vous n'en aurez peut-être même pas besoin.
Par contre, si ça ne suffit plus,
le module Hailo-8 de LUCKFOX
à 201,59 € vous amènera 26 TOPS sur une interface PCIe Gen3 à quatre lignes. Frigate le prend en charge, avec environ 7 ms par image, mais mesurées avec YOLOv6n, donc c'est loin d'être comparable aux 15 ms du N100.
Maintenant, le truc cool, c'est que vous n'avez pas besoin d'un emplacement x4. La preuve,
l'AI HAT+ 26 TOPS
de Raspberry Pi, construit autour du même Hailo-8, tourne sur le port PCIe du Pi 5, qui n'a qu'une seule ligne. Un emplacement M.2 en x1 fera donc l'affaire, même si Frigate note que les PC x86 à deux lignes font mieux que le Pi.
Le module M.2 Hailo-8, avec sa puce sous un capot métallique
Une carte graphique externe en OCuLink
Ici, c'est la seule carte de la liste qui exige un emplacement x4.
L'adaptateur OCuLink de RIITOP
à 36,95 € transformera instantanément votre port M.2 en prise OCuLink PCIe 4.0 x4 (jusqu'à 64 Gbit/s). On doit ensuite le relier au
dock Minisforum DEG1
(prix 109,00 €), sur laquelle se plug la carte graphique (à acheter séparément avec son alim) et se branche sur une alimentation ATX ou SFX. Le câble OCuLink, lui,
est livré avec le dock
.
L'adaptateur M.2 de RIITOP et sa prise OCuLink
Notez que le DEG1 de Minisforum n'est compatible qu'avec les machines qui gèrent le PCIe 4.0 x4, donc visez un emplacement Gen4 x4. Et l'OCuLink ne se branche pas à chaud, faudra éteindre le PC avant.
Le dock DEG1 de Minisforum, avec le slot qui reçoit la carte graphique
Et si vous préférez rester à l'intérieur du boîtier,
la nappe ADT-Link
à 35,45 € ressortira l'emplacement M.2 en slot PCIe x16 prévu pour une carte graphique. Alors je dis x16, mais c'est seulement au niveau du format PCIe 3.0 parce que la carte, en réalité, ne recevra que les lignes réellement disponibles de l'emplacement M.2.
La nappe R43SR d'ADT-Link, du connecteur M.2 au slot PCIe x16
Le port USB-C de façade qui ne sert à rien
Et si le port USB-C en façade de votre boîtier reste inerte faute de connecteur sur la carte mère,
l'adaptateur Type-E de CY
à 32,99 € transformera l'emplacement M.2 en connecteur interne Type-E à 20 Gbit/s. Il repose sur une ASMedia ASM3242, conçue pour quatre lignes PCIe Gen3 (sur deux, on tombe à 16 Gbit/s), et ne fait ni vidéo, ni audio, ni recharge PD.
L'adaptateur M.2 de CY, son connecteur Type-E et son dissipateur
Maintenant, si un connecteur USB 3.0 à 19 broches est encore libre,
un simple adaptateur EZDIY-FAB
à 14,99 € réveillera ce port en USB 3.2 Gen 1, sans avoir à toucher à votre emplacement M.2.
L'adaptateur en L d'EZDIY-FAB, vu sous deux angles
Six ports SATA de plus
Côté stockage,
le contrôleur SATA de Namvo
à 29,99 € vous ajoutera 6 ports SATA 6 Gbit/s grâce à
une ASMedia ASM1166
, reliée en PCIe Gen3 x2. Ça fait 16 Gbit/s à partager entre les 6 disques, et moitié moins sur un emplacement x1.
Le contrôleur SATA de Namvo
Du Wi-Fi 6E
Enfin, pour ajouter du Wi-Fi 6E à une tour qui n'en a pas, il vous faudra
un module Intel AX210
à 28,37 € et
un adaptateur Jectse
à 9,62 € qui le fera tenir dans un emplacement à clé M. Comme Intel documente son AX210 comme étant du Wi-Fi (PCIe) et BT (USB), l'adaptateur fait passer le Wi-Fi par une ligne PCIe et le Bluetooth par un petit câble USB 2.0 fourni, à relier à un connecteur interne de la carte mère. Et les antennes ne figurent ni sur la fiche du module ni dans le colisage de l'adaptateur, donc faudra les acheter à part.
Méfiez-vous par contre de la liste de compatibilité de la fiche Jectse, qui dit supporter aussi l'AX201.
Intel classe ce module
en "M.2: CNVio2", et pas en PCIe et USB. Bref, attention à bien prendre un AX210 et pas un 201
Voilà et si votre emplacement libre s'avère être câblé en SATA, bah oubliez toutes ces cartes... Toutes ces cartes parlent uniquement le PCIe. Il ne vous restera alors plus qu'à y mettre un SSD SATA... Snif.