05.10.2026, 20:50
@mlebeda: vypadá to, že alespoň v Kodi 22 beta 2 s ISA 22.3.22 ve Windows problém není.
|
Hodnocení tématu:
Prima+
|
(05.10.2026, 20:50)waladir Napsal(a): @mlebeda: vypadá to, že alespoň v Kodi 22 beta 2 s ISA 22.3.22 ve Windows problém není.
Citace:Kodi freezes ~5 s into playback when switching to 2880x576p50hz (S905X5M, 22.0 nightly 20261002)
Device: S905X5M (dt-id s7d_s905x5m_4g_1gbit)
Build: CoreELEC 22.0-Piers_nightly_20261002, kernel 5.15.196,
common_drivers 4dbe1c27ae176fde4c1cbef7506618fd7f62b976
Sink: Denon AVR (EDID name “DENON-AVR”)
Full dmesg: https://paste.coreelec.org/2/e5uk
How I found it:
I use the Prima+ add-on (Czech streaming service iPrima):
GitHub - waladir/plugin.video.primaplus · GitHub (v1.5.5)
It only resolves a DASH (Widevine) stream and hands it over to inputstream.adaptive.
When I start an episode of some shows (tested with “ANO, šéfe” and “Zrádci”),
video and audio play normally for about 5 seconds, then the whole of Kodi
freezes (not just the add-on). It started with newer CoreELEC 22 nightlies (about one or two weeks ago).
At first I suspected the add-on, but dmesg shows the problem is in the
HDMI mode switch.
What happens (from dmesg):[65.874235] [drm:meson_hdmitx_decide_color_attr] ERROR invalid vic for 2880x576p50hz
- 59.73 s playback starts, ammvdec_h264 decodes 1024x576 without errors
- 60.16 s VIDEO_START
- 65.87 s Kodi stops audio and tries to switch the output mode
(“Adjust display refresh rate”) for the SD 576p/25fps content:
[65.874300] [hdmitx:] HDMITX_ERROR hdmitx_common_validate_mode_locked: get vic from (2880x576p50hz) fail
[65.874312] [drm:meson_hdmitx_encoder_atomic_check] ERROR validate_mode fail for [2880x576p50hz-444,10bit]
After that nothing more is logged and Kodi stays frozen.
HD content does not trigger it, because no switch to a 576p mode happens.
Possible root cause:
The EDID of the AVR advertises VIC 38 (2880x576p50 16:9) but not VIC 37 (4:3).
In hdmitx_mode.c both VIC 37 and VIC 38 share the same name “2880x576p50hz”,
so hdmitx_mode_match_timing_name() returns the first match, VIC 37.
hdmitx_get_prefer_vic() has no 37/38 pair (only 480i/480p/576i/576p pairs),
so VIC 37 is checked against the EDID, is not found, and
hdmitx_common_parse_vic_in_edid() returns HDMI_0_UNKNOWN. The mode is
offered to Kodi, but can never be set. The same probably applies to
2880x480p60 (VIC 35/36; this EDID has only VIC 36).
In addition, Kodi does not recover from the failed atomic modeset and hangs.
cat /sys/class/amhdmitx/amhdmitx0/disp_cap > /storage/.kodi/userdata/disp_capsystemctl restart kodi
(06.10.2026, 12:22)JiRo Napsal(a): @mlebeda: Trochu podobný problém (ve svých důsledcích) mívám na LibreELEC s dekódérem Prime. Primární důvod je sice jiný, důsledky podobné (Kodi nespadne, ale celé se restartuje). Ale odpomůže tomu vypnutí daného dekodéru. Bohužel to ale není finální řešení, protože jsou zase videa, která naopak tento dekodér vyžadují.
Ale co zkusit ještě jinou věc. Selektovat automaticky získaná EDID data z TV tak, aby Kodi dostávalo jen to, co skutečně na dané configuraci funguje? U *ELEC systémů to jde poměrně jednoduše.
V CoreELEC (pozor, v LibreELEC se to dělá jinak) k tomu slouží soubor /storage/.kodi/userdata/disp_cap. V tom je třeba ponechat jen ty kombinace, které nezpůsobují v Kodi problémy. Primárně se soubor vytvoří pomocí systémového příkazu:
Kód:cat /sys/class/amhdmitx/amhdmitx0/disp_cap > /storage/.kodi/userdata/disp_cap
Pak je třeba ze získaného souboru pomocí textového editoru smáznout ty kombinace nastavení zobrazení TV, které necheš, aby Kodi bralo v úvahu. Následovat musí restart Kodi! V *ELEC tedy pouze ze systému pomocí:
Kód:systemctl restart kodi
nebo můžeš restarovat celý box.
Samozřejmě o ten profil TV zobrazení, který v soubor disp_cap smázneš, přijdeš. Ale Kodi by si s tím mělo poradit, jak to dělá i v jiných případech. Použije profil jiný (podle svého algoritmu výběru a aktuálního nastavení v Systém a Přehrávač) a provede pak při přehrávání videa rescaling.
Neříkám, že to tvůj problém vyřeší určitě, ale je to jedna z možností, kde by se to mělo zkusit. A podle mě velmi pravděpodobně i podařit.
(06.10.2026, 21:33)JiRo Napsal(a): No, jeste jsem o tom premyslel, a byla.to ode mne asi spatna uvaha. Tohle asi opravdu tvuj problem nevyresi. Pomohlo by to napr. kdyby TV nedokazala video zobrazit. Tak se omlouvam.
2160p60hz
2160p50hz
2160p30hz
2160p25hz
2160p24hz
1080p60hz
1080p50hz
1080p30hz
1080p25hz
1080p24hz
1920x1080p120hz
1920x1080p100hz(08.10.2026, 22:32)JiRo Napsal(a): Ale vždyť před tím jsi psal, že to nepomohlo, a uváděl jsi, že v dis_cap jsi ponechal:
Kód:2160p60hz
2160p50hz
2160p30hz
2160p25hz
2160p24hz
1080p60hz
1080p50hz
1080p30hz
1080p25hz
1080p24hz
1920x1080p120hz
1920x1080p100hz
A teď píšeš, že když jsi ponechal 1080 a 4K, tak padání přestalo. Ale v tom seznamu výše jsou jen samé 1080 a 4K. Tak tomu nerozumím...
O tom, že filtrace na úrovni dis_cap už v aktuálně používaných linux jádrech nefunguje, jsem netušil. A pak hlavně, nevšiml jsme si, že tvá věta začíná Whitelist...