Vývojári projektu Asahi Linux, ktorý sa zaoberá portovaním Linuxu na počítače Mac s ARM čipmi Apple Silicon, oznámili prechod z používania permissívnej licencie MIT na copyleft licenciu GPLv2+. Toto rozhodnutie bolo prijaté vzhľadom na snahy o zneužívanie ich práce na vlastné obohatenie. Niektorí nečestní výrobcovia zneužívajú práva poskytované licenciou MIT a preberajú dielo Asahi na vytlačenie pôvodného projektu a agresívnu monetizáciu Linuxu na systémoch s čipmi Apple Silicon.
V niektorých prípadoch sa tvorcovia komerčných klonov kopírovali ešte surový kód z osobných forkov vývojárov Asahi, na ktorých sa stále pracuje, a zároveň publikovali odvodené dielo bez uvedenia autorstva alebo prepisovali kód pomocou AI nástrojov, aby skryli preberanie kódu z iného projektu. Licencie MIT takýmto manipuláciám dovoľujú a nechránia pred zneužívaním cudzej práce.
Pôvodne projekt Asahi zvolil licenciu MIT na podporu a prilákanie vývojárov z BSD systémov a iných voľných OS, avšak v súčasnej dobe sa projekt ocitol bezbranný voči nečestnému využívaniu. Zaujímavé je, že v roku 2002 sa projekt Wine stretol s podobnou situáciou, keď musel zmeniť licenciu z MIT na LGPL, aby čelil vzniku proprietárnych fork-ov, chránil ekosystém pred fragmentáciou a povzbudzoval prenos zmien do hlavného projektu.
Okrem oznámenia o zmene licencie projekt Asahi Linux informoval o vykonanej práci za posledné mesiace. Medzi dosiahnuté úspechy patrí:
- Do hlavného jadra boli pridané ovládače macaudio (audiová subsystém) a avd (Apple Video Decoder), pričom patchy s ich implementáciou obsahujú približne 3100 a 13000 riadkov kódu. Pridali sa základné popisy DeviceTree pre zariadenia M4 Pro, M4 Max a M5. Kde to bolo možné, vývojári Asahi začali uplatňovať stratégiu upstream-first, pri ktorej sa zmeny od začiatku vyvíjajú v hlavnom jadre. Táto stratégia bola uplatnená na vývoj ovládačov TI USB-PD, SPMI a Thunderbolt.
- Podpora čipov M3 bola stabilizovaná a zbavená označenia experimentálneho vývoja. V porovnaní s predchádzajúcou správou bola zavedená podpora displejového procesora (DCP), vďaka čomu sa podarilo zvýšiť výkon, predĺžiť výdrž batérie, umožniť prechod do spánkového režimu a pridať možnosť využívania oblasti okolo "notch" s kamerou na obrazovkách MacBook.
- Riešil sa problém s reverzným inžinierstvom čipov M5, na ktorých sa začali používať miniaplikácie v izolovaných enclaveách, riadených mikrojadrom Secure Kernel a používaných na úlohy ako indikácia zapnutia kamery. Podarilo sa súčasne spustiť tri virtuálne stroje pod riadením bootloadera m1n1 pre Secure Kernel, enclave a macOS s SPTM.
- Pokračuje reverzné inžinierstvo GPU čipov M3, ktoré sa výrazne odlišujú od M1 a M2. V bootloaderi m1n1 bola implementovaná inicializácia GPU a pridaná podpora na vykresľovanie základných primitív.
- Na jadro Linux boli zaslané patche na podporu ovládača Thunderbolt, ktorý sa odlišuje od ovládačov Intel a neštandardne je spojený s modulom správy spotreby (PMGR). Momentálne sú podporované len USB3, XDomain a prenos siete cez Thunderbolt (nefunguje prenos PCIe a DisplayPort).
- Pokračuje vývoj projektu na spúšťanie hier Windows bez virtuálneho stroja. Problém vznikol preto, že hry Windows zostavené pre architektúru x86 sú navrhnuté pre pamäťové stránky 4K, zatiaľ čo systémy Apple používajú stránky s veľkosťou 16K. Na obídenie nezhody vo veľkosti strán pamäte sa spúšťal virtuálna mašina s ďalším jadrom Linux, zostaveným s inou veľkosťou strán pamäte, čo viedlo k poklesu výkonu hier približne o 20%.
Na obídenie tohto obmedzenia vývojári Asahi portovali funkčnosť P3S (Per Process Page Size), prítomnú v jadrách platformy Android, ktorá umožňuje meniť veľkosť strán pamäte v súvislosti s jednotlivými procesmi. S využitím tejto funkcie bez virtuálneho stroja muvm sa podarilo spustiť také hry ako Star Wars Battlefront, Wolfenstein: The New Order, GTA IV a Fallout: New Vegas.
- Pomocou SIMD inštrukcií bola optimalizovaná implementácia priestorového audiokontrola (beamformer) pre mikrofóny MacBook, čo takmer zdvojnásobilo rýchlosť spracovania zvuku a znížilo zaťaženie CPU.
Zdroj: opennet.ru
