Pokud sledujete dění v jablečném světě, tak vám zajisté neuniklo představení zbrusu nového čipu M1, který je první z rodiny Apple Silicon. Tento čip je v současné době osazen v nejnovějším MacBooku Air, 13″ MacBooku Pro a v Macu mini. O tom, že by měl Apple uskutečnit přechod na vlastní ARM procesory, se šuškalo již po dobu několika let. Letos v červnu pak kalifornský gigant přechod oznámil a my jsme se oficiálně dočkali. Nutno však podotknout, že přechod na vlastní ARM procesory není jen tak. Využívá se totiž jiná architektura, na které klasicky nemohou fungovat aplikace z architektury x86, tedy aplikace běžící na procesorech Intel.
Apple už jeden podobný přechod za sebou má – konkrétně před více než 15 lety přešel z procesorů PowerPC na Intel, kde byl problém naprosto stejný. Vývojáře aplikací ale jablečná společnost nenechala na holičkách, jelikož vyvinula binární překladač s názvem Rosetta. S pomocí něj bylo možné automaticky přeložit kód z procesorů PowerPC na procesory Intel, takže spuštění starších aplikací nebyl žádný problém. Stejně se rozhodl Apple pomoci i při přechodu z Intelu na Apple Silicon a představil tak překladač Rosetta 2, který podle posledních informací funguje velice spolehlivě. Zajímavý je poté fakt, že se na internetu objevilo video, ve kterém došlo ke spuštění hry Team Fortress 2 na MacBooku Air s procesorem M1. Nutno podotknout, že klasicky si tuto hru v macOS nezahrajete.
Za tento „úspěch“ může speciální software CrossOver, který je založen na projektu Wine. CrossOver dokáže spustit aplikace z Windowsu v macOS, a to překladem API z Windows do jejich ekvivalentů na Macu. Za zmíněným softwarem stojí vývojáři z Codeweavers, kterým se podařilo jeho poslední verzi spustit na nejnovějším MacBooku Air s procesorem M1, a to prostřednictvím zmíněného binárního překladače Rosetta 2. Pozoruhodný je fakt, že se tohle podařilo právě na nejlevnějším MacBooku Air, který má deaktivované jedno jádro GPU, a u kterého dochází k určitému snižování výkonu v závislosti na vyšších teplotách – nejnovější Air totiž nedisponuje ventilátorem, ale pouze pasivním chladičem.
MacBook Air M1 (2020):
Ve výše zmíněném případě, tedy při spuštění Team Fortress 2, dochází při využití softwaru CrossOver k velmi složitým překladům. Prvně je nutné podotknout, že je Team Fortress 2 k dispozici pouze jakožto 32-bitová aplikace. Od macOS 10.15 Catalina však Apple přestal 32-bitové aplikace podporovat, takže prvně dochází pomocí projektu CrossOver k emulaci ze 32-bitové verze na 64-bitovou. Nakonec pak ještě prostřednictvím Rosetta 2 dochází k dalšímu překladu, a to na architekturu, kterou využívá Apple Silicon. Všechny tyto procesy jsou vcelku náročné, a proto je velmi pozoruhodné, že na videu běží Team Fortress 2 relativně dobře, byť s určitými záseky a pády FPS – opět ale opakujeme, že hra byla spuštěna na základním MacBooku Air. Údajně byli vývojáři stejným způsobem schopni spustit také Quicken, Among Us či The Witcher 3.
CrossOver umožňuje DiretX? Pokud ano tak jakou verzi?
Od verze 20 ( Pouze DX 11 )
DirectX 11 se převádí do Vulkanu přes DXVK, a Vulkan se převádí do Metalu přes MoltenVK. Ten nedávno začal podporovat standard Vulkan 1.1 a tak je podpora DXVK vůbec možná.
Kedze je to komercne Wine, tak podpora windows aplikacii je loteria..
Problém som mal len s grafickými aplikáciami. Bohužiaľ, veľa ľudí potrebuje práve tie. Takže je síce super, že si zahrám GTA V v 4K lepšie ako na Windowse, ale keď tam neotvorím programy, s ktorými potrebujem pracovať… Je to škoda, no.
Poprosím o video ako hráte GTA V v 4K na M1 MacBooku Pro/Air/Macu mini. Zdá sa mi to byť nereálne alebo som zle pochopil Vašu myšlienku?
Treba povedať, že práve to, že ide o 32 bitovú aplikáciu umožnilo spustenie na ARM, keďže je ľahšie napísať 32 bitový x86 emulátor pre ARM ako 64 bitový (Windows 10 ARM podporuje práve len 32 bitové x86 aplikácie). A čo sa týka samotnej hry, tak to je bez pochýb zaujímavé, ale ako bolo aj v článku – je to v podstate emulácia v emulácii, takže 85% výkonu sa stratí v procese emulácie (hw požiadavky tej hry sú 512MB RAM a Pentium 4 1,7GHz a aj tak seká).
Wine predsa nema problem aj s x64 aplikaciami! Kedze Crossover Wine verzia je x64, tak neprebieha v nom ziadna emulacia ARM (tu zabezpecuje az Rosetta 2).
Niekde sa vyjadroval developer Wine, urobit nativny M1 build je velky problem (hoci podpora Wine pre ARM architekturu je uz 10 rokov).. inak by Crossover nepouzival Rosettu 2 (a rapidne znizoval vykon).
Zkousel jsem nejake aplikace a bohuzel , nefungovalo. Aspon to co potrebuju ja, takze nepouzitelne.
A já hraju gta v na zubním kartáčku v 8k, běží to lépe jak na Windows
Problém je v tom že 32 bit aplikace pro X86 v zásadě přeložit ev. emulovat na ARM problém není . Samotný problém nastává s framevork a s aplikacemi 64 bit ptáte se proč mno právě proto že rozdělit dlouhý kód je těžší než rozdělit krátký ARM obecně zpracovává mnoho krátkých instrukcí a čím je kód komplexnější tím těžší je ho rozložit . Jinak řečeno ty emulátory fungovat nikdy nebudou a pokud tak z významnou ztrátou výkonu a nekorektně je to jen pohádka , kterou krmí Apple i OVCE před tím než jim prodá M1 . Problém M1 je že se prostě pro něj bude muset vše napsat znovu a od základů nejde nic přeložit tak , aby to bylo dobré nebo dokonce dokonalé . Kdo si koupil M1 misí prostě pochopit že bude používat jen aplikace pro M1 !
Moje zkušenost s MacBookem s M1 čipem je tedy jiná. Kromě 32 bit her spustím všechny aplikace, které potřebuji k práci, dokonce se normálně připojím na win servery v práci a vzdálené připojení. Prostě nemám jiný uživatelský zážitek ve srovnání s MacBookem na Intelu. A běžně spouštím aplikace, které nejsou napsané pro ARM – o to se postará Roseta a to bez pocitu ztráty výkonu. Buď máte nějakou specifickou zkušenost, a nebo (a to si spíš myslím) nemáte delší zkušenost s MacBookem na M1 čipu.
Bez urážky mi Vás příspěvek připadá víc pohádka než opravdová zkušenost.