Darling: a może by tak uruchomić oprogramowanie dla Maka na Linuksie?

Darling: a może by tak uruchomić oprogramowanie dla Maka na Linuksie?

10.12.2012 18:29, aktualizacja: 10.12.2012 18:46

Kupować Maka (szczególnie z linii Pro) tylko po to, byuruchamiać na nim flagowe oprogramowanie dla komputerów Apple,takie jak Final Cut czy Logic Pro – zdaniem wielu nie ma tofinansowego sensu. Czym są dziś bowiem maszyny od Apple'a? Wpraktyce to zwykłe, ładnie zrobione PC, korzystające z tych samychpodzespołów co maszyny produkowane przez Della, HP czy inne Lenovo.Wyróżniają się przede wszystkim ceną (najtańsza wersja w naszymkraju kosztuje około 11 tys. złotych) oraz własnościowym,autorskim systemem operacyjnym Apple'a. Nie dziwi więc, żepopularny serwis dla filmowców-amatorów otwarcieradzi, by zamiast kupować dekstopowego Maka, zbudować sobieHakintosza, czyli zwykły komputer PC, na którym uruchomiony zostajesystem OS X. Taka konstrukcja charakteryzuje się nieporównywalnielepszym stosunkiem wydajności do ceny.Z Hakintoszami jest jednak trochę problemów, o czym mógł sięprzekonać niemal każdy, kto pobrudziłsobie ręce przy OSX86. System Apple'a jest precyzyjniedostrojony do niewielkiej liczby procesorów, płyt głównych,układów graficznych i innych podzespołów, jakie spotyka się wprawdziwych Makach. Rzadko kiedy na pierwszym z brzegu PC udało siębezproblemowo zainstalować OS-a X. Czy nie byłoby wspanialej,gdybyśmy mogli makowe oprogramowanie uruchomić np. na stabilnym,dobrze „ogarniającym” nasz sprzęt Linuksie, tak jak dziśuruchamia się na Linuksie setki aplikacji napisanych dla Windows? W 1993 roku dwóch programistów, Bob Amstadt i Eric Youngadalewymarzyło właśnie sobie, by uruchamiać aplikacje dla Windows naLinuksie (i innych systemów uniksopodobnych). Budowa emulatora wtamtych czasach nie miała sensu – ze względu na różnice międzyarchitekturą obu systemów operacyjnych, narzut na tak uruchamianeaplikacje byłby tak duży, że w praktyce nie dałoby się na takuruchamianych aplikacjach pracować. Obaj panowie wymyślili więc,by zaimplementować od podstaw opensource'ową wersję WinAPI dlaśrodowiska X11. Efekt ich prac, znany pod nazwą Wine (rekursywnyakronim od Wine Is Not an Emulator), to warstwa kompatybilności,zapewniająca alternatywne wersje bibliotek DLL Microsoftu orazproces podmieniający wywołania do jądra Windows NT. Doprowadzenie Wine do stanu używalności, tak by mogło onouruchamiać coś więcej niż Kalkulator zajęło wiele lat, a to zasprawą niekompletności dokumentacji interfejsów programowaniaWindows i licznych w ogóle nieudokumentowanych funkcji i błędów,które należało odtworzyć, by oprogramowanie dla „okienek”dało się uruchomić. Dopiero w 1998 roku udało sięzaimplementować podstawowe wsparcie dla Direct3D, zaś aż 11 latpotrzeba było, by w 2004 roku po raz pierwszy uruchomić pod Winepakiet Microsoft Office. Dzisiaj jednak Wine to już naprawdędojrzały projekt, pozwalający na uruchamianie na Linuksie ponad 10tysięcy aplikacji dla Windows (w tym ponad trzechtysięcy bezbłędnie, na poziomie Platinum).Ile lat zajmie wprowadzenie naLinuksa aplikacji dla OS-a X? Spore zainteresowanie tą kwestiąwzbudził nowy projekt czeskiego programisty, Luboša Doležela. Podnazwą The Darling Project rozpoczął on prace nad warstwą binarnejkompatybilności dla aplikacji OS-a X i Darwina (systemu stanowiącegoopensource'owy rdzeń OS-a X). Docelowo Darling ma zapewnićkompletny zestaw zrekonstruowanych bibliotek i frameworków, tak byplik uruchamialny OS-a X mógł zostać załadowany do pamięci iwykonany przez jądro Darwina pod kontrolą Linuksa, bez koniecznościwprowadzania jakichkolwiek łatek. [img=darling]Na razie sytuacja przypominatrochę początki Wine. Na całego Darlinga składa się na raziedynamiczny loader plików wykonywalnych w formacie Mach-O, narzędziado przeglądania takich plików i zestaw bibliotek pozyskanychczęściowo z Darwina, a częściowo z opensource'owej implementacjiframeworku Cocoa i kodu z projektu GNUStep (wykorzystywanego głównie do uruchamiania kodu w Objective-C).Teoretycznie możliwe będzie na Darlingu też uruchamianie aplikacjiskompilowanych dla iOS-a, choć ktoś musiałby pomęczyć się zprzeniesieniem części kodu na architekturę ARM i odtworzeniemspecyficznych bibliotek interfejsu użytkownika tego systemu – samDoležel twierdzi, że nie jest tym specjalnie zainteresowany,ponieważ to i tak Android dominuje na rynku urządzeń mobilnych(inna sprawa, że ktośjuż pracuje nad uruchamianiem iOS-owych aplikacji na Linuksie)Pomysł to nadzwyczaj ciekawy,szczególnie że platforma Apple'a pełna jest świetnych aplikacji,które raczej nigdy nie pojawią się na Windows, nie mówiąc już oLinuksie. To nie tylko giganty w rodzaju wspomnianych Final Cuta czyLogic Pro, ale też świetny GarageBand (nic porównywalnego dlamuzyków-amatorów po prostu nie istnieje), Keynote (przy którymPowerPoint, nie mówiąc już o Impress z LibreOffice, wyglądaraczej marnie), czy Aperture (najlepszy chyba program do wywoływaniazdjęć i zarządzania nimi). Trzeba jednak pamiętać, żepodobieństwa między OS-em X a Linuksem są jedynie bardzopowierzchowne. Zgodność z POSIX nie wystarczy, aplikacje dla Makakorzystają z licznych API, które daleko wyszły poza to, co byłodostępne w czasach NeXT-a. Ich przeniesienie można porównać dopróby przeniesienia całego Gnome/Gtk czy KDE/Qt na inne platformy,tylko na podstawie zgadywania, bez dostępu do kodu źródłowego. Dodatkowo pozostaje problemnieustannego zrywania z wsteczną kompatybilnością na Makach (Applepod tym względem znacznie mniej się przejmuje, niż Microsoft)...oraz polityka samej firmy z Cupertino, wyjątkowo niechętnejwszelkim pomysłom, które mogłyby naruszyć jej cenny monopol naekosystem Maka. To, że autor Darlinga żyje poza USA niewielezmienia – jest raczej pewne, że gdy tylko projekt osiągniedojrzałość, Apple zrobi wszystko, by go pogrzebać...Póki co, zapraszamy na wikiprojektu – http://darling.dolezel.info/en/.

Źródło artykułu:www.dobreprogramy.pl
Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Wybrane dla Ciebie
Komentarze (52)