# Philips 55OLED707/12 (55" 4K OLED with Ambilight), UK # Android TV 11, firmware RTT2.211108.001 build 21029, security patch 2025-10-01, board PH1M_EA_9970A # ro.product.model=2021/22 Philips UHD Android TV ro.product.device=PH1M_EA_9970A # Fingerprint: Philips/PH1M_EA_9970A/PH1M_EA_9970A:11/RTT2.211108.001/21029:user/release-keys # MediaTek MT5895, 2.67 GB RAM. Connected over Ethernet. # # This is the same board AND the same firmware build as examples/philips-50pus8517, on an OLED # panel instead of an LED one. That file's quirks and its DO NOT DISABLE block apply here as # written; read them first. Nothing in its DO NOT DISABLE block is disabled below: eum, aurora, # xtv, playtv, contentexplorer, homeintentresolver and the browser engine all stay on. # This file lists what this unit disabled on top of, or instead of, that list. # # Second unit: Philips 48OLED707/96 (48" OLED with Ambilight), Taiwan, on Wi-Fi. # Same board, same RTT2.211108.001 firmware, but an older build: 2769, security patch 2023-08-05. # Fingerprint: Philips/PH1M_EA_9970A/PH1M_EA_9970A:11/RTT2.211108.001/2769:user/release-keys # ro.boot.device_name and the global device_name read 48OLED707/96; 2.67 GB RAM as above. # - Out of the box, org.droidtv.freeviewplayers and 15 uk.co.freeview.* apps were already disabled, # so they are not something to add here. # - Wi-Fi: com.google.android.tungsten.setupwraith was KEPT on this unit, as this list advises. # com.google.android.tvrecommendations was kept too, so the notification panel stays. # - Everything else in this file that is installed on the set was disabled, and on top of it these # entries from examples/philips-50pus8517: partnersetup, onetimeinitializer, sss.authbridge, # syncadapters.calendar, nettvapp4655 (Deezer), m7opapp, marvin.talkback, Prime Video # (com.amazon.amazonvideo.livingroom), dlna and ipcontrol. CHILI, Singa, Pluto TV, Rakuten TV and # nettvapp4546/4932/5527 are not installed on this unit. # - All of them were still disabled after a restart, and the replacement launcher stayed Home. # Idle-loop check after the debloat (50PUS8517 quirk 5 method, 30 s): 186 lines, no line repeating # more than 10 times; the top repeater was WifiVendorHal's link-layer stats poll. # - Screensaver on an OLED: the firmware does not let Android's screensaver start on a timer. At every # boot org.droidtv.tv.tptvservice (TPTvServiceReceiver) puts screen_off_timeout and sleep_timeout back # to 604800000 ms, "Never", logging "screensaver put when to start is not never". A shorter "When to # start", from the TV's settings or `settings put system screen_off_timeout`, works until the next # boot and is then reset. Read from the receiver's code; the same strings are in the Android 9 build # of tptvservice on PH9M_EA_5599 (examples/philips-tpm191e). What survives a reboot is the launcher's # own idle clock: "home_idle_clock_minutes": 3 in a theme. It drifts the clock to spare the panel and # starts only on Home, never over an app or Live TV. Checked here: the clock came up after 3 minutes # on Home. # # Third unit: Philips 55OLED887/12 (55" OLED with Ambilight), Poland, on Wi-Fi. Same board and the same # RTT2.211108.001 build 21029 as the first unit (fingerprint above), security patch 2025-10-01, 2.7 GB RAM. # Applied in six batches with tools/disable.sh on one day with two reboots; not yet lived with for days, # so nothing below changes the list. # - Disabled there from this file: candeebug, gel, usagelogger, nettvrecommender, recommendation, # nettv.market, demome, amazonalexa, feedback, setupwraith, katniss, play.games, videos, # youtube.tvmusic, Rakuten TV, and tvrecommendations after the replacement launcher was Home. On top of # it (owner's choice): org.droidtv.tv.frameworklogger, nettv_launcherapp, leanbackcustomizer (Philips # partner rows for the stock launcher), m7opapp, astrahdplus, dropboxprovider, partnersetup, # onetimeinitializer, sss.authbridge, syncadapters.calendar, marvin.talkback and # com.google.android.backdrop. Not installed on that unit: nettvapps and the nettvapp* web apps, Fitness # Buddy, CHILI, Singa, TED, WhaleLive, Pluto TV and Boosteroid. # - Kept there (owner's choice): everything Ambilight and Hue, the picture and sound settings and the audio # path, Play-Fi soft AP included, Chromecast, DLNA, IP control, the Philips side menu, the firmware # updaters, and Netflix, Prime Video, Apple TV, YouTube, MEGOGO and Sweet TV. The owner syncs Ambilight # with Hue bulbs: AmbilightService, HueService, AmbiAirControllerService and the ambihue LinkService stayed # bound after every batch, and Ambilight + Hue sync worked on screen after the list. # - Wi-Fi: the saved network belongs to android.uid.system (`dumpsys wifi | grep -o 'cname=[^ ]*'`), not to # setupwraith, so disabling setupwraith kept the TV on Wi-Fi. This answers the Wi-Fi question above for # this firmware, on one unit. # - disable.sh's TV-input guard held back usagelogger and demome. Neither serves a TvInputService # (`pm query-services --components -a android.media.tv.TvInputService`), so both were disabled with # TVINPUT_ALLOW=1, as on the 65PUS9206 in examples/philips-50pus8517. HDMI 2 still had a picture after # a reboot, and the SOURCES drawer listed HDMI 1-4. # - After both reboots `pm list packages -d` was identical: nothing re-enabled itself. Idle log after the # last batch (50PUS8517 quirk 5 method, 30 s): about 400 lines, almost all of them adbd's USB retry; no # handleConnectAurora or connectCotextService loop. # - Launcher: build-and-install.sh ran through. The firmware opens org.droidtv.playtv at every power-on. # power_on_home with HOME_KEY_SERVICE=1 did NOT send it to Home on this unit: Live TV came back after the # boot probe and stayed. power_on_home_always did, after a reboot and after waking from standby with the # real remote. With HomeKeyService bound, a held Volume + steps once per press, as measured on the # 65OLED804 in docs/devices/tcl-55p71b-g09-key-repeat.md; the owner kept the helper for Home at power-on. # - The board reports Composite (HW1), Component (HW2), SCART (HW3) and VGA (HW4) inputs that this model # does not have; `input_sources` HW1=- to HW4=- leaves them out of the Inputs menu. # - Home, SOURCES, Netflix, Ambilight and Quick menu worked on the real remote afterwards; this remote has # no Settings or YouTube button. Private DNS (AdGuard) works. # # Fourth unit: Philips 77OLED806/12 (77" OLED with Ambilight), Germany, on Ethernet. Same board and the same # RTT2.211108.001 build 21029 as the first unit (fingerprint byte-identical), security patch 2025-10-01. # ro.boot.device_name reads 77OLED806/12 while ro.product.model is the generic string above, so match this # list on the board and the build, not the model name. MemTotal 2,958,184 kB (2.82 GiB). # Applied 2026-10-25 in three batches with tools/disable.sh, the launcher from launcher/ in between and # tvrecommendations last, then rebooted; nothing below changes the list. # - Disabled there from this file: candeebug, gel, usagelogger, nettvrecommender, recommendation, # nettv.market, nettvapps, amazonalexa, demome, playfi.softap, feedback, setupwraith, play.games, videos, # youtube.tvmusic, and tvrecommendations after the replacement launcher was Home. On top of it (owner's # choice): partnersetup, onetimeinitializer, sss.authbridge, syncadapters.calendar, YouTube # (com.google.android.youtube.tv), Apple TV (com.apple.atve.androidtv.appletv), Disney+ # (com.disney.disneyplus) and Twitch (tv.twitch.android.app). Not installed on that unit: the nettvapp* web # apps other than ARTE, Fitness Buddy, CHILI, Singa, TED, WhaleLive, Pluto TV, Rakuten TV and Boosteroid. # - Kept there (owner's choice): katniss (Assistant), Chromecast, ARTE (nettvapp1814), Netflix, Prime Video, # Spotify, Tidal, ARD, Joyn, DLNA, IP control, the Philips side menu, the firmware updaters, and Play-Fi # (note 2). This remote has no YouTube button, so disabling YouTube cost no key. # - Out of the box org.droidtv.aurora, org.droidtv.freeviewplayers and 15 uk.co.freeview.* apps were already # disabled, as on the second unit. With aurora off from the factory, the 50PUS8517 quirk 5 check on an idle # TV found no handleConnectAurora lines at all, so it was left as found rather than enabled. # - setupwraith is installed but does NOT claim Home on this build: `cmd package query-activities -a # android.intent.action.MAIN -c android.intent.category.HOME` answered only com.google.android.tvlauncher # and com.android.tv.settings/.system.FallbackHome. The saved network belongs to android.uid.system # (`dumpsys wifi | grep -o 'cname=[^ ]*'`), so disabling setupwraith kept the TV on the network. # - After the reboot `pm list packages -d` was unchanged: nothing re-enabled itself. Twice `pm disable-user` # printed success for a package (usagelogger, demome) that `pm list packages -d` did not list a few seconds # later; disabling it again held, through the reboot too (50PUS8517 quirk 1). # - Screensaver: "When to start" is `system screen_off_timeout`, which read 604800000 ("Never") out of the box. # Writing `secure sleep_timeout` over ADB took the value and changed nothing. With "When to start" at 5 # minutes from the TV's settings, the system screensaver started after 5 min 40 s idle # (`dumpsys power`: mWakefulness=Dreaming). Not re-read after a reboot on this unit; see the second unit # above for tptvservice putting it back at boot, and home_idle_clock_minutes for what survives. # - Switching off: Android's screensaver menu has no "Put device to sleep" here. The TV switches itself off # from Eco settings > Switch off timer, which is Philips firmware (org.droidtv.tv.inactivityservice, kept). # Every `input keyevent` sent over ADB counts as a key press and restarts that timer, so a TV being driven # over ADB will not switch itself off. # - Home Assistant: the owner controls the TV and its Ambilight from Home Assistant's built-in Philips TV # (philips_js) integration, over the JointSpace API that org.droidtv.xtv serves (50PUS8517 DO NOT # DISABLE). After the list it still answered on https://:1926/6/system without pairing (self-signed # certificate, so `curl -k`): api_version 6.1.0, pairing_type digest_auth_pairing, Ambilight features # LoungeLight, Hue, Ambilight and HueStreaming. Port 1925, which older guides name, is open on this unit but # answers nothing. For the TV to stay reachable in standby, Eco settings > Quick start has to be on. # - `tools/tv.py --push` timed out after its full 300 s on a 300 KB file on this adbd, while # `tools/b64push.py` sent the same file in about a second. theme.sh and build-and-install.sh push with # b64push, so themes and the launcher went through; use b64push for anything else. # # Apply: TV_HOST= tools/disable.sh examples/philips-55oled707/debloat.txt # Undo: TV_HOST= tools/restore.sh examples/philips-55oled707/debloat.txt com.google.android.tvlauncher # Everything is DISABLED, not uninstalled. Comment out any line you want to keep. # # Stock launcher: com.google.android.tvlauncher # Live TV app: org.droidtv.playtv # App labels were read from each APK with `aapt dump badging`, not guessed from package names. # # What this unit adds to the 50PUS8517 notes: # # 1. org.droidtv.nettvbrowser is needed on a UK set. With it disabled, ITVX (a Freeview Play # app) hung while BBC iPlayer still worked. It is re-enabled here, as the browser-engine # entry in the 50PUS8517 DO NOT DISABLE block says it should be. # 2. com.phorus.playfi.tv (Play-Fi) could NOT be kept disabled and is commented out below, like # mediashell in 50PUS8517 quirk 4. It came back after both full restarts, with enabled=1 # (ENABLED), not 0 (DEFAULT): something re-enables it on purpose, so this is not the ~10 s # persistence delay (50PUS8517 quirk 1). Every other package stayed disabled. The likely # source is org.droidtv.tv.tptvservice, which must stay and which posts a notification on a # PlayFi_ChannelID channel at every boot. That link is not proven. # 3. org.droidtv.homeintentresolver ships with its HomeActivity component already disabled # (`pm dump` lists it under disabledComponents), so it does not compete for Home. While # com.google.android.tvlauncher is enabled it wins Home at priority 2 and # `cmd package set-home-activity` does not stick; once it is disabled, the replacement # launcher takes Home immediately (50PUS8517 quirk 6). # 4. uk.co.freeview.mdsclient (Freeview Play metadata) crash-loops in the background, several # times in a few minutes. It did this before anything was disabled, so it is the firmware, # not this list. Each crash logs DeadSystemException, which looks alarming and is not. # 5. Idle-loop check (50PUS8517 quirk 5 method, 30 s, TV in standby): 163 lines, no line # repeating more than 15 times, and nothing tied to a disabled package. The top repeaters # were cast_shell (a phone probing Chromecast) and the tuner's signal-level poll. # # Verified after a full restart (off at the wall): the replacement launcher stays Home, ITVX # plays, channel changes and the TV guide work with Alexa disabled, the SOURCES drawer stays # open and lists HDMI 1-4, and the red button opens HbbTV. # # Memory, read from `dumpsys meminfo` at idle on the home screen. The two readings straddle a # restart, so treat the difference as approximate: # Stock: 1,624 MB used PSS, 712 MB free, 326 MB in swap # This list + a new launcher: 1,389 MB used PSS, 831 MB free, 80 MB in swap # In a 30-minute Netflix session afterwards, free memory stayed between 814 and 939 MB with no # low-memory kills. # # Kept on purpose: Chromecast (com.google.android.apps.mediashell), Ambilight and Hue, the # Philips browser, DLNA, IP control, firmware updates, and every streaming app this household # uses (Netflix, Prime Video, Disney+, YouTube, Apple TV, the Freeview Play apps). # TP Vision telemetry, as in 50PUS8517. Disable candeebug and gel together. org.droidtv.candeebug # "DAC" analytics uploader org.droidtv.gel # metrics collector that runs inside candeebug's process org.droidtv.usagelogger # usage and device logging feeding the above # Philips content promos and the app gallery org.droidtv.nettvrecommender # "Top Picks" content row org.droidtv.recommendation # its backend; disable the row above first org.droidtv.nettv.market # "Smart TV Collection" app storefront org.droidtv.nettvapps # "NetTvApps", headless; holds TV_INSTALL_PACKAGES_SILENT and handles START_NETTV_VIRGINAPPS, i.e. the gallery's preload installer (read from its manifest, behaviour not traced) org.droidtv.nettvapp1814 # ARTE org.droidtv.nettvapp4546 # MEGOGO org.droidtv.nettvapp4932 # Free Games by PlayWorks org.droidtv.nettvapp5326 # Toon Goggles org.droidtv.nettvapp5512 # Fishing TV org.droidtv.nettvapp5527 # Flix Premiere org.droidtv.nettvapp20004410 # Couchplay Games org.droidtv.android.fitness # Fitness Buddy # Philips features this owner does not use. Check each against your own setup. org.droidtv.amazonalexa # Alexa bridge; 50PUS8517 warns that live TV binds into it. Channel changes and the TV guide still work with it disabled here org.droidtv.demome # "Demo me" retail demo mode # com.phorus.playfi.tv # Play-Fi multi-room audio; re-enables itself at every boot, see note 2 com.phorus.playfi.softap # DTSPlayFiSoftAP, Play-Fi's soft access point helper; stayed disabled # Google telemetry and first-setup leftovers com.google.android.feedback # Market Feedback Agent com.google.android.tungsten.setupwraith # "Setup Wizard", 24 MB resident at idle. On Google TV sets in this repo it owned the Wi-Fi network saved at setup, and disabling it deleted that network. This TV is on Ethernet, so that was NOT checked here; keep it if your TV uses Wi-Fi # Google apps this owner does not use com.google.android.katniss # Assistant and voice search; this remote has no mic button com.google.android.play.games com.google.android.videos # Google TV / Play Movies com.google.android.youtube.tvmusic # YouTube Music # Preinstalled streaming apps, all in /data/app com.mgmedia.androidApp # CHILI com.singa.client # Singa (karaoke) com.ted.android.tv # TED com.zeasn.whalelive # WhaleLive, ad-supported FAST channels tv.pluto.android # Pluto TV tv.wuaki.apptv # Rakuten TV com.boosteroidtv.streaming # Boosteroid TV cloud gaming # Stock launcher and its content engine. Disable the launcher FIRST; see 50PUS8517 for why. # Doing it the other way round on this unit force-restarted the launcher and removed the # notification panel, exactly as described there. # com.google.android.tvlauncher # launcher/build-and-install.sh disables it after Home has moved; 182 MB resident at idle on this unit com.google.android.tvrecommendations # recommendation rows, channels and the notification panel