Repository navigation
PiTV Alpha
Pre-releasePiTV Alpha
PiTV 1.5.0 · LibreELEC-style TV Shell architecture
- uložený rollback: poslední 1.4.31 před změnou architektury je zachovaný ve větvi
archive/pitv-1.4.31-pre-tv-shell - PiTV už není navržené jako Linux desktop/tty autologin s launcherem navrch; novým základem je appliance model inspirovaný LibreELEC
- přidán
pitv.target, který stojí nadmulti-user.target; SSH, Tailscale, Homebridge, Docker a ostatní serverové služby tak zůstávají nezávislé na TV rozhraní - přidán
pitv-shell.service: systemd vlastní celou tty1/Wayland TV session, používáRestart=alwaysa po pádu obnoví TV shell bez rebootu Raspberry Pi - shell používá přímo
labwc -s /usr/local/bin/pitv-launcher-run; labwc spustí PiTV až po připravení Waylandu a při ukončení primary klienta ukončí i compositor, takže systemd vždy obnovuje celou čistou TV session - hlavní Wayland compositor publikuje kanonický marker
pitv-wayland-display; Kodi, nativní aplikace, SSH session helper a vnější Waydroid už nikdy nevybírají náhodný prvníwayland-*socket - pouze Cage client uvnitř Android runtime smí používat svůj zděděný nested Wayland socket; tím se odděluje PiTV obrazovka od Android compositoru
- Android warm runtime vlastní výhradně
pitv-android-warm.service; spuštění APK při cold startu službu požádá přes helper a nevytváří vlastní druhý warmer proces - jednorázová migrace starých Android balíčků už nikdy nestartuje ani nezastavuje Waydroid; počká na hotový warm runtime, takže nemůže závodit s prvním spuštěním SmartTube
- odstraněna umělá 2s prodleva před Android prewarmem a redundantní
waydroid session stop; po připravení hlavního Waylandu začíná Android warm-up okamžitě - starý boot řetězec
getty → autologin → .bash_profile → labwcse při instalaci 1.5.0 odstraňuje; tty1 je vyhrazená supervised TV shellu - kompatibilní příkaz
sudo systemctl restart pitv-launcherzůstává, ale nově restartuje celýpitv-shell.service - Android warm runtime je oddělený do
pitv-android-warm.service; Home obrazovka není jeho rodič ani na něj při startu nečeká - při restartu/recovery shellu systemd Android warm službu znovu obnoví; launcher už nevytváří vlastní background warmer proces
- ovladač je nově systémová vrstva pod launcherem:
pitv-inputd.servicečte kernel HDMI‑CEC a vytváří přes Linuxuinputjedno virtuální zařízení PiTV TV Remote - šipky, OK, krátké Zpět a Play/Pause už PiTV 1.5 nepřeposílá přes
wtypeani Androidinput keyevent; labwc doručí stejný vstup přímo právě fokusované PiTV/Kodi/Stremio/Cage ploše - raw + decoded CEC řádky jednoho fyzického stisku jsou deduplikované; jeden krátký stisk znamená jeden krok a držená šipka začne opakovat až po řízené prodlevě
- CEC Home/menu je globální F13 appliance akce: compositor okamžitě ukáže PiTV a launcher uloží foreground aplikaci jako pozastavenou
- 3s držení Zpět je globální F14 appliance escape: funguje i když focus vlastní Kodi nebo Android, vrátí PiTV a ukončí foreground aplikaci; krátké Zpět zůstává aplikaci
- input služba přežívá restart launcheru/compositoru, sama se připojuje po HDMI/CEC změně a publikuje skutečně použitý adaptér v
/run/pitv/cec-device; stejné zařízení pak používají i Power/Active Source/Volume CEC příkazy - Nastavení HDMI/CEC přímo ukazuje systémový TV input a aktivní
/dev/cecN, případně stav čekání na HDMI‑CEC uinputse načítá při bootu a 1.5 installer zachovává uživatelovu volbu HDMI‑CEC Zapnuto/Vypnuto; starý launcherovýCECReaderbyl z 1.5 úplně odstraněn, takže existuje jen jeden CEC input owner- CEC výstup je oddělený do statického
pitv-cec-control: umí pouze Power/Standby/Active Source/Volume/Mute; historickýpitv-cec-monitors režimy register/monitor se při upgradu maže - warm SmartTube/APK start je zkrácený: připravený persistentní Cage klient zapisuje do
pitv-waydroid-runtime-readyvlastní živý PID, takže běžné spuštění už nedělá synchronníwaydroid status + getproppři každém readiness testu - RPi4 Waydroid HW video decode je připravený jako vlastní vendor profil: H.264/AVC používá
c2.v4l2.avc.decoder; HEVC/H.265 používác2.ffmpeg.hevc.decoderpřes statelessrpivid/V4L2 Request API. PiTV přidává do Waydroidu chybějící/dev/media*passthrough, build zapisuje přesné upstream revize a instalace vendor image má automatický rollback při selhání kteréhokoli HALu. VP9/AV1 zůstávají software fallbacky. - Android TV session watchdog už nesleduje jen PID původního APK: SmartTube může otevřít Android Settings, permission dialog nebo account picker a PiTV zůstane v Android session; návrat do PiTV nastane až při skutečném Android Home/Launcheru, ztrátě warm runtime nebo globálním 3s Back
- HDMI obraz má jednu systémovou recovery vrstvu:
pitv-displayd.servicesleduje DRM konektor, EDID a dostupné režimy; po stabilním reconnectu srovná odpovídající wlroots výstup na pozici0,0, normal transform a scale 1 - platný aktuální video mód se zachová; preferred mód se použije jen při skutečně znovupřipojeném vypnutém výstupu nebo chybějícím current mode a periodická kontrola geometrie nikdy nebudí vypnutou TV
- po opravě daemon pošle launcheru globální akci
display, takže SDL fullscreen se znovu sváže bez ukončení běžící aplikace; při opakovaném selhání wlroots se restartuje pouzepitv-shell.service, ne Raspberry Pi/server - boot s vypnutou TV je podporovaný a první pozdější HDMI připojení projde stejnou recovery cestou; starý paralelní
pitv-display-watch/pitv-display.servicebyl odstraněný - labwc používá
reuseOutputMode=yesa PiTV/Kodi/Stremio/Cage window rules při mapování nejdřív provedouMoveTo 0,0a teprve potom maximalizaci; běžný HDMI reconnect tak nemá vyžadovat reboot Raspberry Pi - běžná APK cesta už před spuštěním nedělá
waydroid app list; nejdřív pošle přímowaydroid app launch <package>, APK instalace se použije až pokud skutečný launch selže - po úspěšném launch intentu PiTV čeká jen na skutečně viditelnou Activity cílového package; při pomalém prvním vykreslení zopakuje pouze launch intent a nikdy zbytečně nepřeinstaluje zdravou aplikaci
- jednorázový úklid starých Android Stremio/Plex už nikdy neblokuje SmartTube/APK; běží jen v klidném okně warm runtime a pokud je Android aplikace pending/foreground, údržba čeká
- technický kontrakt projektu je v
docs/tv-appliance-contract.md; priorita je input/focus → rychlost aplikací → fullscreen/session → playback → Store → vzhled
PiTV 1.4.31 · TV-appliance runtime: rychlé aplikace, focus a globální stav
- nový výkonový základ PiTV: Android/Waydroid už není spouštěn a vypínán s každou aplikací; supervisor po vykreslení Home asynchronně přednahřeje jeden skrytý persistentní Cage/Waydroid runtime
- běžná Android TV aplikace používá už připravený runtime, spustí rovnou svůj package a PiTV přepne na Android workspace až po potvrzení skutečně viditelné aktivity; cílem je stejný princip jako Android TV / Google TV / Apple TV — uživatel čeká na aplikaci, ne na mezilehlý operační systém
- dlouhé Zpět ukončí pouze aktuální Android aplikaci přes
waydroid-app-stop; session, Cage a container zůstávají warm pro další rychlé spuštění - celý Android runtime se destruktivně čistí jen při restartu/recovery TV session, takže havárie se stále opraví deterministicky bez zásahu do Homebridge/Tailscale/Dockeru
- ovládání Androidu má jednu trvalou FIFO frontu; D-pad/OK/Back se už neposílají přes samostatný thread pro každý stisk a zachovávají pořadí focus událostí
- globální activity banner se kreslí úplně nahoře nad Home, Store, Settings, Updates i modal dialogy; instalace, aktualizace a start aplikace tak mají jednu společnou stavovou plochu všude v PiTV
- během prvního cold startu banner rozlišuje „Startuji Android…“ a „Spouštím aplikaci…“; při warm runtime se přechází rovnou do druhé fáze
- běžná Android TV aplikace se už nespouští přes viditelné
waydroid show-full-ui; backing Android plocha existuje pouze skrytě na Android workspace - běžná Android TV aplikace se už nespouští přes viditelné
waydroid show-full-ui; Waydroid/Cage se připraví skrytě na Android workspace a spustí rovnou požadovaný package - PiTV zůstává během cold startu viditelné s hláškou „Připravuji …“ a na Android přepne až po potvrzení, že WindowManager/ActivityManager skutečně vidí okno cílové aplikace
- celý Android launcher, boot animace, quick settings a notification shade se při běžném spuštění SmartTube/APK už nemají objevit; plné Android UI zůstává pouze jako výslovná diagnostická volba Android / APK
- nested Cage se mapuje na Android workspace s
follow=no, takže samotné vytvoření Android surface už uživatele nepřepne pryč z PiTV - Waydroid wrapper toleruje tři po sobě jdoucí readiness chyby; jeden přechodný timeout už neshodí SmartTube zpět do launcheru
- přidána samostatná kontrola
waydroid-app-visible; samotný existující Android proces už nestačí k označení aplikace jako spuštěné - PiTV po HDMI/EDID disconnect/reconnect sleduje skutečnou velikost desktopu, znovu vytvoří SDL fullscreen surface a přepočítá rozměry UI
- labwc má navíc pravidlo pro okno
PiTV *, které launcher maximalizuje a drží na PiTV workspace; tím se opravuje stav s titulkovým pruhem, černým okrajem a obrazem posunutým do části TV po opětovném zapnutí obrazovky - opravy 1.4.29–1.4.30 (persistentní CEC reader, OK-only Nastavení a Aktualizovat vše) zůstávají zachované
PiTV 1.4.30 · jednotné Nastavení a jednoduché „Aktualizovat vše“
- Nastavení je OK-only: ↑/↓ slouží jen k pohybu, OK otevře nabídku/provede akci a Back se vrací; pravá šipka už v Nastavení nespouští skryté funkce
- vizuální chevrony „›“ byly z Nastavení odstraněny a nahrazeny jasným označením OK
- Aplikace mají pevné menu: PiTV Store, Zobrazení aplikací, Odinstalovat aplikace a Obnovit seznam
- Zobrazení aplikací nejdřív otevře seznam aplikací a po výběru druhý seznam Zobrazit na ploše / Skrýt z plochy
- Odinstalovat aplikace má vlastní seznam bezpečně odinstalovatelných Linux i APK aplikací a až po výběru zobrazí potvrzení; odinstalace už není schovaná na pravé šipce
- všechny sekce otevřené z Nastavení používají stejný TV/Kodi-style model jako Vzhled: seznam kategorií vlevo, položky uprostřed a vysvětlení vybrané volby vpravo
- sjednocení platí pro Spořič, Síť, Zvuk, HDMI/CEC, Aplikace, Server Store, Android/APK, Aktualizace, Systém, Napájení i O PiTV; sdílené top-level stránky si při otevření ze sidebaru zachovávají svůj plnohodnotný layout
- Wi‑Fi už se po OK nepřepíná naslepo; otevře viditelnou nabídku Zapnuto / Vypnuto
- HDMI/CEC nově přímo nabízí HDMI‑CEC ovládání Zapnuto/Vypnuto a Probudit TV při startu Zapnuto/Vypnuto stejným seznamovým způsobem
- stránka Aktualizace už není mřížka deseti podobných dlaždic: nahoře je jeden společný přehled stavu a pod ním dominantní tlačítko Aktualizovat vše
- Aktualizovat vše provede doporučený sled: Store + Server katalogy → nainstalované Linux Store aplikace → Ubuntu → PiTV; PiTV se aktualizuje poslední a potom se restartuje jen TV UI
- jednotlivé aktualizace zůstávají dostupné pod Pokročilé možnosti, takže zkušenější uživatel může aktualizovat jen PiTV, katalogy, Store aplikace nebo Ubuntu
- Systém už neduplikuje několik aktualizačních tlačítek; obsahuje stav zařízení a jediný vstup Otevřít Aktualizace
- otevření stránky Aktualizace samo nespouští dlouhý APT scan; uživatel si zvolí Zkontrolovat aktualizace nebo rovnou Aktualizovat vše
- zachované jsou opravy 1.4.29: persistentní CEC reader podle fyzicky funkčního základu 1.4.10, cleanup orphanovaných CEC monitorů a per-adapter singleton lock
PiTV 1.4.29 · návrat k persistentnímu CEC ovládání z 1.4.10
- fyzická historie potvrzuje PiTV 1.4.10 jako poslední známý stav, kde na této TV fungovaly šipky, OK a Zpět; Home na použitém ovladači nebyl spolehlivý/není k dispozici
- návrat z aplikace už nezastavuje a nevytváří nový
CECReader; zdravý kernel CEC monitor zůstává po celý život launcheru stejný jako v 1.4.10 a pouze se vyčistí stav kláves + znovu oznámí Active Source - vlastní reconnect uvnitř
CECReaderzůstává zachovaný pro skutečný HDMI/CEC reset nebo hotplug - nový launcher supervisor z 1.4.28 při recovery odstraní orphanovaný root
cec-ctl --monitor --show-raw, který mohl přežít zabitý Python launcher a blokovat nový ovladač až do rebootu pitv-cec-monitormá navíc per-adapterflock, takže současně nemohou běžet dva PiTV CEC monitory nad stejným/dev/cecN- zachované zůstávají 3s Zpět, Android DPAD relay, Kodi/Stremio lifecycle, HDMI audio i současná session architektura; nevrací se celé PiTV na starou verzi, pouze ověřená CEC vlastnost
PiTV 1.4.28 · čistý restart launcheru a odstranění stale TV aplikací
- nově potvrzený fyzický problém: restart samotného launcheru mohl odkrýt starou fullscreen Waydroid/Stremio plochu, protože Android session přežila proces PiTV
- PiTV má nový launcher supervisor; pokud GUI spadne nebo se restartuje, nejdřív deterministicky uklidí PiTV-owned TV runtimes a teprve potom launcher znovu spustí
- cleanup cílí jen na foreground TV aplikace PiTV: nested Cage/Waydroid, Kodi/Plex a nativní Stremio; Homebridge, Tailscale, Docker, SSH a další serverové služby zůstávají běžet
- restart celé TV session před startem labwc také provede stejný cleanup, takže po recovery/restartu nemůže na obrazovce zůstat stará Android plocha
- historický příkaz
sudo systemctl restart pitv-launcherje migrován na bezpečný restart TV session přes tty1/getty; nerestartuje celý Linux - úplná legacy migrace Android médií běží nově jako v2, aby se znovu provedla i na zařízení, které už mělo starší marker; odstraní známé staré PiTV balíčky, launchery, APK kopie a receipts
- Waydroid instalátor používá stejný bezpečný APT lock timeout jako hlavní PiTV updater
- zachovány jsou všechny předchozí opravy: glass UI, Kodi-style seznamy Nastavení, odinstalace aplikací, Cage fullscreen Android, root-safe CEC/DPAD relay, 3s Back, CEC refresh po návratu a Kodi DRM PRIME/lifecycle
PiTV 1.4.27 · spolehlivá aktualizace při APT locku
- self-update už neselže kódem 100 jen proto, že Ubuntu právě spustilo
unattended-upgrades - nový instalátor používá
DPkg::Lock::Timeout=600a bezpečně čeká až 10 minut na dokončení existující APT/DPKG transakce; lock soubory nemaže a cizí procesy nezabíjí add-apt-repositoryuž nespouští vlastní neřízené APT update; všechny balíčkové operace procházejí stejným lock-aware tokem- stejné čekání platí pro aktualizaci Ubuntu, Linux Store aplikací a APT instalace z PiTV
- self-updater zachytává výstup instalátoru a při chybě vrací krátkou smysluplnou zprávu místo celého terminálového logu
- toast a horní stavová hláška se nově ořezávají na šířku TV, takže dlouhý APT výstup už nepřetéká přes obrazovku
- oprava funguje i při přechodu ze starého PiTV, protože starý updater vždy stahuje aktuální
install.shz Master
PiTV 1.4.26 · uzavření runtime oprav před fyzickým testem
- 3 s podržení Zpět je univerzální ukončení aplikace i na starých TV bez Home; krátké Zpět zůstává normální Back uvnitř aplikace
- CEC long-press nově funguje i na televizích, které při držení tlačítka posílají opakované dvojice Press/Release místo jednoho dlouhého Press
- každý návrat z Kodi, Linux Stremia i Android/Waydroidu používá jednu deterministickou cestu zpět na pracovní plochu PiTV; platí to i pro normální ukončení aplikace bez nouzového gesta
- po návratu do launcheru PiTV znovu otevře jediný kernel CEC monitor, zaregistruje se a znovu oznámí Active Source; tím se opravuje stav, kdy CEC fungovalo po rebootu a později po přechodu aplikací přestalo reagovat
- známé staré Android instalace z vlastních historických PiTV katalogů se jednorázově migračně odstraní:
com.stremio.onea starý Android Plexcom.plexapp.android; cizí uživatelské Android balíčky se nemažou - staré Store receipts těchto Android variant se také vyčistí, takže se po refreshi nevracejí do stavu „nainstalováno“
- Kodi dostává PiTV appliance defaults pro oba fyzicky ověřené DRM PRIME přepínače (
videoplayer.useprimedecoder=true+videoplayer.useprimedecoderforhw=true); PiTV mění výchozí hodnoty, ne uživatelovy uložené volby - instalace Kodi z PiTV Store zároveň instaluje
kodi-eventclients-kodi-send, takže graceful Quit/Plex ovládání už není závislé na tom, zda balíček náhodou existoval - zachovány jsou opravy z 1.4.20–1.4.25: odinstalace aplikací, glass UI, Kodi-style seznamové Nastavení, Cage fullscreen Waydroid, root-safe Android DPAD relay a persistentní Kodi lifecycle wrapper
- tato verze už nemá žádnou další plánovanou softwarovou opravu z incidentů 2026-09-19/20; další krok je fyzický regresní test na Raspberry Pi 4
PiTV 1.4.25 · univerzální ukončení aplikace + Kodi lifecycle
- krátké Zpět zůstává běžné Back uvnitř aplikace; podržení Zpět 3 s aplikaci skutečně ukončí a vrátí PiTV launcher
- funkce není závislá na Home tlačítku; Home zůstává pouze volitelné pozastavení/multitasking pro ovladače, které ho mají
- návrat do launcheru proběhne okamžitě a cleanup aplikace pokračuje mimo render/input thread
- pokud aplikace po běžném TERM nezmizí do 2,5 s, PiTV použije cílený force fallback; tím se uklidí i procesy odpojené od původního wrapperu
- Android exit zastaví Cage/Waydroid session a po long-Back ukončí také Waydroid container, aby Pi 4 dostalo zpět RAM/GPU stav
- Kodi má nový
pitv-kodi-launch, který sleduje skutečnýkodi.bini když distrokodiwrapper skončí a proces se reparentuje pod PID 1 - Plex/PM4K používá stejný Kodi lifecycle wrapper;
kodi-sendje volitelný pro běžné Kodi a povinný pouze tam, kde ho Plex integrace opravdu potřebuje - stale focus recovery už nenechá skrytou aplikaci suspendovanou; provede deterministické ukončení a návrat do PiTV
- Home obrazovka i dokumentace ukazují nový TV kontrakt: Podrž Zpět 3 s = ukončit aplikaci • PiTV
PiTV 1.4.24 · TV multitasking místo ukončování
- 3sekundové podržení Zpět už aplikaci nezabije: pozastaví ji, vrátí launcher PiTV a aplikace zůstane připravená v paměti
- Kodi/Plex, nativní Stremio, Android/Waydroid a ostatní TV aplikace dostávají vlastní labwc pracovní plochu; PiTV launcher zůstává na samostatné ploše
- Kodi/Plex se při návratu do launcheru suspendují přes SIGSTOP včetně odpojeného
kodi.bin; obraz i zvuk se zastaví a pozice přehrávání zůstane zachovaná - nativní Linux aplikace se po opětovném otevření obnoví přes SIGCONT; přehrávání se samo nespouští, Play zůstává na uživateli
- Android dostane pause-only
KEYCODE_MEDIA_PAUSE (127); Cage + Waydroid zůstávají běžet jako jeden Android multitasking slot - opětovné otevření stejné Android aplikace nebo jiné APK použije existující Waydroid session místo jejího zničení a nového bootu
- dlaždice na Home ukáže stav
POZASTAVENO, pokud aplikace běží na pozadí - Home tlačítko na televizích, které ho mají, používá stejné pozastavení; starší TV bez Home používají univerzální 3s Zpět
- explicitní Ukončit zůstává oddělená recovery/správcovská akce; běžný návrat do PiTV už aplikace neukončuje
PiTV 1.4.23 · 3s Back = vždy zpět do PiTV
- starší TV bez tlačítka Home už nejsou závislé na Home pro opuštění externí aplikace
- krátké Zpět zůstává normální Back uvnitř Kodi, Stremia, SmartTube a dalších aplikací
- podržení Zpět po dobu 3 sekund vždy ukončí právě běžící externí aplikaci a vrátí launcher PiTV
- při držení Back se CEC repeat framy neposílají opakovaně do aplikace; aplikace dostane pouze první krátký Back a PiTV samostatně měří dobu držení
- Android/Waydroid se při nouzovém návratu ukončí včetně Cage session a explicitního
waydroid session stop - Kodi/Plex mají tvrdý fallback pro odpojený
kodi.bin, který se na fyzickém Pi už jednou reparentoval pod PID 1 - nativní Linux Stremio používá při návratu cílený
flatpak kill com.stremio.Stremio - stejné 3s gesto funguje i přes USB klávesnici Back/Escape jako servisní fallback
PiTV 1.4.22 · Waydroid fullscreen isolation
- Android aplikace se už nespouštějí přímo do hlavního labwc compositoru; PiTV používá dokumentovaný Waydroid kiosk/fullscreen model přes nested Cage
- Cage běží jako jediný fullscreen Android povrch uvnitř PiTV a po ukončení aplikace se celý Android compositor/session zavře a vrátí se launcher
- před startem Cage PiTV ukončí starou Waydroid session, aby se nová session svázala se správným nested Wayland socketem
- uvnitř Cage se používá oficiální
waydroid show-full-ui; poté se explicitně nastavípersist.waydroid.multi_windows=falsea až pak se spustí SmartTube / APK / Play Store - přidaný Raspberry Pi preflight: 4 KiB page size a dostupné PSI (
/proc/pressure) před spuštěním Androidu - CEC/DPAD relay do Androidu opraven: upstream Waydroid vyžaduje root pro
waydroid shell, proto PiTV posílá Android keyeventy přes omezený privilegovaný helper - instalátor přidává
cage; labwc automaticky maximalizuje nested wlroots/Cage povrch - změna zachovává nativní Kodi a Linux Stremio přímo v labwc; izolace se týká pouze Waydroid/Android aplikací
PiTV 1.4.21 · Glass UI + seznamové Nastavení
- Home a Nastavení přepracované podle schváleného mockupu: užší glass sidebar, hlubší navy pozadí, průsvitné panely, jemný sheen, tenké hrany a modrý focus glow
- hero panel má nové proporce, editoriální pravý blok, page dots a nativní planet/space artwork bez těžkého obrázkového pozadí
- domovské dlaždice mají jednotnější proporce, sheen a glass focus halo
- Nastavení je nové třísloupcové TV rozhraní: kategorie, detail a živý preview/help panel
- Vzhled nabízí Motiv, Barevný akcent, Velikost dlaždic, Rozložení plochy, Popisky ikon, Hustotu obsahu a Hodiny
- hodnoty se už nepřepínají naslepo šipkami: OK / → otevře viditelný Kodi-style seznam a ✓ označí aktivní volbu
- stejný seznamový model je použit i pro Spořič obrazovky a HDMI audio výstup
- zachované jsou funkční PiTV 1.4.20 odinstalace aplikací a dosavadní CEC/media architektura
PiTV 1.4.20 · Odinstalace aplikací
- Nastavení → Aplikace: šipka doprava otevře potvrzení pro bezpečné odinstalování vybrané aplikace
- Android / APK: nalezené APK lze odinstalovat přímo z TV; PiTV odebere Waydroid package, spravovaný APK soubor i odpovídající Store receipt
- nativní Linux Stremio lze odebrat jako system Flatpak; Kodi jako povolený APT Store balíček
- ochrana brání odebrání systémových Android balíčků/GApps, ale dovolí běžné PiTV Google Play aplikace
- legacy Android Stremio se podle package ID neplete s dnešním nativním Linux Stremio jen kvůli stejnému názvu
Physical Pi 4 checkpoint · 2026-09-19
- PiTV 1.4.19 je na fyzickém zařízení potvrzené;
pitv-session-runa single-user TV session fungují - HDMI zvuk je potvrzený přes PipeWire/WirePlumber a Kodi HDMI sink
- Kodi je po zapnutí obou DRM PRIME voleb plynulé; log potvrzuje
CDVDVideoCodecDRMPRIMEpro H.264 - otevřený problém: CEC nefungovalo už po bootu před spuštěním Kodi;
/dev/cec0, logical address 4 i root monitor jsou přitom aktivní - ruční CEC
activeúspěšně vyslal ACTIVE_SOURCE na 2.0.0.0; další krok je automatické active po register/reconnect a fyzický test po rebootu - samostatný problém: skutečný
kodi.binse může odpojit od sledovaného wrapperu a zůstat pod PID 1; plain Kodi instalace na zařízení navíc nemělakodi-send - úplný diagnostický checkpoint je uložen v
docs/debug-2026-09-19.md
PiTV 1.4.19 · Noble ARM64 update fix
- odstraněna závislost na balíčku wlrctl, který na použitém Ubuntu 24.04 ARM64 nebyl přes APT dostupný a blokoval self-update
- návrat ovládání z Kodi/Stremio se nově pozná přímo podle wtype echo do PiTV, takže není potřeba externí focus utility
- update z PiTV 1.4.10 už nemusí instalovat wlrctl a může pokračovat přes běžné Noble ARM64 balíčky
PiTV 1.4.18 · Full user/session ownership audit
- TV runtime má jednoho vlastníka: uživatel pitv; admin zůstává pouze SSH/recovery a root pouze privilegované/system operace
- labwc, PipeWire, WirePlumber, Kodi, Stremio a Waydroid GUI sdílejí jediný systemd user D-Bus a /run/user/
- odstraněn privátní dbus-run-session a nucený SDL_AUDIODRIVER=alsa; tichý PiTV launcher už neinicializuje audio mixer
- všechny GUI child procesy přepisují HOME/USER/LOGNAME/XDG_RUNTIME_DIR/PULSE_RUNTIME_PATH/DBUS na pitv session
- cizí nebo absolutní WAYLAND_DISPLAY mimo pitv runtime je odmítnut a nahrazen skutečným labwc socketem
- Kodi a Waydroid wrappery odmítnou spuštění mimo uživatele pitv
- sudo pitv-session-run <příkaz> poskytuje z SSH správný kontext TV session pro wpctl a další diagnostiku
- serverové služby Homebridge/Tailscale/Docker/ATVLoadly zůstávají správně systémové/root; APT/Flatpak instalace jsou systémové, ale TV aplikace se spouštějí jako pitv
PiTV 1.4.17 · Session isolation audit
- TV GUI, Kodi, Stremio, Waydroid a PipeWire jsou sjednocené pod uživatelem pitv
- odstraněn privátní dbus-run-session; labwc používá standardní systemd user D-Bus /run/user//bus
- PiTV launcher už neinicializuje pygame audio a autostart nevynucuje SDL_AUDIODRIVER=alsa
- Kodi/Waydroid wrapper odmítne spuštění mimo TV uživatele pitv
- přidán sudo pitv-session-run <příkaz> pro správnou SSH diagnostiku TV session
- přímé spuštění PiTV GUI pod admin/root je blokované, aby nevznikaly druhé HOME/config/audio session
PiTV 1.4.16 · HDMI audio session fix
- automatický HDMI výstup už není závislý pouze na pactl; PiTV používá i wpctl fallback
- installer doplňuje pulseaudio-utils, takže pactl je na nových/aktualizovaných instalacích dostupný
- oprava cílí na stav, kdy Kodi/PiTV běží pod uživatelem pitv, ale diagnostika spuštěná pod admin vidí pouze vlastní Dummy Output session
PiTV 1.4.15 · External app return/focus recovery
- opravuje stav, kdy se po návratu z Kodi launcher zobrazil, ale nereagoval na ovladač
- návrat z externí Linux aplikace se detekuje přímo přes wtype echo bez dalšího Wayland nástroje
- pokud se focus vrátí do PiTV, ale externí session zůstane omylem aktivní, PiTV ji automaticky ukončí a obnoví vlastní CEC/input
- všechny Linux/Waydroid launch cesty používají jednotnou registraci external session
PiTV 1.4.14 · CEC Home / Back
- doplněny všechny běžné HDMI-CEC menu kódy pro tlačítko Home/domeček (Root, Setup, Contents, Favorite, Media Top, Media Context)
- Home v Kodi/externí aplikaci se mapuje zpět do PiTV
- Back na hlavní stránce PiTV už není neviditelný no-op; přesune focus do levého menu
- Home na hlavní stránce resetuje výběr a zobrazí krátké potvrzení Domů
PiTV 1.4.13 · HDMI audio default
- PiTV při startu vybere dostupný HDMI PipeWire/Pulse sink jako výchozí pro Kodi, Stremio a Waydroid
- změna HDMI audio portu v Nastavení se okamžitě promítne do výchozího Pulse sinku
- řeší stav, kdy Kodi vidělo HDMI zařízení, ale zůstalo na Default Output Device bez zvuku
PiTV 1.4.12 · Full Settings audit
- Vzhled: levá/pravá šipka spolehlivě mění Motiv, Velikost dlaždic a Hodiny; Back se vrací
- Spořič: časové hodnoty už nepřetékají z minima na maximum a opačně
- Aplikace: dlouhý seznam má scroll a focus zůstává viditelný
- Síť, Android, Store, Server Store a Systém: dynamické seznamy po refreshi ořezávají neplatný výběr
- Android/APK: nalezené APK lze spustit přes OK; plné Android UI používá validovaný Wayland launch bridge
- O PiTV: levá šipka může bezpečně otevřít sidebar stejně jako ostatní read-only stránky
- config.json: motiv, velikost dlaždic, spořič, HDMI port a další hodnoty se při načtení normalizují do podporovaných mezí
PiTV 1.4.11 · Appearance navigation fix
- opravená levá šipka v Nastavení → Vzhled: Velké → Normální → Malé nyní funguje oběma směry
- stejný konflikt LEFT byl opraven také u nastavení Spořiče a HDMI audio portu
- Back zůstává návrat o úroveň zpět, takže šipky ←/→ mohou bezpečně měnit hodnoty
PiTV 1.4.10 · TV runtime incident fixes
- opravené HDMI-CEC OK / Zpět: vlastní parser cec-ctl, split-event i raw fallback
- vypnutý kernel RC passthrough; PiTV je jediná překladová vrstva pro TV ovladač
- CEC monitor se po HDMI/CEC resetu automaticky znovu připojí
- Linux aplikace před startem ověřují XDG_RUNTIME_DIR + WAYLAND_DISPLAY a zapisují chybu do launch logu
- Waydroid čeká na Session: RUNNING a sys.boot_completed=1, ověřuje package ID i skutečné spuštění aplikace
- Android TV ovládání používá nativní DPAD_CENTER/BACK keyeventy
- Plex Player automaticky instaluje kodi-send; Store/CI odpovídá Linux Stremio + Kodi/PM4K architektuře
- self-update je připnutý na konkrétní commit SHA a kontroluje bezpečnost ZIP cest/velikosti
- APK Store ověřuje SHA-256 digest GitHub Release assetů; přímé APK vyžaduje SHA-256
Aktuální průběžná testovací verze PiTV. Pi 4 je hlavní a doporučený cíl.
Aktuálně
- PiTV SD Installer pro Windows v0.28
- výběr Raspberry Pi 3 / 3B+, Pi 4 nebo Pi 5
- Pi 3 a Pi 5 jsou zatím experimentální Alpha cíle
- automatické vyhledání Wi-Fi + načtení uloženého hesla
- zobrazení hesla před zápisem
- online Ubuntu Server 24.04 ARM64 nebo vlastní kompatibilní image
- trvalá cache stažených image v
%LOCALAPPDATA%\PiTV\images - stejná ověřená image se při dalším zápisu nestahuje znovu
- vlastní PiTV raw writer — Raspberry Pi Imager už není potřeba
- vlastní lehký
PiTV-XZ.exepro.img.xz— žádný Rufus, Raspberry Pi Imager ani externí XZ nástroj - podpora
.img,.img.xz/.xza ZIP s jedním.img - SHA-256 kontrola image a úplné read-back ověření SD po zápisu
- bezpečné formátování SD karty
- kontrola identity cílového disku před destruktivní operací
- viditelný progress jednotlivých fází
- rozšířená diagnostika + ODESLAT CHYBU
- automatické vložení cloud-init, Wi-Fi a instalace PiTV
Instalace
Stáhni PiTV-SD-Installer-Windows.zip, rozbal celý ZIP a spusť Start-PiTV-SD-Installer.cmd.
Alpha se průběžně aktualizuje. Stejný release a stejný soubor vždy obsahují aktuální testovací verzi.
-
vlastní uživatelské jméno a heslo pro správu PiTV se zadávají před vytvořením SD
-
ověření zápisu nyní čte přes stejný otevřený PhysicalDrive handle; tím se vyhne okamžité chybě některých USB/SD čteček po dokončení raw zápisu
-
v0.24: pro výměnná média se fallback už nesnaží svazky dismountovat; pouze je zamkne a drží PhysicalDrive handle otevřený přes zápis i ověření, aby USB/SD čtečky nespadly do stavu „Zařízení není připraveno“
-
v0.28: po raw zápisu installer čeká na stabilní návrat boot oddílu, při transientní chybě provede automatický
diskpart rescan+ až 3 finalize pokusy, cloud-init zapisuje sFlush(true)a read-back SHA-256; ruční OPRAVIT už nemá být nutný po běžném zápisu -
ODESLAT CHYBU nyní předvyplní do GitHub issue krátkou diagnostiku; celý report zůstává zároveň ve schránce a lokálním souboru