r   e   k   l   a   m   a
r   e   k   l   a   m   a

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

Strona główna Aktualności

Kupować Maka (szczególnie z linii Pro) tylko po to, by uruchamiać na nim flagowe oprogramowanie dla komputerów Apple, takie jak Final Cut czy Logic Pro – zdaniem wielu nie ma to finansowego sensu. Czym są dziś bowiem maszyny od Apple'a? W praktyce to zwykłe, ładnie zrobione PC, korzystające z tych samych podzespołów co maszyny produkowane przez Della, HP czy inne Lenovo. Wyróżniają się przede wszystkim ceną (najtańsza wersja w naszym kraju kosztuje około 11 tys. złotych) oraz własnościowym, autorskim systemem operacyjnym Apple'a. Nie dziwi więc, że popularny serwis dla filmowców-amatorów otwarcie radzi, by zamiast kupować dekstopowego Maka, zbudować sobie Hakintosza, czyli zwykły komputer PC, na którym uruchomiony zostaje system OS X. Taka konstrukcja charakteryzuje się nieporównywalnie lepszym 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 precyzyjnie dostrojony do niewielkiej liczby procesorów, płyt głównych, układów graficznych i innych podzespołów, jakie spotyka się w prawdziwych 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 Youngadale wymarzyło właśnie sobie, by uruchamiać aplikacje dla Windows na Linuksie (i innych systemów uniksopodobnych). Budowa emulatora w tamtych czasach nie miała sensu – ze względu na różnice między architekturą obu systemów operacyjnych, narzut na tak uruchamiane aplikacje byłby tak duży, że w praktyce nie dałoby się na tak uruchamianych 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 (rekursywny akronim od Wine Is Not an Emulator), to warstwa kompatybilności, zapewniająca alternatywne wersje bibliotek DLL Microsoftu oraz proces podmieniający wywołania do jądra Windows NT.

Doprowadzenie Wine do stanu używalności, tak by mogło ono uruchamiać coś więcej niż Kalkulator zajęło wiele lat, a to za sprawą niekompletności dokumentacji interfejsów programowania Windows 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 lat potrzeba było, by w 2004 roku po raz pierwszy uruchomić pod Wine pakiet Microsoft Office. Dzisiaj jednak Wine to już naprawdę dojrzały projekt, pozwalający na uruchamianie na Linuksie ponad 10 tysięcy aplikacji dla Windows (w tym ponad trzech tysięcy bezbłędnie, na poziomie Platinum).

Ile lat zajmie wprowadzenie na Linuksa aplikacji dla OS-a X? Spore zainteresowanie tą kwestią wzbudził nowy projekt czeskiego programisty, Luboša Doležela. Pod nazwą The Darling Project rozpoczął on prace nad warstwą binarnej kompatybilności dla aplikacji OS-a X i Darwina (systemu stanowiącego opensource'owy rdzeń OS-a X). Docelowo Darling ma zapewnić kompletny zestaw zrekonstruowanych bibliotek i frameworków, tak by plik uruchamialny OS-a X mógł zostać załadowany do pamięci i wykonany przez jądro Darwina pod kontrolą Linuksa, bez konieczności wprowadzania jakichkolwiek łatek.

Na razie sytuacja przypomina trochę początki Wine. Na całego Darlinga składa się na razie dynamiczny loader plików wykonywalnych w formacie Mach-O, narzędzia do przeglądania takich plików i zestaw bibliotek pozyskanych częściowo z Darwina, a częściowo z opensource'owej implementacji frameworku Cocoa i kodu z projektu GNUStep (wykorzystywanego głównie do uruchamiania kodu w Objective-C). Teoretycznie możliwe będzie na Darlingu też uruchamianie aplikacji skompilowanych dla iOS-a, choć ktoś musiałby pomęczyć się z przeniesieniem części kodu na architekturę ARM i odtworzeniem specyficznych bibliotek interfejsu użytkownika tego systemu – sam Dolež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ż o Linuksie. To nie tylko giganty w rodzaju wspomnianych Final Cuta czy Logic Pro, ale też świetny GarageBand (nic porównywalnego dla muzyków-amatorów po prostu nie istnieje), Keynote (przy którym PowerPoint, nie mówiąc już o Impress z LibreOffice, wygląda raczej marnie), czy Aperture (najlepszy chyba program do wywoływania zdjęć i zarządzania nimi). Trzeba jednak pamiętać, że podobieństwa między OS-em X a Linuksem są jedynie bardzo powierzchowne. Zgodność z POSIX nie wystarczy, aplikacje dla Maka korzystają z licznych API, które daleko wyszły poza to, co było dostępne w czasach NeXT-a. Ich przeniesienie można porównać do pró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 problem nieustannego zrywania z wsteczną kompatybilnością na Makach (Apple pod tym względem znacznie mniej się przejmuje, niż Microsoft)... oraz polityka samej firmy z Cupertino, wyjątkowo niechętnej wszelkim pomysłom, które mogłyby naruszyć jej cenny monopol na ekosystem Maka. To, że autor Darlinga żyje poza USA niewiele zmienia – jest raczej pewne, że gdy tylko projekt osiągnie dojrzałość, Apple zrobi wszystko, by go pogrzebać...

Póki co, zapraszamy na wiki projektu – http://darling.dolezel.info/en/.

r   e   k   l   a   m   a
© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.