Sidecar, l’iPad et les « vieux » Mac

Avec macOS Catalina et iPadOS, une nouvelle fonction (Sidecar) permet d’utiliser l’iPad comme second écran. Mais j’ai déjà vu certains râler parce que – comme AirPlay en son temps -, elle nécessite des Mac récents. Mais c’est normal (et contournable actuellement).

Sidecar, comme CarPlay et AirPlay, encode l’image à envoyer sur l’appareil (ici un iPad). Mais cette fois, en HEVC, un codec moderne et efficace, et pas en H.264. Et Sidecar nécessite un iMac 27 pouces de 2015 (Late 2015), un MacBook Pro de 2016, un Mac mini 2018, un MacBook Air 2018, un MacBook 2016 ou évidemment un Mac Pro 2019. le point commun de toutes les machines ? Un CPU de la famille Skylake (au moins) capable de faire de l’encodage en HEVC matériellement. Il n’y a pas de bridage artificiel ici : les machines plus anciennes ne peuvent tout simplement pas le faire. Ce n’est pas une question de puissance proprement dit (un MacBook avec son pauvre CPU basse consommation peut le faire) mais vraiment la présence (ou l’absence) du moteur de compression matériel.

Pas de Sidecar sur un MacBook Air de 2012

D’ailleurs, point que je n’ai pas encore pu vérifier, iPadOS prend en charge des iPad en Apple A8 (alors qu’iOS 13 ne gère plus les téléphones avec cette version de la puce) mais l’A8 ne décode pas matériellement le HEVC. Je suppose donc que l’iPad Air 2 et l’iPad mini 4 ne pourront pas accéder à Sidecar.

Encoder sur le CPU

Avec la première bêta de Catalina, il existe une solution. Il est possible de forcer l’encodage sur le CPU, avec trois lignes dans le Terminal. Je n’ai pas essayé pour le moment sur mon iPad, mais sur mon MacBook Air de 2012, ça permet d’afficher le menu. Attention, si Apple a décidé de ne proposer la fonction qu’avec des Mac capables de le faire matériellement, il y a une bonne raison : encoder en HEVC en temps réel sur le CPU donne une image moins bonne et utilise évidemment énormément le processeur. Ca peut passer sur un Mac avec quatre coeurs ou plus (et encore), mais sur un Mac avec un petit CPU, c’est tendu.

defaults write com.apple.sidecar.display AllowAllDevices -bool true;
defaults write com.apple.sidecar.display hasShownPref -bool true;
open /System/Library/PreferencePanes/Sidecar.prefPane

Après


Le menu

Les premiers retours indiquent que ça fonctionne, mais avec d’éventuels petits bugs visuels et une qualité moins bonne que l’encodage géré matériellement. Au passage, j’espère que les prochains iPad proposeront l’équivalent d’un mode Target Display en USB-C pour éviter la compression vidéo, à la manière de certains anciens iMac.