CANVASOS · ANDROID TV LAUNCHER

L'accueil de votre TV, de nouveau éblouissant.

Transformez votre Android TV en une porte d'entrée immersive digne de tvOS. Un Dock en verre liquide posé en bas de l'écran, des contenus qui respirent en haut, et les vues aériennes de l'Apple TV en économiseur d'écran — canvasOS rend à l'écran du salon l'allure qu'il mérite.

  • Android TV 9+
  • Sans root
  • Certaines fonctions varient selon la marque

Enregistrement réel · Sony BRAVIA XR-55A80J · Android TV 12 1280 × 720

Projet open source indépendant, sans aucun lien avec Apple. « Apple TV » est une marque d'Apple Inc.

Vérifié sur Sony BRAVIAÉconomiseur d'écran aérien Apple TVDeux APK : standard et protectionSans root, réversible à tout moment

FILM

42 secondes pour découvrir canvasOS.

Découvrez comment canvasOS transforme l'accueil de votre TV. Lancez la lecture et montez le son.

Music by Bensound.com/royalty-free-music
Artist: Marcus P.
License code: 55KIM7QUNXBISK9H

AERIAL SCREENSAVER

Les vues aériennes de l'Apple TV, en économiseur d'écran.

Quand la TV est inactive, elle survole lentement la Terre : côtes, glaciers et villes défilent, et le nom du lieu change avec chaque plan. Les touches gauche et droite changent de plan, l'économiseur repasse aux photos sans connexion, et il n'interrompt jamais une vidéo en cours.

ICELAND · 64°N 05:42 Illustration animée · pas une capture

Économiseur d'écran aérien (illustration animée, pas une capture)

  • Choisissez « Films aériens » comme contenu de l'économiseur d'écran : les images sont lues en ligne depuis les serveurs d'Apple (environ 15–20 Mbit/s)
  • Sans connexion ou en cas d'échec de mise en mémoire tampon, retour automatique aux photos, sans gêner la prochaine mise en veille
  • Après 1 à 30 minutes sans utiliser la télécommande, le « Cadre photo » démarre ; l'heure et la légende se déplacent légèrement pour éviter le marquage de l'écran

Les films aériens sont diffusés en ligne par les serveurs d'Apple ; canvasOS n'en embarque aucun. « Apple TV » est une marque d'Apple Inc. Ce projet n'a aucun lien avec Apple.

FEATURES

Redessiné pour trois mètres de distance.

Pas une interface de téléphone agrandie, mais une mise en page pensée pour le salon : un focus plus grand, moins de niveaux, un verre plus discret.

01LIQUID GLASS DOCK

Un verre qui s'enfonce, des icônes qui flottent

La première rangée d'apps repose sur une plaque de verre posée en bas de l'écran ; la suivante ne laisse voir que son bord. Appuyez sur Bas pour afficher toutes les apps ; le reste du temps, l'écran appartient au fond d'écran.

  • 5 colonnes d'icônes arrondies en 16:9, qui s'agrandissent, s'inclinent et projettent une ombre au focus
  • Appui long pour modifier, puis déplacez les icônes vers le Dock ou n'importe où avec les flèches ; Récents ou Fixe, au choix
  • Flou, réfraction des bords et reflets colorés sont précalculés pour chaque fond : le défilement ne sollicite pas davantage le GPU
Capture réelle du Dock en verre liquide : cinq icônes d'apps sur une plaque de verre, avec réfraction et reflets sur les bords.
Accueil · capture réelle sur Sony BRAVIA

02TOP SHELF

Sélectionnez une app, le haut de l'écran prend vie

Quand le focus se pose sur une app du Dock, la moitié haute de l'écran fait défiler ses contenus, une image toutes les 8 secondes ; OK ouvre l'app. Ce que l'app publie elle-même passe en premier, puis les titres populaires du moment.

  • La ligne « Continuer à regarder » publiée par Netflix, YouTube, Prime… pour l'accueil d'Android TV, lue sur la TV (autorisation READ_TV_LISTINGS)
  • Sinon, les titres populaires de la semaine en France d'après TMDB pour Netflix, Prime Video, Disney+, Apple TV, Max, Paramount+, Canal+ et Crunchyroll, avec votre propre clé d'API gratuite
  • Enfin, les vidéos tendance de Bilibili et les directs de Douyu (API web publiques, sans compte)
Capture réelle du Top Shelf : en haut, l'image et le titre d'une vidéo tendance de Bilibili ; en bas, le Dock en verre.
Top Shelf · capture réelle, source Bilibili

03CONTROL CENTER

Une pression sur Retour, et le Centre de contrôle apparaît

Pas de panneau d'un seul bloc, juste des boutons en verre liquide qui flottent séparément. Derrière, l'accueil flouté en temps réel ; devant, les commandes dont vous avez vraiment besoin.

  • Réseau (avec l'adresse IP), veille avec minuteur, extinction, redémarrage, libération de la mémoire, Cadre photo, Réglages
  • Météo sur cinq jours, Bluetooth, et, si vous l'activez, Lecture en cours
  • Luminosité et Sources HDMI n'apparaissent que si la TV les prend en charge
  • Android 12+ partage une couche de flou GPU ; les systèmes plus anciens échantillonnent le fond d'écran
Capture réelle du Centre de contrôle : à droite flottent les commandes en verre liquide extinction, veille, réseau, luminosité, volume et Sources.
Centre de contrôle · boutons de verre flottants

04WALLPAPER & FRAME

Quand la TV se tait, elle devient une fenêtre

Photos du jour de Bing, paysages de Wikimedia Commons et de la NASA, animaux mignons, chefs-d'œuvre du Met et de l'Art Institute of Chicago, anime, vos propres photos envoyées depuis un téléphone, vos liens d'images ou un dégradé. Changement toutes les 15 minutes à une fois par jour.

  • Chaque choix se présente en image et se sélectionne d'un seul appui ; les œuvres du Met et de l'Art Institute sont dans le domaine public
  • Le Cadre photo se déplace et zoome lentement, et l'heure change régulièrement de place pour ménager les écrans OLED ; il peut aussi afficher les films aériens de l'Apple TV (voir plus haut)
  • Défini comme économiseur d'écran système, il démarre après 1 à 30 minutes d'inactivité de la télécommande
Capture réelle de la grille de toutes les apps : plusieurs rangées d'icônes 16:9 sur le fond d'écran.
Toutes les apps · grille

Et tout ce qu'apporte la version 1.1.

Contenu

Top Shelf alimenté par Android TV La ligne « Continuer à regarder » que Netflix, YouTube, Prime… publient pour l'accueil d'Android TV : canvasOS la lit sur la TV (autorisation READ_TV_LISTINGS) et l'affiche au-dessus du Dock, rien d'autre ; les recommandations personnalisées des apps ne sont pas utilisées. Sans l'autorisation, rien n'est lu. Désactivable dans les réglages.
Titres populaires TMDB Pour Netflix, Prime Video, Disney+, Apple TV, Max, Paramount+, Canal+ et Crunchyroll : les titres populaires de la semaine en France d'après TMDB. TMDB demande une clé d'API gratuite, que vous collez depuis la page téléphone ; elle reste sur la TV.
Météo La température à gauche de l'horloge et les prévisions sur cinq jours dans le Centre de contrôle, d'après Open-Meteo (sans clé). Activée par défaut ; tant qu'aucune ville n'est choisie, la TV devine le lieu une fois d'après son adresse IP publique. Désactivable.

Centre de contrôle

Lecture en cours Désactivée par défaut. Sous « Source », le titre, l'artiste et la pochette de ce que lit une app ; OK met en lecture ou en pause, Gauche et Droite changent de piste. Seules les métadonnées des sessions média sont lues, aucune notification.
Bannières de notifications Activées par défaut. Les notifications de vos apps (sonnette, domotique, messages…) s'affichent 6 secondes en haut à droite, sur l'accueil et par-dessus l'app regardée ; vous excluez les apps que vous voulez. Titre et texte sont lus pour cela, rien n'est enregistré.
Bluetooth Un bouton sous la Météo : il indique l'appareil connecté, avec sa batterie quand il la communique, et liste les appareils déjà associés. Une pression connecte ou déconnecte un casque ou une enceinte ; l'association se fait dans les réglages Bluetooth de la TV.
Minuteur de veille Depuis le bouton Veille : maintenant, ou dans 15 min, 30 min, 1 h, 1 h 30, avec un avertissement une minute avant si l'accueil est affiché. Il demande le débogage local et ne survit pas à un redémarrage.
Nettoyage de la mémoire plus fin Les apps en cours d'utilisation sont épargnées : celles qui lisent du son ou de la vidéo, celles qui font tourner un service au premier plan (diffusion d'écran, Plex, Jellyfin, VPN), les services d'accessibilité et le clavier actifs. Réglages → Dernier nettoyage liste ce qui a été fermé.

Page téléphone

Une page toujours disponible Scannez le QR code de Réglages de l'accueil → Page téléphone avec un téléphone sur le même Wi-Fi : rien à installer. Elle choisit le fond d'écran, l'économiseur, l'animation de démarrage et la ville de la météo, et reçoit la clé TMDB.
Télécommande et clavier Le téléphone devient une télécommande, avec un clavier. Cela passe par le débogage local de la TV, qu'il faut avoir autorisé une fois.
Installer des APK Envoyez un APK depuis le téléphone vers la TV. Ce n'est jamais la première installation de canvasOS. Sur TCL, le vérificateur du système peut refuser cette méthode.
Vignettes et noms des apps Pour chaque app de l'accueil : changer le nom, choisir une image (jusqu'à 20 Mo, recadrée en 16:9), revenir à l'image d'origine, masquer ou afficher. L'appui long sur une tuile propose aussi Renommer, sur la TV.
Un code dans l'adresse Ce code est la seule protection de la page : Régénérer le code rend les anciennes adresses inutilisables (téléphone perdu), et la ligne Page téléphone désactive entièrement la page.

Personnalisation

Profils et profil enfant Chaque profil a son propre accueil : ordre des apps, apps masquées, dossiers, noms et fond d'écran. Un profil enfant demande un code PIN pour changer de profil, ouvrir les réglages de l'accueil ou supprimer une app. Le code n'est pas enregistré, seulement une empreinte salée.
Dossiers, comme sur tvOS Appui long sur une app : « Nouveau dossier… ». OK ouvre le dossier par-dessus l'accueil, Retour le referme. Un dossier se renomme, se déplace comme une app (Dock compris) et se supprime sans perdre ses apps.
Dock Récents ou Fixe Récents : l'app que vous venez d'ouvrir passe en tête de l'accueil. Fixe : l'ordre choisi avec « Modifier l'accueil » est conservé.
Des sources de fond d'écran de partout Bing, Wikimedia Commons, la NASA, le Met et l'Art Institute of Chicago, en plus de vos photos et de vos liens. Les valeurs par défaut sont pensées pour l'Europe : photos du jour de Bing en français, titres TMDB pour la France, heure au format du téléviseur.

Installation

Mises à jour sur place Les APK sont signés avec une clé stable : adb install -r met canvasOS à jour en gardant réglages et autorisations. Seule la 1.0.0, signée avec une clé jetable, demande une dernière désinstallation.
Mise à jour depuis la TV Réglages de l'accueil → Système → Mise à jour : une première pression cherche la dernière Release, la seconde la télécharge et l'installe sur place. canvasOS vérifie aussi une fois par jour et l'annonce sous le Centre de contrôle ; rien n'est téléchargé sans votre seconde pression.
Un premier lancement simple La TV propose d'activer les fonctions qui demandent le débogage local (veille, extinction, nettoyage de la mémoire) : appuyez sur Commencer, cochez « Toujours autoriser » une seule fois, et c'est fait.
L'adresse IP à l'écran L'adresse de la TV et l'état du débogage ADB s'affichent dans Réglages de l'accueil → Système, et l'adresse sous « Réseau » dans le Centre de contrôle : plus besoin de la chercher dans les réglages de la TV.

BEFORE / AFTER

Faites glisser, voyez la différence.

À gauche, une illustration (pas une capture du même appareil) d'un accueil en mosaïque classique avant installation ; à droite, une vraie capture de canvasOS sur un Sony BRAVIA. Faites glisser le curseur central pour comparer.

Capture réelle de l'accueil canvasOS : un Dock en verre liquide sur une photo de paysage.
Illustration d'une disposition d'accueil Android TV générique, pas une capture réelle.
AvantIllustration · pas le même appareil
AprèscanvasOS · capture réelle
Faites glisser, cliquez, ou placez le focus sur la poignée et utilisez ← →, Maj pour aller plus vite, double-clic pour revenir au centre. L'image « avant » est une illustration, pas une capture réelle du même appareil.

INSTALL

Du téléchargement au nouvel accueil, étape par étape.

Un ordinateur sur le même Wi-Fi que la TV, l'adresse IP de la TV et le débogage ADB activé : c'est tout, la première fois. Android 9 ou plus, sans root. Ensuite, canvasOS se met à jour depuis la TV.

Avant de commencer : l'ordinateur et la TV sont sur le même réseau local ; le débogage ADB est activé sur la TV ; à la première connexion, la TV demande « Autoriser le débogage USB ? » : cochez « Toujours autoriser ». L'ordinateur a besoin des Android SDK Platform-Tools. Les APK sont signés avec une clé stable : à partir de la 1.1, une mise à jour se fait sur place, sans rien perdre.

Laisser une IA l'installer pour vous (recommandé)

Pas besoin de maîtriser la ligne de commande : envoyez la phrase ci-dessous avec le lien du dépôt à un agent capable d'exécuter des commandes, comme Codex ou Claude Code. Il confirmera d'abord la marque et l'IP, puis installera et vérifiera en suivant AGENTS.md, en gardant un moyen de revenir à l'accueil d'origine.

Suis https://github.com/getisolated/canvasOS/blob/main/AGENTS.md pour installer canvasOS sur mon Android TV. Confirme d'abord la marque et l'adresse IP de ma TV, puis installe et vérifie étape par étape, en gardant un moyen documenté de restaurer l'accueil d'origine. Ne désactive pas le lanceur système sans mon accord.

Pendant l'installation, la TV affiche deux ou trois demandes d'autorisation : choisissez « Autoriser » avec la télécommande. Sur TCL, quand « 多屏互动:正在发起应用推送 » s'affiche, choisissez « 同意 » (Accepter).

Activer le débogage ADB selon la marque de la TV
TVComment activer ADB
Xiaomi / Redmi Paramètres (设置) → À propos (关于) → Modèle du produit (产品型号) : appuyez plusieurs fois sur OK jusqu'à activer le mode développeur ; puis Paramètres → Compte et sécurité (账号与安全) : activez Débogage ADB (ADB 调试) et Installer des applications de sources inconnues (安装未知来源的应用).
TCL / FFalcon Paramètres (设置) → À propos (关于) → Informations sur l'appareil (本机信息), puis appuyez sur haut, bas, gauche, droite sur la télécommande (moins d'une seconde d'intervalle) ; un groupe « Plus (更多) » apparaît en bas : activez-y ADB.
Sony BRAVIA Paramètres → Système → À propos → appuyez 7 fois sur OK sur Build ; puis Paramètres → Système → Options pour les développeurs : activez Débogage USB.
Android TV / Google TV d'origine, box certifiées Google, Hisense, etc. Paramètres → Préférences de l'appareil → À propos → appuyez 7 fois sur Build ; puis dans Options pour les développeurs, activez Débogage USB (parfois appelé « Débogage réseau » ou « Débogage ADB »).

Chaque commande existe en deux versions : choisissez d'abord votre système ci-dessus. Sous Windows PowerShell, le téléchargement passe automatiquement par curl.exe et python3 devient python ; macOS / Linux utilisent curl et python3 fournis par le système. Les commandes n'utilisent pas de variables et le nom du paquet est toujours écrit com.getisolated.canvasos : vous pouvez donc en copier une partie et l'exécuter telle quelle.

Dans les exemples, 192.168.x.x est une valeur fictive : remplacez-le par l'IP réelle de la TV. Le PIN de l'étape d'enregistrement BRAVIA est le code à quatre chiffres affiché à l'écran de la TV ; remplacez-le comme indiqué.

Sony BRAVIA

Le parcours entièrement vérifié, luminosité, volume de la TV et sources HDMI compris. Ci-dessous, 192.168.x.x désigne l'IP de la TV.

  1. Connecter la TV

    À lancer sur l'ordinateur ; quand la TV affiche la demande d'autorisation, choisissez « Autoriser » et cochez « Toujours autoriser ».

    adb connect 192.168.x.x:5555
    adb -s 192.168.x.x:5555 get-state
  2. Noter le lanceur, l'économiseur d'écran et les services d'accessibilité d'origine

    Il faudra les restaurer à la désinstallation : gardez-les dans un fichier texte.

    adb -s 192.168.x.x:5555 shell cmd package resolve-activity -a android.intent.action.MAIN -c android.intent.category.HOME
    adb -s 192.168.x.x:5555 shell settings get secure screensaver_components
    adb -s 192.168.x.x:5555 shell settings get secure enabled_accessibility_services
  3. Si la 1.0.0 est déjà installée : la désinstaller une seule fois

    Seule la 1.0.0, signée avec une clé jetable, est concernée : toutes les versions suivantes partagent la même clé et se mettent à jour sur place avec adb install -r, réglages et autorisations conservés. Un APK compilé sur un autre ordinateur est dans le même cas. Cette désinstallation efface les réglages et les autorisations de l'app : sautez l'étape s'il n'y a rien d'installé, et refaites ensuite les étapes suivantes. La protection est désactivée d'abord pour que la liste d'accessibilité retrouve sa valeur d'origine.

    adb -s 192.168.x.x:5555 shell am broadcast -a com.getisolated.canvasos.CONFIG -n com.getisolated.canvasos/.ConfigReceiver --ez guard false --ez keep_adb false
    adb -s 192.168.x.x:5555 uninstall com.getisolated.canvasos
  4. Télécharger et installer la version standard

    curl.exe -L -o canvasOS.apk https://github.com/getisolated/canvasOS/releases/latest/download/canvasOS.apk
    adb -s 192.168.x.x:5555 install -r canvasOS.apk

    Sous Windows PowerShell, utilisez `curl.exe -L -o canvasOS.apk …`. Les versions suivantes s'installent par-dessus avec la même commande.

  5. Définir comme accueil par défaut et accorder les autorisations

    Les cinq autorisations servent respectivement à : la protection et l'économiseur d'écran, le Bluetooth du Centre de contrôle (Android 12+), la relance après un arrêt forcé, l'ouverture de l'accueil en arrière-plan au démarrage, et le Top Shelf. Sur Android 11 ou moins, BLUETOOTH_CONNECT répond « permission inconnue » : ignorez-le ; READ_TV_LISTINGS est refusée sans conséquence si la TV n'a pas de TvProvider.

    adb -s 192.168.x.x:5555 shell cmd package set-home-activity com.getisolated.canvasos/.HomeActivity
    adb -s 192.168.x.x:5555 shell input keyevent KEYCODE_HOME
    adb -s 192.168.x.x:5555 shell pm grant com.getisolated.canvasos android.permission.WRITE_SECURE_SETTINGS
    adb -s 192.168.x.x:5555 shell pm grant com.getisolated.canvasos android.permission.BLUETOOTH_CONNECT
    adb -s 192.168.x.x:5555 shell cmd notification allow_listener com.getisolated.canvasos/com.getisolated.canvasos.RevivalListener
    adb -s 192.168.x.x:5555 shell appops set com.getisolated.canvasos SYSTEM_ALERT_WINDOW allow
    adb -s 192.168.x.x:5555 shell pm grant com.getisolated.canvasos android.permission.READ_TV_LISTINGS
  6. Facultatif : enregistrer le contrôle IP BRAVIA

    Nécessaire une fois pour la luminosité, le volume de la TV et les sources HDMI. Après la première commande, la TV affiche un PIN à 4 chiffres : utilisez-le dans la seconde.

    $body = '{"method":"actRegister","id":1,"version":"1.0","params":[{"clientid":"tvhome:1","nickname":"TVHome","level":"private"},[{"value":"yes","function":"WOL"}]]}'
    curl.exe -s http://192.168.x.x/sony/accessControl -d $body
    # The TV now shows a 4-digit PIN. Replace PIN with it and run:
    curl.exe -s -u ":PIN" http://192.168.x.x/sony/accessControl -d $body

    Cette étape utilise une variable shell : elle ne fonctionne que dans un terminal macOS / Linux.

  7. Premier lancement : autoriser le débogage local sur la TV

    Au premier lancement, la TV propose d'activer les fonctions qui demandent le débogage local : veille, extinction et nettoyage complet de la mémoire. Appuyez sur « Commencer » : la TV affiche « Autoriser le débogage ? », cette fois de la TV vers elle-même ; cochez « Toujours autoriser » puis « Autoriser ». Si vous choisissez « Plus tard », la demande se refait dans Réglages de l'accueil, sous Système → Débogage local.

    Au premier lancement, l'app télécharge les photos de fond : un dégradé peut s'afficher pendant la première minute.

  8. Vérifier par une capture d'écran

    adb -s 192.168.x.x:5555 exec-out screencap -p > tv.png

    Vous devriez voir une horloge compacte en haut à droite, deux boutons ronds et le Dock en verre en bas.

  9. Ensuite, sans ordinateur : page téléphone et mises à jour

    Réglages de l'accueil → Page téléphone → Afficher le QR code : scannez-le avec un téléphone sur le même Wi-Fi pour changer le fond d'écran, importer des photos, renommer les apps, ou utiliser le téléphone comme télécommande avec clavier (ce qui demande le débogage local). Les mises à jour suivantes se font depuis Réglages de l'accueil → Système → Mise à jour : une première pression vérifie, la seconde télécharge et installe sur place.

Avancé : à quoi servent ces autorisations

Les autorisations accordées par ADB dans les commandes d'installation ne sont pas accessibles aux applications ordinaires. Elles n'agissent que localement sur l'appareil.

AutorisationUsage
WRITE_SECURE_SETTINGSRéactiver la protection quand le système la coupe, garder le Cadre photo comme économiseur d'écran système, garder ADB activé après le réveil d'une TV Xiaomi
BLUETOOTH_CONNECTBluetooth du Centre de contrôle sur Android 12+ : lister les appareils déjà associés et en connecter un. Sans elle, l'app la demande à l'écran à la première pression du bouton
Écoute des notifications (RevivalListener)Relancer canvasOS environ une demi-seconde après un arrêt forcé par le système ou au démarrage, et laisser le nettoyage de la mémoire épargner les apps qui lisent quelque chose (nom du paquet et état de lecture seulement). Les bannières, activées par défaut, lisent le titre et le texte des notifications des apps non exclues ; désactivées, aucune notification n'est lue
SYSTEM_ALERT_WINDOWOuvrir l'accueil depuis l'arrière-plan au démarrage ; si vous activez les bannières de notifications, les afficher par-dessus l'app regardée. Aucune publicité ni superposition autre
READ_TV_LISTINGSTop Shelf : lire la ligne « Continuer à regarder » que les apps publient pour l'accueil d'Android TV, affichée au-dessus du Dock, rien d'autre ; sans elle, rien n'est lu
TCL APP_AUTO_START / APP_ASSOC_STARTTCL uniquement : autorise le démarrage automatique des applications tierces
N'éteignez et ne redémarrez jamais la TV à distance sans demander. Une TV éteinte ne peut être rallumée qu'avec sa télécommande. L'installation ne nécessite de désinstaller ni de désactiver aucune application système.

COMPATIBILITY

Ce que votre TV peut faire.

canvasOS essaie d'abord l'interface propre à la marque, puis se rabat sur l'interface Android standard. Ce tableau décrit les limites réelles de l'implémentation actuelle, pas un argumentaire commercial.

Android TV 9+ · versions standard et protection identiques, seule la déclaration d'écran d'accueil diffère
FonctionToute Android TVAvec débogage local autoriséSony BRAVIA uniquement
Accueil, Dock, effets de verre, ombres, dossiers, profils Oui — —
Top Shelf : « Continuer à regarder » des apps Oui, avec l'autorisation READ_TV_LISTINGS (accordée par adb) et un TvProvider sur la TV — —
Top Shelf : titres TMDB, Bilibili, Douyu Oui, connexion requise ; TMDB demande votre clé d'API gratuite — —
Fonds d'écran (Bing, Wikimedia, NASA, Met…), Cadre photo Oui — —
Météo Oui, connexion requise (Open-Meteo) — —
Économiseur d'écran aérien Apple TV Oui, connexion requise — —
Centre de contrôle, horloge, adresse IP à l'écran Oui — —
Bluetooth Si la TV a du Bluetooth ; Android 12+ : autorisation BLUETOOTH_CONNECT — —
Lecture en cours, bannières de notifications (activées par défaut) Avec l'écouteur de notifications ; désactivables dans les réglages — —
Page téléphone : fond d'écran, photos, noms et vignettes des apps Oui, depuis un téléphone sur le même Wi-Fi — —
Page téléphone : télécommande, clavier, installer des APK — Oui —
Libérer la mémoire Vide le cache Ferme complètement les apps en arrière-plan, sauf celles qui lisent ou diffusent —
Supprimer les apps préinstallées — Oui —
Veille, minuteur de veille, extinction, redémarrage — Oui —
Mise à jour de canvasOS Oui, par adb install -r depuis l'ordinateur Oui, depuis la TV (Réglages → Système → Mise à jour) —
Cadre photo comme économiseur d'écran système, délai d'inactivité — Oui —
Changement de source HDMI La plupart des TV — Avec affichage de la source actuelle
Curseur de luminosité (rétroéclairage) Xiaomi, avec autorisation ADB — Oui
Protection de l'accueil, relance automatique Une autorisation ADB depuis l'ordinateur Oui —
Box Android TV certifiées Google (type Thomson 240G) Le parcours le plus direct : version standard, set-home-activity et les autorisations de l'étape 4, sans Protection de l'accueil puisque le système accepte un lanceur de remplacement. Le volume et les sources HDMI passent par Android standard, sans curseur de luminosité. Le projet n'a pas vérifié ce modèle précis.
Qu'est-ce que le débogage local ? canvasOS se connecte au 127.0.0.1:5555 de la TV elle-même pour exécuter des commandes système. La TV affiche « Autoriser le débogage ? » : cochez « Toujours autoriser ». Une seule autorisation, valable pour toutes les marques ; elle sert à la veille, au minuteur, au nettoyage complet de la mémoire, à la télécommande du téléphone et aux mises à jour depuis la TV.
Sony BRAVIA Une fois le contrôle IP enregistré, luminosité, volume et sources passent par l'interface de la TV ; la ligne Sources affiche aussi le signal actuel.
TCL / FFalcon (firmware chinois) Pas d'enregistrement standard des sources : Sources ouvre le sélecteur de TCL ; pas d'interface de rétroéclairage utilisable : le curseur de luminosité est masqué ; la version guard est nécessaire.
Xiaomi / Redmi (firmware chinois) Le rétroéclairage passe par picture_backlight, les sources par le lecteur de Xiaomi ; ne désactivez pas le lanceur intégré, utilisez la Protection de l'accueil.
Coocaa / Skyworth Sans sources standard, Sources ouvre le sélecteur de sources du lanceur Coocaa ; la luminosité et les réglages passent toujours par l'interface Android standard. Pas encore testé sur une vraie TV.
Autres marques Le volume passe par AudioManager, les sources par TvInputManager. Android n'a pas d'interface standard pour le rétroéclairage : le curseur de luminosité est masqué. Chaque marque correspond à un fichier d'adaptateur dans le dossier tv/ : les contributions pour votre TV sont les bienvenues.
Amplificateur / ARC · eARC Le volume standard peut contrôler la TV elle-même plutôt que l'amplificateur ; le comportement du volume CEC dépend des firmwares de la TV et de l'amplificateur.
Périmètre vérifié : la vérification complète n'a été faite que sur un Sony BRAVIA XR-55A80J (Android TV 12), et toutes les captures et tous les enregistrements du site viennent de ce téléviseur ; certaines nouveautés de la 1.1 n'y figurent pas encore. Les adaptations TCL / FFalcon et Xiaomi proviennent de notes de la communauté sur de vrais appareils, et les box Android TV certifiées Google n'ont pas été essayées modèle par modèle : rien de tout cela n'a encore été vérifié une à une par le projet.

FAQ

Les questions que vous vous posez sûrement.

Faut-il le root ? Cela affecte-t-il la garantie ?

Pas besoin de root, et la partition système n'est pas modifiée. La version standard se définit simplement comme accueil par défaut via ADB et reçoit quelques autorisations inaccessibles aux applications ordinaires.

L'effet sur la garantie dépend des conditions du fabricant de la TV ; le projet ne peut rien garantir. Le vrai risque vient d'une mauvaise commande ADB, par exemple désactiver le lanceur intégré de Xiaomi, ce qui donne un écran noir.

Ma box Android TV certifiée Google (type Thomson 240G) est-elle prise en charge ?

C'est le parcours le plus direct : canvasOS.apk (version standard), set-home-activity et les autorisations de l'étape 4, voir l'onglet « Android TV / box Google ». Il n'y a pas de Protection de l'accueil à activer, parce que le système accepte un lanceur de remplacement.

Le projet n'a vérifié l'ensemble que sur un Sony BRAVIA : sur une box, le volume et les sources HDMI passent par Android standard et il n'y a pas de curseur de luminosité.

Comment revenir à l'accueil d'origine ?

Une fois canvasOS désinstallé, la TV revient à son lanceur d'origine. Désactivez d'abord la protection et restaurez l'économiseur d'écran d'origine, puis désinstallez ; dans les commandes ci-dessous, remplacez les chevrons par les valeurs notées avant l'installation.

adb -s 192.168.x.x:5555 shell am broadcast -a com.getisolated.canvasos.CONFIG -n com.getisolated.canvasos/.ConfigReceiver --ez guard false --ez keep_adb false
# Only if the recorded value was not empty (replace with your recorded value):
adb -s 192.168.x.x:5555 shell settings put secure screensaver_components <ORIGINAL_COMPONENT>
# If it was empty, remove the record instead so Android keeps its own default:
adb -s 192.168.x.x:5555 shell settings delete secure screensaver_components
adb -s 192.168.x.x:5555 uninstall com.getisolated.canvasos
adb -s 192.168.x.x:5555 shell pm enable <VENDOR_LAUNCHER_PACKAGE>
Pourquoi ne pas désactiver le lanceur intégré sur Xiaomi / Redmi ?

PatchWall (com.mitv.tvhome) prend le contrôle de la touche Accueil via une liste blanche du système. Une fois désactivé, le lanceur de secours du système refuse lui aussi les lanceurs tiers : la TV démarre sur un écran noir.

canvasOS utilise plutôt la « Protection de l'accueil » : dès que le lanceur d'origine passe au premier plan, canvasOS revient (environ une demi-seconde de clignotement), sans désactiver ni désinstaller aucune application système.

L'installation échoue sur TCL / FFalcon avec INSTALL_FAILED_VERIFICATION_FAILURE

C'est la vérification d'installation de TCL qui refuse les installations par adb. Utilisez canvasOS-guard.apk et envoyez-le via le service « Interaction multi-écran (多屏互动) » de la TV ; les commandes sont dans l'onglet TCL ci-dessus.

Si le script ne peut pas joindre le port 6553, ce modèle n'a pas ce service : poussez l'APK dans /sdcard/Download/, puis installez-le avec un gestionnaire de fichiers sur la TV.

adb install affiche INSTALL_FAILED_UPDATE_INCOMPATIBLE

Depuis la 1.1, toutes les Releases sont signées avec la même clé : adb install -r met canvasOS à jour sur place et garde réglages et autorisations. Cette erreur n'apparaît plus que si la version installée est la 1.0.0 (signée avec une clé jetable) ou un APK compilé sur un autre ordinateur.

Désinstallez alors une seule fois, après avoir désactivé la protection. Cela efface les réglages et les autorisations de l'app : refaites ensuite les autorisations de l'installation et autorisez de nouveau le débogage local sur la TV.

adb -s 192.168.x.x:5555 shell am broadcast -a com.getisolated.canvasos.CONFIG -n com.getisolated.canvasos/.ConfigReceiver --ez guard false --ez keep_adb false
adb -s 192.168.x.x:5555 uninstall com.getisolated.canvasos
Pourquoi n'y a-t-il pas de curseur de luminosité ?

Android n'a pas d'interface standard pour régler le rétroéclairage. Sony BRAVIA fournit la luminosité via sa propre interface de contrôle IP ; le firmware chinois de Xiaomi permet d'écrire picture_backlight (autorisation ADB requise). Pour les autres marques, si cela échoue, le curseur est masqué plutôt que d'afficher un contrôle sans effet.

Pourquoi le volume est-il incorrect avec un amplificateur / ARC, eARC ?

Avec l'interface de volume Android standard, c'est peut-être la TV elle-même qui est contrôlée plutôt que l'amplificateur. Sur Sony, on peut passer par le volume côté TV ; le comportement du volume CEC dépend en fin de compte des firmwares de la TV et de l'amplificateur.

Comment obtenir la clé TMDB du Top Shelf ?

Pour Netflix, Prime Video, Disney+, Apple TV, Max, Paramount+, Canal+ et Crunchyroll, le Top Shelf peut afficher les titres populaires de la semaine en France d'après TMDB (The Movie Database). TMDB demande à chacun une clé d'API gratuite : créez un compte sur themoviedb.org, puis demandez la clé sur https://www.themoviedb.org/settings/api (clé d'API v3 ou jeton d'accès en lecture v4).

Collez-la sur la page téléphone (QR code de Réglages de l'accueil → Page téléphone), onglet Réglages, section « Top Shelf (TMDB) ». Elle reste sur la TV. Sans clé, le Top Shelf montre ce que les apps publient elles-mêmes, puis les sources Bilibili et Douyu. Depuis l'ordinateur, la même clé se passe par adb ; avec `''` à la place de la clé, la commande l'efface.

adb -s 192.168.x.x:5555 shell am broadcast -a com.getisolated.canvasos.CONFIG -n com.getisolated.canvasos/.ConfigReceiver --es tmdb_key <TMDB_KEY>
Comment fonctionnent les profils et le profil enfant ?

Réglages de l'accueil → Profils. Chaque profil a son propre accueil : ordre des apps, apps masquées, dossiers, noms des apps, entrées HDMI épinglées et fond d'écran ; tous les autres réglages valent pour la TV entière. Le profil principal est l'accueil d'avant les profils et ne peut pas être supprimé. La photo de profil en haut à droite montre l'initiale du profil ; OK ouvre la liste pour en changer.

Un profil enfant demande un code PIN (4 à 6 chiffres) pour passer à un autre profil, ouvrir les réglages de l'accueil et supprimer une app ; trois codes faux referment la demande. Le code n'est pas enregistré, seulement son empreinte SHA-256 salée.

Il ne protège pas les réglages de la TV elle-même : masquez leur tuile dans le profil enfant (Réglages de l'accueil → Apps masquées, ouvert depuis ce profil). Code oublié : cette commande adb le supprime, adb ne demandant jamais de code.

adb -s 192.168.x.x:5555 shell am broadcast -a com.getisolated.canvasos.CONFIG -n com.getisolated.canvasos/.ConfigReceiver --es profile_pin "''"
Comment utiliser le téléphone comme télécommande ?

Scannez avec un téléphone sur le même Wi-Fi le QR code de Réglages de l'accueil → Page téléphone → Afficher le QR code (ou celui de la tuile Fond d'écran). La page reste accessible à tout moment : fond d'écran, économiseur, photos, ville de la météo, noms et vignettes des apps, télécommande avec clavier et installation d'APK.

La télécommande, le clavier et l'installation d'APK passent par le débogage local : il faut l'avoir autorisé sur la TV. Le code dans l'adresse est la seule protection de la page : Régénérer le code rend les anciennes adresses inutilisables (téléphone perdu), et la ligne Page téléphone la désactive entièrement.

ADB affiche toujours unauthorized, que faire ?

La TV n'a pas accepté l'autorisation de débogage de cet ordinateur. Sur la TV, cochez « Toujours autoriser sur cet ordinateur » puis choisissez « Autoriser » ; les TV Xiaomi coupent ADB à chaque réveil, et l'option « Garder le débogage ADB activé » de canvasOS le réactive automatiquement.

canvasOS lit-il mon écran ou mes notifications ?

Par défaut, non. La Protection de l'accueil n'observe que les changements de fenêtre, pour savoir si le lanceur d'origine est passé au premier plan, sans lire le contenu de l'écran. Le Top Shelf ne lit, avec READ_TV_LISTINGS, que les lignes que les apps publient pour l'accueil d'Android TV.

L'écoute des notifications sert à relancer canvasOS après un arrêt forcé et au démarrage, et à épargner pendant le nettoyage de la mémoire les apps qui lisent quelque chose : seuls le nom du paquet et l'état de lecture sont lus pour cela.

Deux options, activées par défaut et désactivables dans Réglages de l'accueil → Lecture et notifications, élargissent ce qui est lu. « Lecture en cours » lit les métadonnées des sessions média : titre, artiste, pochette, position. Les bannières lisent le titre et le texte des notifications de toutes les apps sauf celles que vous excluez, pour les afficher 6 secondes ; rien n'est enregistré ni envoyé.

Comment passer à une nouvelle version ?

Depuis la TV : Réglages de l'accueil → Système → Mise à jour. Une première pression cherche la dernière Release sur GitHub, la seconde la télécharge et l'installe sur place, réglages et autorisations conservés. Cela demande le débogage local. canvasOS vérifie aussi une fois par jour qu'une version existe et l'annonce sous le Centre de contrôle ; rien n'est téléchargé sans votre seconde pression.

Depuis l'ordinateur, adb install -r avec le dernier APK marche toujours, et la commande ci-dessous demande à la TV si une version plus récente existe (update=<version|none|unavailable>). Tous les liens de téléchargement du site pointent vers releases/latest sur GitHub, jamais vers une version périmée.

adb -s 192.168.x.x:5555 shell am broadcast -a com.getisolated.canvasos.CONFIG -n com.getisolated.canvasos/.ConfigReceiver --ez check_update true
Le site et l'app collectent-ils des données ?

Le site est entièrement statique : pas de cookies, pas de statistiques ni de publicité tierces, et les polices sont celles du système.

L'app a besoin d'Internet pour les fonds d'écran (Bing, Wikimedia Commons, NASA, le Met, l'Art Institute of Chicago, Wallhaven), la météo (Open-Meteo), les contenus du haut (TMDB avec votre clé, API web publiques de Bilibili et Douyu) et la recherche d'une mise à jour sur GitHub, une fois par jour. Tant qu'aucune ville n'est choisie, la TV devine le lieu de la météo une fois d'après son adresse IP publique (ip-api.com). Avec l'économiseur d'écran aérien, les vidéos sont lues en ligne depuis les serveurs d'Apple. Aucun compte n'est nécessaire.

Y a-t-il un lien avec Apple ?

Non. canvasOS est un projet open source indépendant, sans lien avec Apple, Sony, Xiaomi, TCL, Bilibili ou Douyu, ni approuvé par eux. Son langage visuel s'inspire de tvOS, mais il ne contient aucun code, police ou ressource d'Apple.

GET CANVASOS

Pour que chaque allumage de la TV soit un plaisir.

Téléchargez l'APK, activez ADB, et laissez le guide ou un agent faire le reste. Android 9+, sans root, retour à l'accueil d'origine à tout moment.