Instalujemy Linuksa Picuntu i Linuxium na androidowym donglu Measy U4A

Co może typowa desktopowa dystrybucja Linuksa na androidowym donglu z procesorem ARM RK3188?

Measy U4A to typowy dongiel HDMI z Androidem. Ten jak i wiele mu podobnych modeli bez problemu znajdziemy do kupienia w wielu sklepach i na dużą skalę w sieci na Allegro, ebay, czy chińskich sklepach wysyłkowych. Z telewizora, czy monitora jest w stanie zrobić prosty komputer, czy odtwarzacz multimedialny. Specyfikacja nie jest już najnowsza, ale nadal przyzwoita.

Dongiel ten akurat nawinął się na Allegro. Wybrałem go gdyż zawiera układ RK3188, dla którego dostępny jest też obraz z dystrybucją Linuksa - Picuntu, jak i system Linuxium obsługujący bootowanie Androida z NAND i Linuksa z bootowalnej karty SD. W tym artykule przyjrzę się donglowi z Androidem 4.4.2, a następnie zainstaluje na nim Picuntu oraz Linuxium i zobaczę ile to warte.

Measy U4A

Measy U4A - hardware

Dongle Measy są rozprowadzane w Polsce przez dedykowaną firmę - Measy Polska. Dotyczy to także modelu U4A. Domyślnie zawiera on Androida 4.2, ale do pobrania jest obraz z Androidem 4.4 i z tą odsłoną systemu Googla przyszedł do mnie zakupiony z drugiej ręki dongiel (choć nie wiem czy to był dokładnie ten ROM ze strony measy).

Dongiel zawiera czterordzeniowy procesor RK3188 wspierany czterordzeniowym Mali 400 (MP4) oraz 1 GB DDR3 RAM. Nowsze modele z RK3188 oferują 2GB RAM, choć i te już teraz są zastępowane przez urządzenia z układem Amlogic S802, które oprócz nieco nowszego procesora zawiera znacznie silniejszą grafikę (sześciordzeniowe Mali 450). Niestety na układy Amlogica nie ma obrazów z desktopowym Linuksem, a na przetestowaniu tego rozwiązania najbardziej mi zależało. Osoby zainteresowanie wyłącznie Androidem i nagminnym wykorzystywaniem multimedialnym powinny zainteresować się tymi nowszymi układami - S802, czy wchodzącym niebawem jeszcze silniejszym RK3288.

Measy U4A zawiera slot na kartę micro SD, micro USB na zasilanie/OTG do wgrywania nowych ROMów oraz pełnowymiarowy port USB (Host), do którego można podłączyć np. hub z klawiaturą, myszą i innymi urządzeniami.

Za najtańszy dongiel z RK3188 i 2GB RAM na rynku (nowszy model) zapłacimy jakieś 160 PLN przy zakupie z Chin (dx.com), czy około 200 PLN przy zakupie z Allegro i wysyłką z Polski. Urządzenie z procesorem S802 to wydatek co najmniej 300 PLN przy zakupie z Chin.

Aplikacje na start

Android 4.4.2

Dongiel przybył z najnowszą w chwili pisania tego artykułu wersją Androida. System zawierał podstawowe aplikacje, w tym Google Play i SuperSU. Z marketu pobrałem kilka aplikacji, w tym te do benchmarkowania urządzenia. W Antutu urządzenie osiągnęło wynik 13463, co jest dość dobrym wynikiem dla tej klasy urządzeń. W Futuremark Ice Storm Unlimited 2637, a dla Ice Storm Extreme 1951 (co przekładało się na 18 i 10 FPS). Vellamo dla testów osiągów wielordzeniowych dał 1057 punktów, 478 w teście Metal i 1219 w teście przeglądarki, czyli całkiem przyzwoicie, szczególnie w teście osiągów wielu rdzeni.

Vellamo

Interfejs jest responsywny, aplikacje odpalane są szybko i bez przycinek, choć zbyt wymagających nie instalowałem. Nie wiem czemu dlaczego system ustawiony jest pod oszczędzanie energii (rdzenie wyłączają się gdy nie są potrzebne) - to chyba nieco spowalnia system gdy nagle jest zapotrzebowanie na większą moc obliczeniową. To może być tylko moje subiektywne odczucie, ale tak jakby inne dongle RK3188, z którymi miałem do czynienia nie miały takich spowolniej gdy próbuje się coś na nich zrobić po chwili bezczynności (turbodziura? :)).

Antutu

Co zaskakujące prosto z marszu obsługiwany był układ UART firmy FTDI. Nie licząc płytek dla programistów (np. pyMCU) układy tego typu znajdują się w niektórych urządzeniach USB - np. GPSach, czytnikach RFID.

Futuremark

Picuntu

Picuntu to dystrybucja Linuksa przeznaczona na dongle z dwurdzeniowym układem RK3066 i czterordzeniowym RK3188. Zastępuje zainstalowanego na urządzeniu Androida i wymazuje wszystkie dane, więc jeżeli coś masz na pamięci NAND urządzenia to skopiuj to na kartę SD i wyjmij przed instalacją Picuntu.

Dostępna do pobrania jest paczka instalacyjna Picuntu 4.5 z aplikacjami do wgrania ROMu z poziomu MS Windows. Pod Linuksem można użyć rkflashkit i obrazów zawartych w paczce Picuntu. Testowałem wcześniej przez chwilę GUI rkflashkita i wyglądało na to że działa, ale jakby po zakończonej operacji aplikacja zawieszała się i trzeba było ponownie ją uruchamiać. Windowsowe narzędzia działały bez zastrzeżeń, ale trzeba zainstalować sterownik Rockchipa do tych urządzeń (w sieci są instalatory jak i same sterowniki dostępne).

Instalacja Picuntu

Rozpakowujemy paczkę i wchodzimy do katalogu rk_flash_1_37. Odpalamy RKAndroidTool. Aplikacja będzie raportować brak urządzenia. Trzeba będzie podłączyć dongla (port USB OTG) z komputerem, ale w trybie recovery. Wiele urządzeń będzie miało w obudowie mały otwór w którym ukrywa się przycisk Recovery. Trzeba go wcisnąć (drucikiem, drutem z agrafki) i podłączyć urządzenie do komputera z wciśniętym przyciskiem. Wtedy pojawi się w aplikacji do nagrywania ROMów, którą uruchomiliśmy (pod warunkiem że są sterowniki zainstalowane).

Po uruchomieniu RKAndroidTool zaznaczone będą wszystkie partycje. Wybieramy tylko loader, parameter, kernel, boot, system, a resztę odznaczamy. Na początek kliknij w Erase NAND, a następnie jak skończy, w Flash ROM co rozpocznie wgrywanie ROMu. Jeżeli wszystkie powiedzie się to po kilku minutach proces zakończy się i będziemy mogli odłączyć dongla.

Po odpaleniu RKFlashTool zaznaczone są wszystkie partycje
Wybieramy tylko te wymagane przez Picuntu
Nagrywanie kończy się po kilku minutach

Picuntu w akcji

Po uruchomieniu powinniśmy po chwili zobaczyć jak uruchamia się środowisko graficzne. Zalogować możemy się na użytkownika picuntu korzystając z hasła 12qwaszx.

W zależności od użytego dongla moduł WiFi może nie działać, gdyż nie wszystkie mają sterowniki w głównym drzewie Kernela. W przypadku Measy U4A WiFi działa, więc ogólnie hardware jest obsługiwany, ale z wyjątkami opisanymi poniżej.

Picuntu po uruchomieniu
GLXGear testuje wydajność grafiki

Oczywiście w porównaniu do Androida wydajnościowo może być gorze, szczególnie gdy trafimy na nieobsługiwane części: VPU (sprzętowa akceleracja wideo), czy akceleracja 3D zapewniana przez własnościowy firmware Mali 400, którego nie ma. XBMC nie zainstalujemy, a niektóre formaty i rozmiary wideo mogą być nieodtwarzalne w płynny sposób (OGG 1080p Big Buck Bunny działa płynnie, choć na starcie trochę wolno - chyba rdzenie się wybudzają). OpenArena po uruchomieniu od razu zaczyna ciąć, więc MAli 400 nas nie rozpieszcza. Dla odważnych w sieci można znaleźć nieco tutoriali i wpisów jak dodać obsługę akceleracji 3D w Picuntu.

Niektóre obrazy dla innych mini-komputerów, np. dla Randxa Rock, czy Cubieboard 2/Cubietruck zawierają w pełni skonfigurowane sterowniki i firmware dla Mali 400. Postaram się porównać różnice w wydajności w najbliższym czasie.

Tymczasem używając narzędzi Phoroniksa odpaliłem kilka benchmarków, którymi testowałem już Raspberry Pi, Odroida X2, czy Cubieboard. Wyniki dostępne są na stronie openbenchmarking.org (oraz drugi krótszy). Jeżeli masz swoje urządzenie tego typu możesz łatwo odpalić test porównawczy (zakładka compare). Oto kilka ciekawych wyników:

C-Ray, pybench i liczenie liczby Pi

C-Ray, pybench i liczenie liczby Pi

RAMSpeed i enkodowanie mp3

RAMSpeed i enkodowanie mp3

Jak widać po wynikach tani i nie najnowszy już RK3188 osiąga wyniki bardzo zbliżone do procesora Exynos 4412 Samsunga obecnego w Odroidzie X2. Picuntu wypada nieco wolniej, a wyraźnie odstaje od Odroida w przypadku prędkości RAMu (choć to może mocno się zmieniać pomiędzy różnymi modelami dongli). PcDuino, czy Raspberry Pi wyposażone w jednordzeniowe stare układy wyraźnie odstają, ale to jest zrozumiałe.

Z drugiej strony Libreoffice działa, uruchamia się dość szybko i nie blokuje, zamula w żaden sposób systemu. Jakby nie było mamy czterordzeniowy procesor, który coś jednak potrafi. Nie jest to konkurent dla Core-i5/7 Intela, ale jak potrzebujemy prostego klepacza tekstu, czy przeglądania internetu (z pominięciem Flasha, czy większości klipów wideo) to Picuntu spełni takie zadania.

W przypadku Chromium można sprawdzić jakie czynności są akcelerowane. Oto wyniki chrome://gpu

  • Canvas: Software only, hardware acceleration unavailable
  • Compositing: Hardware accelerated
  • 3D CSS: Hardware accelerated
  • CSS Animation: Accelerated
  • WebGL: Hardware accelerated
  • WebGL multisampling: Hardware accelerated
  • Flash 3D: Hardware accelerated
  • Flash Stage3D: Unavailable. Hardware acceleration unavailable
  • Texture Sharing: Hardware accelerated
  • Video Decode: Software only, hardware acceleration unavailable
  • Video: Hardware accelerated
  • Panel Fitting: Unavailable. Hardware acceleration disabled.
  • Force Compositing Mode: Unavailable. Hardware acceleration disabled.

Linuxium

Linuxium to bootloader i dystrybucja Androida obsługująca dodatkowo bootowanie przygotowanych obrazów dystrybucji Linuksa z karty SD. W porównaniu do Picuntu daje nam to możliwość wyboru systemu z jakim chcemy pracować. Żeby uruchomić Androida wystarczy włączyć urządzenie, a żeby uruchomić Lubuntu/Xubuntu/Ubuntu wystarczy włożyć kartę MicroSD z nagranym na niej obrazem dystrybucji i włączyć urządzenie i wybrać tryb uruchamiania systemu z karty SD (opcja "1").

Opis instalacji dostępny jest na podlinkowanym forum, jak i na Google+. Pobieramy archiwum bin.7z, rozpakowujemy i wgrywamy poszczególne obrazy na ich partycje za pomocą RKAndroidTool tak jak w przypadku instalacji Picuntu (Erase Nand na początku). Po nagraniu obrazów mamy gotowy dongiel, który powinien odpalać Androida.

Dostępne są też obrazy dystrybucji Linuksa - pobieramy obraz i nagrywamy na kartę MicroSD/SD. Pod Linuksem można użyć do tego dd:

dd if=linuxium-ubuntu1204-desktop-rfs.img of=/dev/NAZWA_KARTY_SD bs=4M

Gdy nagrywanie się zakończy wykonujemy sync po czym możemy wyjąć kartę i włożyć do androidowego dongla. Przy starcie pojawi się bootloader z opcjami do wyboru - start z SD (Linux), czy z NAND (Android).

W przypadku Linuksa mamy użytkownika linuxium (hasło: p) oraz roota bez hasła, które trzeba ustawić (sudo passwd root).

Linuxium Xubuntu

Na Measy U4A Xubuntu z karty microSD się uruchamia, natomiast Android nie do końca. Pojawia się splash-screen Rikomagic, po czym pojawia się interfejs Androida, ale niezbyt użyteczny - czarne tło i kursor, który za bardzo nie chce ruszać się tam, gdzie mu każemy. Widocznie obraz jest pod dongle Rikomagic, a nie Measy, które mają jakieś różnice psujące system.

Xubuntu Linuxium wygląda ładniej od Picuntu, a tak poza tym to działa praktycznie tak samo jak Picuntu - przeglądarka działa płynnie o ile nie będzie na stronie klipu wideo. Libreoffice i podobne aplikacje nie robią problemów. Dziwić może wiek systemu, który zaraz po podłączeniu do sieci sugeruje aktualizację do 13.10 Saucy Salamander.

Wykonując w konsoli do-release-upgrade zaktualizowałem Linuxium do Saucy Salamander co przebiegło bez problemów i system uruchomił się ponownie. Kolejne wywołanie tej komendy dało Trusty Tahr. Ta wersja nie zaktualizowała się do końca. Pojawił się konflikt wersji pakietów X.org i system pozostał lekko niewykończony. To chyba odbiło się na wydajności układu graficznego i samego serwera Xów bo aplikacje zaczęły pracować wolniej i spore obciążenie pojawiło się na procesorze.

Chromium początkowo w wersji 31.0.1650.63 na chrome://gpu pokazuje:

  • Canvas: Software only, hardware acceleration unavailable
  • Compositing: Hardware accelerated
  • 3D CSS: Hardware accelerated
  • CSS Animation: Accelerated
  • WebGL: Hardware accelerated
  • WebGL multisampling: Hardware accelerated
  • Flash 3D: Hardware accelerated
  • Flash Stage3D: Unavailable. Hardware acceleration unavailable
  • Flash Stage3D Baseline profile: Unavailable. Hardware acceleration unavailable
  • Texture Sharing: Hardware accelerated
  • Video Decode: Software only, hardware acceleration unavailable
  • Video: Hardware accelerated

W Trusty Tahr dostępna jest nowsza wersja - 34.0.1847.116, która traci nieco opcji na tej liście, ale pozostałe nadal mają ten sam stan. Kernel nie ulega aktualizacji i ciągle mamy stary już 3.0.36+.

Dostępne są też benchmarki dla Linuxium przed i po aktualizacji. Jak widać wersja zaktualizowana ma jakiś problem z X.org, bo spadły osiągi w x11perf. Nieaktualizowana wersja osiąga podobne wartości w RAMSpeed co Picuntu, ale po aktualizacji wyniki są wyraźnie wyższe. Duży wzrost widać także w przypadku Nginxa, minimalny w przypadku pozostałych testow.

Ogólnie Linuxium to fajny pomysł. Oprócz Androida możemy uruchomić z zewnętrznego nośnika zwykłą dystrybucję Linuksa by wykorzystać jakieś bardziej specyficzne aplikacje. Wymaga to większego dopracowania. Warto mieć nowszy Kernel, jak i efektywniejsze sterowniki dla układu graficznego, jak i obsługę akceleracji wideo, by np. YouTube było używalne. Mali 400 jest mocno zamknięte i irytujące, więc może inny układ graficzny skorzystałby bardziej na takim pomyśle Linuxium (Intela?). Ubuntu oferował taką funkcjonalność ze swoim telefonem, którego akcja nie udała się na Indiegogo.

blog comments powered by Disqus

Kategorie

Strony