Předchozí OPi Zero se stejným SoC (H616 vs. H618 se prej liší jenom velikostí cache):
Mainline kernel does not support wireless, HDMI, … It is useful for server case scenarios.
Takže… jakej kernel dodává výrobce a jak moc velká bolest je to používat? Klasický problém s těmito ARMy…
11. 9. 2023, 19:46 editováno autorem komentáře
Coz o to, otestovani/doplneni funkci by bylo, ale upstreaming/mainlining proces je problem.
https://forum.armbian.com/topic/26290-h616-mainlining-effort/
Můžete to nějak rozvést? Já právě Allwinnery preferuju, protože ty nejběžnější mají v mainline naprosto neprůstřelnou podporu. Klasické i automotive A64 nebo H5/H6 koupíte od alibaba obchodníků za méně než dolar i v kusovkách, integruje se to bez potíží i na levné čtyřvrstvé desky s DDR3, a v Linuxu/ubootu je to plně podporováno (a odladěno) roky. Pro IoT startupy naprostá paráda. A když nechcete dělat desku, tak máte na výběr ze stovek existujících SBC.
S výše uvedeným H61x jsou ty starší čipy srovnatelné jak výbavou (periferiemi), tak spotřebou (stejná čtveřice A53 a stejná litografie).
Záleží na co to chcete používat. Většinou je to tak, že Allwinner udělá čip a trvá strašně dlouho než k němu udělá ovladače. Je to úplně absurdní ty ovladače by měl dělat Allwinner, ale ten to má naprosto u zadku včetně porušování GPL. Mám H3, který už podporu má nějakou podporu, ale trvalo to asi 5 let než se to povedlo. Grafika nevím jestli už funguje to jsem za tu domu vzdal. Stále např. nefunguje audio přes HDMI. A když se všechno dotáhne vydá Allwinner novou verzi a celé kolečko začíná znova. Na jeden projekt jsme zkoušeli právě jeden z těch čipu pro automotive a ten byl taky pěkně starý a podpora skoro žádná. Nakonec jsme to vzdali.
Ono hlavní je, jak je ta podpora přidaná (tedy jestli splňuje požadavky na začlenění a na dlouhodobou udržitelnost) a jak se o ní správce stará.
Začlenění driveru pro náš vlastní CTU CAN FD řadič proběhlo po mnoha iteracích v roce 2022. Přitom plně funkční byl driver v roce 2018. Ano nikdo na později nebyl placený, a nikdo se tomu nevěnoval fulltime.
Stejně tak funkční emulaci SJA1000 CAN řadiče do QEMU jsme měli od mnou vedeného GSoC z roku 2013, ale v rámci volných chvil jsem to drobnými opravami dostal do stavu, kdy jsem mohl kód nabídnout a po několika iteracích byl přijatý do mainline v roce 2018. Teď nad tím staví XiliX/AMD atd...
Fully preemptive kernel, na kterém jsou již desetiletí závislé obráběcí troje a další největších strojírenských firem, se do mainline od verze jádra 2.6. Thomas Gleixner říká, že to do mainline nepatří ne jen do doby, kdy bude základ v pořádku, což již je, když se smíříme s latencemi v sítích, grafice a dalším, ale také jen za podmínky, že neobhospodařovaná úprava nebude škodit zbytku jádra. Takže podmínka, alespoň milión EUR ročně na správu po začlenění...
Jinak o se týče Allwineru, tak nám jak 64-bit tak 32-bit verze z čistého mainline dobře slouží. Nevím jak grafika, tu jsem nepotřeboval. A Sunxi komunita dělá mnoho dobré práce a to především asi v dobrovolnickém režimu.
Naopak jedna z největších tragédií je Raspberry Pi, které lidi a i velké firmy bez ochoty se něco dozvědět tak rádi používají. Jeho divergence od mainline jádra byla vždy veliká. Chybělo toho moc, třeba real-time patche jsem na to adaptoval několikrát a bylo to dobrodružství. Přitom Broadcom asi není tah chudý, aby pár lidí neuplatil a dokonce to i dělá, ale na jednu stranu opravdu je třeba ta grafika náročná a na druhou stranu možná ani vlastní Raspberry Pi Foundation ani obecně k ekosystému společnému s ostatními přispívat nechce.
Takže většina čipů Allwinner mi proti RPi připadá jako méně problematická volba...
Obecně pak budu citovat kolegu "Správná funkce kódu je podmínka nutná, nikoliv postačující" ... pro použití v aplikaci, která něco řídí nebo i jen má jít roky udržovat.Ale přesvědčit třeba i jen mnoho studentů, kteří se cítí povolaní být chloubou IT a AI nebe, tom, že by měli vědět jaké má jejich kód následky na práci (často zbytečnou) CPU, je problém.
"Ale přesvědčit třeba i jen mnoho studentů, kteří se cítí povolaní být chloubou IT a AI nebe, tom, že by měli vědět jaké má jejich kód následky na práci (často zbytečnou) CPU, je problém."
Takovych najdes spoustu i tady, treba tech, co ti budou tvrdit, ze switch contextu je vlastne operace na par cyklu tudiz uplne zadarmo ...
Jo tohle je tradiční problém u téměř všech novějších, nebo méně rozšířených čipů. Pokud nechcete zůstat viset na jednom patchsetu od výrobce ke konkrétnímu krenelu.
Na zjišťování mainline podpory jednotlivých zařízení u konkrétního SoC se docela hodí tahle wiki:
https://linux-sunxi.org/Linux_mainlining_effort
Je to docela často aktualizované.
Samozřejmě vždycky bude záležet na konkrétním použití, někomu může stačit třeba úplný základ (boot, řízení frekvence CPU, sériáky a síť), ale nezajímají ho audio, video zařízení nebo HW šifrování atp.
Další věc je, jak je to implementováno, i známí a velcí výrobci (namátkou TI, Broadcom, Samsung) můžou mít některé ovladače dost problematické, ať už tím, že je jsou tam navěky TODO části, nebo že ten konkrétní čip/firmware má třeba nějaký bug, který je pak v ovladači třeba obcházet. To se sice nemusí projevit pro každé použití, ale když třeba chcete spolehlivé isochronní USB přenosy (audio, kamery) nebo DMA, aby to nevyhnojilo komplet CPU, nemusí to být vždycky v pohodě.