❌

Vue lecture

Tart - Une VM Windows 11 jetable sur votre Mac

Windows 11 dans une machine virtuelle sur un Mac Apple Silicon, ça se fait depuis looooongtemps avec des outils comme Parallels ou UTM. Mais tart, l'outil en ligne de commande qui crée et clone des VM comme on le ferait avec des conteneurs, n'en est pas capable, parce que la virtualisation d'Apple sur laquelle il repose ne gère officiellement que macOS et Linux.

Sauf qu'un dev nommé Mustafa Akin, vient de publier un fork qui permet d'installer Windows 11 avec tart sans un seul clic.

Je viens de le tester sur mon Mac Studio M4 Max avec l'ISO française de Windows 11 et j'ai trouvé que ça fonctionnait super, d'où ce petit tuto.

Ce qu'il vous faut avant de commencer

Pour vous lancer là dedans, il vous faut donc un Mac Apple Silicon sous macOS 26.6 ou 27, Xcode pour compiler tout ça, et bien sûr une ISO de Windows 11 ARM64 ( faudra vous démerder ensuite avec la licence ). Par contre, faut le savoir, ce fork repose sur deux réglages privés d'Apple, non documentés, qu'une mise à jour de macOS pourra shooter à tout moment. Donc ne montez pas votre futur homelab là dessus sans un plan de repli.

Compiler tart et créer la VM

Sur son site, Mustafa Akin publie un binaire tout fait, mais j'ai préféré compiler le programme car le script de création du paquet de son fork signe proprement l'application en local avec le droit de virtualisation qui va bien.

git clone --branch windows-guest-extras https://github.com/mustafaakin/tart.git
cd tart
git checkout e4c623c
./scripts/package-windows-preview.sh 0.1.0-windows-preview
export PATH="$PWD/dist/windows-preview/tart.app/Contents/MacOS:$PATH"

La commande export rend ce tart.app accessible au niveau du système prioritaire devant un éventuel tart déjà installé. Il ne reste alors qu'à lui passer votre ISO... tart téléchargera alors les pilotes virtio-win et WinFsp, fabriquera son propre média d'installation et démarrera Windows sans rien demander de plus.

tart create win11 --from-iso ~/Downloads/Win11_Arm64.iso

Ça m'a pris en tout et pour tout 26 minutes pour obtenir cette VM Windows fonctionnelle. Notez également que l'installation force l'anglais américain et que d'autres langues peuvent poser souci mais avec mon ISO française, l'interface est bien restée en français. Seul le clavier est resté en QWERTY au départ.

Installer le pilote et l'agent à la mano

L'auteur écrit sur son blog que l'install de l'agent doit se faire manuellement pour l'instant mais ce qu'il a oublié de préciser c'est que le pilote viosock, celui qui relie le Mac à la VM, n'est pas dans la liste des pilotes que tart injecte (viostor, viogpudo, NetKVM, viorng et viofs). Résultat, chez moi, tart exec ne fonctionnait pas. Comme ce pilote se trouve dans l'ISO virtio-win que tart a gardée dans son cache, il suffit donc de le copier dans un dossier partagé, contenant l'agent publié avec la préversion :

hdiutil attach -readonly -nobrowse ~/.tart/cache/windows/sha256:303f7ae40dad495d6ae474fdc571df58958a4dbc5c37a522d80f9a203867949d.iso
mkdir -p ~/tart-share
cp -R /Volumes/virtio-win-0.1.302/viosock/w11/ARM64 ~/tart-share/viosock
hdiutil detach /Volumes/virtio-win-0.1.302
curl -L -o ~/tart-share/tart-guest-agent.exe https://github.com/mustafaakin/tart/releases/download/windows-preview-0.1.0/tart-guest-agent.exe
tart run win11 --dir=share:$HOME/tart-share

Comme la commande tart run garde la main, laissez-la tourner et ouvrez un second terminal pour la suite, en y refaisant l'export ci-dessous depuis le dossier tart, sinon vous appellerez un autre tart.

export PATH="$PWD/dist/windows-preview/tart.app/Contents/MacOS:$PATH"

Au démarrage, la session admin (mot de passe admin) s'ouvre alors toute seule et vous arrivez sur le bureau. Le dossier partagé apparaît sur le lecteur Z:, dans un dossier share. Ouvrez PowerShell en administrateur (et n'oubliez pas que le clavier est en QWERTY) pour installer le pilote, puis déclarer l'agent comme tâche lancée à l'ouverture de session, parce que c'est dans cette session que sont le presse-papiers et le bureau :

pnputil /add-driver Z:\share\viosock\viosock.inf /install
mkdir "C:\Program Files\Tart"
copy Z:\share\tart-guest-agent.exe "C:\Program Files\Tart\"
$a = New-ScheduledTaskAction -Execute "$env:SystemRoot\System32\conhost.exe" -Argument '--headless "C:\Program Files\Tart\tart-guest-agent.exe" --run-agent'
$t = New-ScheduledTaskTrigger -AtLogOn -User $env:USERNAME
$s = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1)
$p = New-ScheduledTaskPrincipal -UserId $env:USERNAME -LogonType Interactive -RunLevel Highest
Register-ScheduledTask -TaskName "Tart Guest Agent" -Action $a -Trigger $t -Settings $s -Principal $p
Start-ScheduledTask -TaskName "Tart Guest Agent"
Get-Service VirtioSocketWSP

Le service VirtioSocketWSP doit alors afficher Running. S'il n'existe pas, c'est que le pilote n'est pas passé et tart exec ne répondra pas. Relisez alors la sortie de pnputil et vérifiez que le dossier viosock contient bien viosock.inf.

Vérifier que le terminal de Windows répond

Retournez ensuite dans le terminal du Mac et entrez cette commande pour connaitre le numéro de version du Windows :

tart exec win11 cmd /c ver
Microsoft Windows [version 10.0.26200.8037]

Informations système dans la VM : Windows 11 Famille, build 26200, sur une "Apple Virtualization Generic Platform" en ARM64

L'intérêt de tout ça c'est surtout d'avoir un Windows jetable. Vous devez arrêtez d'abord la VM de base avec tart exec win11 shutdown /s /t 0 puis pour cloner la VM, faites un : tart clone win11 w1 . C'est instantané, et y'a plus qu'à la démarrer avec un tart run w1 --no-graphics.

Avec --no-graphics ça démarre sans fenêtre et vous pouvez alors lancer ce que vous voulez avec tart exec. Ensuite pour tout stopper, un petit tart stop w1, et un tart delete w1 pour supprimer la VM et voilà...

Ce qui ne marche pas

En tout cas, n'en faites pas votre Windows de tous les jours car il n'y a ni son ni accélération graphique, pas de possibilité de suspendre le Windows et la virtualisation imbriquée se fige dès que Windows veut démarrer WSL2 ou Hyper-V.

La commande Get-Tpm confirme aussi l'absence de TPM. Et selon l'auteur, le disque est le point faible de ce Windows ARM 64 sous tart, en partie parce que tart rempli très vite les SSD avec ses logs. Pensez aussi à changer le mot de passe, puisque le compte est admin avec le mot de passe admin, et que SSH est ouvert sur le réseau interne de tart.

Mais pour tester des logiciels Windows ou scripter des trucs, ça tient bien la route.

Source : Mustafa Akin

  •  

Exodium - Les jeux DOS d'eXo enfin jouables sur Mac

Je vous ai déjà parlé des fameuses collections de Retro-eXo , dont le fameux eXoDOS en tête qui contient des milliers de jeux DOS, Windows 3.x, Windows 95/98 et ScummVM livrés clé en main, tout bien configurés. Sauf que sur Mac, bah pas de bol, eXo n'est pas supporté faute de volontaire pour y porter l'interface.

Alors c'est là qu'arrive Exodium sur son cheval blanc, qui n'est ni plus ni moins qu'un merveilleux lanceur gratuit et open source pour Mac Apple Silicon, Linux et Windows et dont la mission est de remplacer LaunchBox, l'interface Windows fournie avec les collections. Le catalogue de jeux est bien sûr livré avec l'appli, donc vous parcourez les fiches sans rien télécharger, et quand un jeu vous branche, vous cliquez simplement sur "Download" et hop, il descend des torrents officiels d'eXo tel un rafteur en manque d'adrénaline, puis se lance dans l'émulateur qui va bien (ou presque... mais je vais y revenir).

L'étagère des collections, et un jeu en cours de téléchargement

Et surtout, ça ne se limite pas à eXoDOS puisque vous avez aussi ses packs allemand, espagnol et polonais, ainsi que eXoWin3x, et eXoScummVM, où chaque jeu tourne sur la version de ScummVM qui va bien pour lui (c'est eXo qui choisit).

Quant à eXoWin9x, il boote carrément un vrai Windows 95 / 98 sous DOSBox-X ou 86Box, que l'appli va chercher avec votre premier jeu Win9x, ainsi qu'environ 2,5 Go d'images système.

Moi, ce que j'adore, c'est l'ambiance avec de la musique MT-32 et General MIDI qui fonctionne au poil, puisque les ROM Roland et la banque de sons SoundCanvas sont récupérées direct dans la collection. Les manuels, les scans de boîtes et les pubs de magazines sont là aussi, et comme les vidéos d'aperçu sont lues directement dans les archives, vous pouvez voir ce que donne le jeu, avant même de le récupérer. Et pour chaque titre, vous pouvez aussi activer un shader CRT, régler les cycles CPU ou éditer la config DOSBox à la main. Bref, c'est assez souple pour que chacun s'y retrouve.

Par contre, hors Windows, les quelques 2 400 jeux qu'eXo a réglés pour DOSBox ECE (c'est une des variantes de DOSBox) passent tous sous DOSBox Staging, avec une config traduite automatiquement. La fiche du jeu vous prévient donc que l'expérience peut "varier", et comme y'a qu'une poignée de titres qui exploitent les spécificités d'ECE, comme par exemple les réglages 3dfx Voodoo ou le pistolet GunStick, les jeux peuvent se comporter parfois bizarrement ou différemment de ce dont vous avez l'habitude. Par contre, sous Windows, c'est le vrai ECE d'eXo qui se lance, donc 0 souci !

L'autre chose à savoir, et là c'est qu'Exodium est un client BitTorrent. Donc il rejoindra l'essaim d'eXoDOS et renverra des bouts de data aux autres joueurs tant qu'il restera ouvert. Ça c'est le comportement prévu par défaut, mais si vous ne voulez rien partager, il suffit de décocher l'option lors de l'installation.

Ou plus tard de couper le partage dans les réglages réseau de eXo. L'envoi tombera alors à 1 ko/s au lieu de s'arrêter. Maintenant si vous avez déjà la collection sur un disque, sachez que le mode hors ligne ne lancera pas le client torrent.

3 jeux en cours, avec le nombre de pairs et le volume partagé

Niveau installation, le DMG macOS est réservé aux Mac Apple Silicon, donc rien pour les malheureux qui sont encore sous Mac Intel. Et comme l'appli n'est pas signée avec un Developer ID Apple, Gatekeeper vous enverra chier au premier lancement, donc levez le blocage, glissez-la dans Applications, puis tapez une fois dans un terminal :

xattr -cr /Applications/Exodium.app

Ou passez par Sentinel , c'est plus simple.

Maintenant, sous Linux spécifiquement, Exodium n'est pas indispensable pour eXoDOS car les patchs Linux officiels le font déjà tourner avec leur interface exogui. Mais ça sert surtout pour eXoWin3x, eXoWin9x et eXoScummVM, qui sont totalement absents de la liste de ces patchs. Notez que sur Mac, il existe aussi le patch non officiel de NightsPaladin , mais il vous faudra la collection eXoDOS sur un disque ainsi que Homebrew et Python alors qu'Exodium, lui, vous laissera commencer l'aventure avec un seul jeu sans avoir à récup toute la collection !

Source : GitHub

  •  

WhatCable - Trouvez le câble qui bride la charge sur votre Mac

Je ne sais pas vous, mais chez moi, mes câbles USB-C se ressemblent tous. Et dans le tas, j'en ai qui chargent mon MacBook deux fois plus vite que d'autres. Et franchement, en les regardant, je ne peux pas vous dire lesquels sont les plus efficaces. Alors que mon Mac, lui, apparemment, il le sait déjà.

En tout cas, c'est ce que j'ai compris en allant lire le site de WhatCable. Ce qu'ils expliquent, c'est qu'à chaque branchement, le contrôleur de port d'un Mac Apple Silicon envoie un message à la puce que certains câbles embarquent et récupère sa fiche d'identité : débit annoncé, ampérage, fabricant. De ce que j'ai compris, macOS range la réponse dans le registre IOKit sous forme d'objets bruts, et ne l'affiche nulle part en clair. Snif...

Et c'est cette réponse que WhatCable va chercher, puis traduit. L'app vit dans la barre de menus, vous branchez un câble, et elle vous dit alors instantanément lequel des trois maillons plafonne la charge : Soit le chargeur, soit le câble, soit le Mac lui-même quand sa batterie est presque pleine.

Et vous obtenez le même verdict côté débit.

L'app confronte aussi la fiche du câble à sa spécification USB-PD et lève un carton jaune quand quelque chose cloche. Ça peut être l'identifiant fabricant à zéro, les bits réservés utilisés de travers...etc. Moi, je parle bien ici de contrefaçon de câbles, mais l'app reste très prudente dans sa formulation. Elle signale juste des trucs bizarres, et elle ne dit jamais qu'un câble est une contrefaçon.

Après, la plupart des câbles sous 60 W n'ont aucune puce à interroger, donc il n'y a rien à lire, et certains ne répondent correctement qu'avec un appareil branché à l'autre bout. Sur les ports USB-C en façade d'un Mac mini ou d'un Studio, aucune donnée de câble ne remonte non plus. C'est à cause de l'architecture d'Apple.

Côté matériel, il vous faut donc un Mac Apple Silicon sous macOS 14 minimum, les Mac Intel ne publiant pas ces données du tout. L'app est gratuite et son code est sous licence MIT, sauf le dossier des fonctions Pro où là, faudra débourser environ 10 €.

Si vous avez Homebrew, vous pouvez installer l'app rapidement comme ceci :

brew install --cask darrylmorley/whatcable/whatcable

L'app est même en français si vous avez séché les cours d'anglais. Bref, de quoi trier votre caisse de câbles sans vous planter...

  •  

oMLX – Faites tourner vos agents IA en local sur votre Mac

Faire tourner un modèle en local sur un Mac, c'est réglé depuis un moment. Ce qui l'est moins par contre, c'est de brancher un agent de code dessus, parce qu'à chaque reprise de session, le serveur doit malheureusement remouliner des dizaines de milliers de tokens de contexte avant de sortir le premier mot...

Ce calcul, ça s'appelle le cache KV, et la plupart des serveurs le gardent en mémoire. Du coup, quand le modèle se décharge, le cache part avec dans le grand vide...

C'est pourquoi oMLX a pris le parti d'écrire ce cache sur le disque, au format safetensors, car le contexte déjà envoyé une fois, prompt système et fichiers lus compris, se recharge depuis le SSD au lieu d'être recalculé, y compris après un redémarrage du serveur.

De son côté, LM Studio conserve lui aussi son cache MLX sur disque , mais dans un fichier temporaire qu'il efface quand le modèle se décharge. Les deux outils écrivent sur le disque, mais un seul conserve réellement son cache.

Côté raccordement, le serveur oMLX expose l'API OpenAI et l'API Anthropic ce qui permet par exemple à Claude Code de taper directement sur localhost. Et y'a même un tableau de bord qui nous dit quoi faire dans le terminal pour brancher Claude Code ou d'autres avec oMLX.

Sur oMLX, le cache disque est donc actif d'office et son plafond par défaut, parce qu'il en faut bien un, se calcule à 10 % de la capacité du disque qui l'héberge. Sur un SSD d'un téraoctet par exemple, ça fait cent gigaoctets qui peuvent partir en cache sans que personne n'ait rien demandé. Donc prévoyez un peu de place... Après rassurez-vous, ça se vide d'un clic sur un bouton dans le tableau de bord et la taille peut se régler.

Le deuxième piège est plus sournois puisqu'une installation par défaut via pip ne compile pas les kernels Metal, et les modèles GLM-5.2, MiniMax M3 et Qwen3.5 retombent alors sans prévenir sur un chemin générique... Donc je vous incite fortement à utiliser uniquement les DMG proposés qui contiennent déjà les kernels Metal compilés comme il faut.

Reste à savoir ce que ça donne vraiment dans un usage quotidien... Le cache attaque l'attente avant le premier mot mais pas la vitesse à laquelle les mots sortent ensuite donc tout dépend du modèle et de la machine que vous avez. Mais en tout cas, pour un usage avec des agents (coding par exemple), ce sera plus efficace d'utiliser oMLX que Ollama ou LMStudio.

Source : omlx.ai

  •  

Son imprimante HP imprime enfin sur Mac - Merci Claude Code

Hier, je suis tombé sur ce tweet :

Kuber, un développeur de 19 ans a demandé à Claude Code, de lui pondre un pilote pour sa vieille imprimante pour macOS. Et visiblement, ça a intéressé pas mal de monde puisque le tweet a fait +3 millions de vues.

Il a ensuite publié le dépôt sur Github et la transcription complète de la session. Et ce que ça raconte c'est surtout un bras de fer avec macOS, et un montage bidouillesque au possible qui finit par tenir sur une machine virtuelle Linux et un daemon root.

Pour la petite histoire, son imprimante est une HP Laser 1008a. C'est en réalité une Samsung rebrandée car HP a racheté la division impression de Samsung , il y a une dizaine d'années. Et ces machines parlent un langage un peu niche qui est le SPL3. C'est un langage maison qui n'est ni du PostScript ni du PCL standard. Et comme vous vous en doutez, HP n'a jamais sorti de pilote macOS pour cette gamme. Donc officiellement, cette imprimante ne peut pas imprimer depuis un Mac.

La mission a donc consisté à recompiler SpliX, un pilote libre qui parle le SPL3 et à se battre avec macOS pour qu'il puisse causer via l'interface USB de l'imprimante déclarée en IPP-over-USB. Il a fallu ensuite ruser en mettant en place une VM Linux afin de faire tourner h24 un codec de HP uniquement dispo sous Linux. Et voilà ! La file d'impression envoie le travail sur un port local, un daemon root le récupère, le fait passer par le codec dans cette VM, et écrit le résultat directement sur l'USB.

Bref, ça marche et ça imprime maintenant depuis n'importe quelle application.

Alors vous l'aurez compris, ce n'est pas vraiment un dev de pilote pour macOS mais plutôt une espèce d'assemblage de différents éléments pour la plupart libres, afin de réussir à imprimer sous macOS avec ce modèle d'imprimante. Mais ce qui est intéressant, c'est que le mainteneur de SpliX a débarqué sur le dépôt de Kuber avec une archive de fichiers de test et une série de questions. Cela veut dire que si lui et Kuber trouvent l'octet qui diffère, la VM Linux et le daemon root vont disparaître et il ne restera plus qu'un paquet tout ce qu'il y a de plus classique à installer.

Voilà c'est finalement la seule partie de l'histoire où on répare vraiment quelque chose. Mais ça reste quand même une belle histoire où l'IA permet de s'affranchir des limites techniques imposées par les fabricants et éditeurs de logiciels. Et ça, moi j'adore !

Source : le fil de Kuber sur X , avec la transcription intégrale de la session et le dépôt du projet .

  •  

PureMac - Faites un grand ménage sur votre Mac, gratuitement

Vous glissez une app dans la corbeille du Mac, elle disparaît du dossier Applications, et vous pensez que c'est réglé ? Que vous êtes naïfs ! Hé oui, ce que vous ne savez pas, c'est que ses préférences, ses caches et son container restent bien présent dans votre ~/Library, parfois pendant des années, encombrant votre espace disque pour rien.

Hé bien s'occuper de tout ce merdier, c'est le job de PureMac , une app native codée en SwiftUI qui piste ces fichiers-là pour libérer des ressources sur votre mac. Elle croise l'identifiant du bundle, celui de l'équipe de développement, les entitlements et les métadonnées Spotlight, selon trois niveaux d'agressivité en fonction de ce que vous voulez ratisser.

Elle sait aussi prendre le problème dans l'autre sens puisque son chercheur de fichiers orphelins parcourt ~/Library pour retrouver les restes d'applications que vous avez virées il y a trois ans et dont plus rien ne vous rappelle l'existence.

Et si vous développez, il y a de quoi récupérer bien plus de place avec les DerivedData, les runtimes de simulateur Xcode, les couches Docker, les caches npm, yarn, pnpm et Homebrew. Bon, ça vous savez déjà le faire avec docker system prune, deux ou trois autres commandes, ou avec Mole en ligne de commande dont je vous ai déjà parlé. Mais l'intérêt ici, c'est de tout voir d'un coup avant d'arbitrer.

Côté données, il n'y a rien à surveiller puisque PureMac n'embarque aucune télémétrie ni appel réseau. Et la licence, c'est du 100% licence MIT, là où d'autres outils similaires comme Pearcleaner ajoute une Commons Clause qui en interdit la revente, que AppCleaner, lui, s'arrête à la désinstallation, ou encore que CleanMyMac nécessite d'acheter une licence.

Pour le faire tourner, il vous faut macOS 13 au minimum, et ça s'installe en une ligne avec brew install --cask puremac. Sinon, il y a un .dmg signé et notarisé à récupérer directement.

Par contre, sachez que ça réclame le l'accès complet au disque, soit la permission la plus large que macOS distribue, et il ne garde aucun journal des chemins qu'il a supprimés. Surtout que quand un fichier est supprimé, il l'est pour de bon, donc vérifiez bien les choses avant de les supprimer.

Le nettoyeur de caches, est également une opération sans retour. Alors pour un cache ça n'a pas d'importance, puisqu'il se régénèrera tout seul. Mais pour un reste dans ~/Library qui contenait, j'sais pas, par exemple une licence, un wallet crypto ou vos réglages, c'est une autre affaire.

Donc soyez TRÈS prudent et lisez bien les chemins d'accès vers les fichiers avant de cliquer pour les supprimer, histoire de pas faire de conneries.

  •  

Holeberry - Le Pi-hole dans la barre de menus du Mac

Si vous avez un serveur Pi-hole à la maison, il a dû vous arriver qu'un site déconne, qu'une image ne charge pas, ou qu'un simple bouton ne réponde plus. Alors pour remédier à ça, vous ouvrez un onglet vers l'admin Pi-hole, vous fouillez dans les requêtes bloquées, vous whitelistez au jugé, puis vous rechargez pour voir si ça marche. Ça prend 30 secondes à chaque fois, ça casse les couilles et ça arrive plus souvent que ce qu'on aimerait...

Mais heureusement, Holeberry met tout ça dans la barre de menus de macOS pour vous faire gagner grave de temps

L'app détecte l'onglet actif de Safari, Chrome ou Firefox et débloque le domaine correspondant en un clic. Comme ça, plus besoin de deviner lequel des quarante domaines bloqués casse la page. Elle affiche aussi les derniers blocages en direct, et permet de couper le filtrage pour une durée choisie, le temps de finir un achat en ligne qui n'aime pas les bloqueurs.

Elle peut aussi gérer deux instances Pi-hole en parallèle avec synchronisation, pratique quand on a un Pi principal et un secondaire qui prend le relais. Les identifiants partent dans la Keychain macOS et pas dans un fichier de conf qui traîne comme ça c'est sécurisé. Et surtout, ça supporte Pi-hole v5 et v6 aussi bien en local qu'à distance.

Si ça vous branche, notez que l'app n'est pas notarisée, donc Gatekeeper va faire la gueule. La commande pour passer outre est indiquée dans le README :

xattr -cr /Applications/Holeberry.app

Mais vous pouvez aussi utiliser Sentinel pour faire ça.

À récupérer sur GitHub pour ceux qui veulent !

  •  

Game Porting Toolkit 4 - Les jeux Windows enfin fluides sur Mac

Il y a deux ans, Apple lâchait le Game Porting Toolkit en jurant ses grands dieux qu'on pourrait faire tourner des jeux Windows sur un Mac Apple Silicon. À l'époque je vous disais que le gaming Windows sur Mac, c'était donc plié. Hé bien la version 4.0 vient de sortir en bêta, et cette fois les chiffres donnent raison à cette promesse !

La nouvelle version du traducteur maison de GPTK (baptisé D3DMetal 4) transforme dorénavant le DirectX 12 des jeux en Metal 4, le moteur graphique d'Apple.

Le youtubeur Andrew Tsai, dont j'ai mis le test dans cet article, a donc benchmarké 20 gros titres Windows pour mesurer le gain, et certains résultats piquent fort.

Black Myth Wukong passe par exemple de 60 à 80 fps sur un MacBook Pro M3 Max, juste en changeant de système et de version de traduction ! Red Dead Redemption 2 gagne 25% de perfs sur le MacBook Neo, la petite machine d'Apple à 600 balles avec sa puce A18 Pro et ses tout petits 8 Go de RAM (le chip de l'iPhone 16 Pro, quoi).

Black Myth Wukong : à gauche GPTK 3.0 sur macOS 26 (~60 fps), à droite GPTK 4.0 sur macOS 27 bêta (~80 fps).

Et le phénomène c'est 007 First Light, un AAA tout récent que personne ne pensait voir démarrer sur Mac, qui tranquillou nous crache du 70 fps en 1080p sur le M3 Max. Mais bien sûr, y'a un petit piège caché quand même pour celui-là. En fait, à chaque lancement, comptez 20 bonnes minutes de compilation de shaders avant de pouvoir jouer. Mais une fois dans le jeu c'est nickel. CodeWeavers finira sûrement par corriger ça, cela dit...

D'ailleurs, petit ajout, Alexandre, un lecteur, m'a signalé qu'un utilisateur de Reddit a pondu un outil open source pour contourner ça, 007 Shader Commander . Le principe, sauvegarder le cache de shaders D3DMetal une fois qu'il est constitué, puis le restaurer avant chaque lancement histoire de ne pas tout recompiler. Résultat chez lui, on passe de 20 minutes à 3 secondes au démarrage. Le projet est tout jeune (v0.0.1) et pensé pour CrossOver, mais si vous galérez sur 007, ça vaut le coup d'œil. Merci à lui !

007 First Light en 1080p sur un MacBook Pro M3 Max, environ 73 fps via GPTK 4.0 et le chemin DirectX 12 vers Metal 4.

Mais alors pourquoi ça va plus vite, ma chère Micheline ?

Hé bien ("ma chère Maïté", allez, on joue le jeu !!) parce que GPTK 4 est taillé pour Apple Silicon et ne traîne plus ce boulet qu'est la compatibilité Intel. Ça débloque donc des trucs comme l'interpolation d'images de MetalFX. Notez qu'en dessous, c'est toujours CrossOver et ce bon vieux Wine qui font le sale boulot de traduction, comme depuis le début.

Autre bonne surprise, les fameuses fuites mémoire des jeux Naughty Dog. Avant, Uncharted 4 ou The Last of Us 2 qui vous bouffaient 34 Go de RAM en quelques minutes, ben maintenant il vous faudra des heures pour atteindre le même niveau de conso RAM. C'est donc pas encore parfait, mais c'est largement jouable.

De son côté, comme on peut le voir dans la vidéo, Spider-Man 2 nous colle un magnifique bug de T-pose si vous n'avez pas une puce M5, parce que le jeu réclame des fonctions GPU absentes des puces précédentes. Et de leur côté, Monster Hunter Wilds bégaie, Street Fighter 6 plante une fois sur deux.

Spiderman en T-Pose

Bref, on est sur de la bêta, faut le savoir.

Mais quand ça marche, ça marche fort ! Rien que Tekken 8 qui tourne à 60 fps en ligne, c'est le plus fluide que ce jeu ait jamais eu sur un Mac. Star Wars Battlefront 2 dépasse aussi les 120 fps et Hellblade 2, Expedition 33 ou Resident Evil 9 tournent sans broncher.

Pour jouer correctement, prévoyez quand même un Mac avec de la RAM et de quoi installer la bêta de macOS 27.

En tout cas, voir un James Bond next-gen tourner sur un MacBook, moi ça me plait !

Source (les 20 benchmarks d'Andrew Tsai) et AppleInsider .

  •  

macUSB - Créer une clé USB macOS sans toucher au Terminal

Krystian Pierz, un développeur polonais qui se planque derrière le pseudo Kruszoneq, en a eu marre de se galérer à chaque fois pour faire des clés USB bootable pour Mac, alors il a sorti macUSB , une app Mac native (du vrai Swift, pas un machin Electron quoi) qui fait tout le sale boulot à votre place. C'est gratuit, le code est ouvert, et surtout c'est notarisé par Apple, donc pas besoin de bidouiller la sécurité de votre Mac avec Sentinel pour la lancer.

Et ça se fait en trois clics. Vous balancez votre image (un .dmg, un .app d'installation macOS, ou même un .iso), vous désignez votre clé USB, et macUSB se débrouille pour calculer le checksum, détecter la version et l'architecture, formater le support dans le bon système de fichiers et écrire le tout en vous affichant la vitesse en temps réel. Pas de Terminal, pas de commande à rallonge à recopier sans se tromper d'un espace, et surtout l'Utilitaire de disque qu'on déteste tous reste fermé.

Le vrai exploit de Kruszoneq c'est surtout qu'il a réussi à régler les cas de figure où createinstallmedia, l'outil officiel d'Apple, se crashait comme une merde. Je pense que si vous avez déjà essayé de vous faire une clé Monterey ou Big Sur depuis un Mac Silicon par exemple, pour réparer un autre Mac Intel, vous avez dû vous galérer avec des erreurs de validation et autres messages d'erreur pour cause d'architecture incompatible.

Bah macUSB contourne tout ça tout seul comme un grand, et répare même les certificats expirés des installeurs High Sierra et Mojave sans rien vous demander.

Pour situer le progrès, la méthode "propre" côté Apple ressemble à ça :

sudo /Applications/Install macOS Sequoia.app/Contents/Resources/createinstallmedia --volume /Volumes/MaCle

...et encore, à condition d'avoir déjà récupéré le bon installeur dans l'App Store. Je ne vous parle même pas de l'époque où il fallait extraire à la main le fichier InstallESD.dmg planqué dans le paquet de l'installeur (j'expliquais déjà ce bricolage en 2011 pour OSX Lion ). Alors que macUSB, lui, embarque un téléchargeur qui va chercher les installeurs directement sur les serveurs d'Apple. Vous n'avez plus rien à préparer en amont.

L'outil sait donc préparer des clés USB de macOS Tahoe (la version 26, celle de cette année) jusqu'à Tiger 10.4 sorti en 2005, PowerPC compris. Oui, vous pouvez ressusciter un iMac G5 depuis votre MacBook M4. Pour les collectionneurs de vieilles machines, les labos qui gardent des Macs d'époque, ou juste pour remettre d'aplomb un ordi que vous comptez revendre, c'est du bonbon ^^.

Et la v2.3, sortie hier, en remet une couche côté Windows puisqu'elle sait également préparer des clés Windows 10 et 11 en contournant le check TPM 2.0 (le compte Microsoft obligatoire avec la connexion Wi-Fi forcée pendant l'installation, argh !). Et elle écrit aussi les images Linux en .iso et en .img. Après si c'est juste faire une clé Windows depuis votre Mac que vous cherchez, WinDiskWriter fait déjà très bien le job, mais macUSB a l'avantage de tout regrouper au même endroit.

Côté prérequis, votre Mac doit donc tourner au minimum sous Sonoma 14.6 (Apple Silicon ou Intel), et il faudra lui accorder l'accès complet au disque dans les réglages système, rien d'anormal puisqu'il écrit directement sur vos volumes. Une fois ça réglé, vous récupérez le .dmg sur la page des releases GitHub , ou vous l'installez en une ligne avec Homebrew :

brew install --cask macusb

C'est super impressionnant pour un projet développé par une seule personne et qui plus est n'a que 6 mois d'existence. Bref, si vous avez un Mac à réinstaller, un vieux coucou à dépanner ou une machine à remettre d'aplomb avant de la revendre, foncez !

  •  

OS9Map - OpenStreetMap sur votre Mac de 1999

Un dev prénommé Yllan vient de sortir OS9Map , une application qui affiche OpenStreetMap directement sur Mac OS 9. Oui, je parle bien du système d'exploitation de 1999 qui ronronnait sur nos vieux PowerPC.

Pour l'installer, c'est un bon vieux fichier .sit à décompresser (StuffIt Expander sur la machine d'époque, The Unarchiver si vous passez par un Mac moderne), et il vous faudra un PowerPC sous OS 9 avec 16 Mo de RAM (32 recommandés) et une connexion qui passe par Open Transport. Une fois lancé, vous avez alors une recherche d'adresses qui tape dans Nominatim, le moteur de géocodage d'OpenStreetMap, et vous pouvez mettre vos endroits favoris en signets pour y revenir d'un clic depuis le menu. Bref, un vrai petit client carto !

Et c'est là que je trouve ça beau puisque 16 Mo de RAM pour afficher une carte mondiale interactive, c'est très peu. Pour vous situer, un seul onglet Chrome aujourd'hui c'est plusieurs centaines de Mo, donc faut saluer l'exploit d'Yllan.

Maintenant si l'idée d'une carte minimaliste vous parle, dans le genre bien dépouillé j'avais aussi joué avec MapSCII qui balance le monde entier en ASCII dans un terminal. OS9Map joue dans une autre cour, mais on retrouve un peu la même philosophie.

Le truc qui rend tout ça possible, c'est évidemment OpenStreetMap qui propose toutes ses données en accès libre ! Alors rien que pour ça, merci à OpenStreetMap et ses contributeurs.

Et puis si vous n'avez plus de PowerPC qui traîne au grenier, vous pouvez quand même goûter à OS 9 dans votre navigateur via Infinite Mac .

OS9Map est en version 1.0.0 et se télécharge gratuitement sur le site de yllan .

  •  
❌