Wersja silnika komputerowego Arcan 0.6.1

Po roku rozwoju dostępna jest wersja silnika komputerowego Arcan 0.6.1, który łączy serwer wyświetlania, framework multimedialny i silnik gry do przetwarzania grafiki 3D. Arcan może być używany do tworzenia różnorodnych systemów graficznych, od interfejsów użytkownika dla aplikacji wbudowanych po samodzielne środowiska graficzne. W szczególności w oparciu o Arcan opracowywany jest trójwymiarowy pulpit Safespaces dla systemów wirtualnej rzeczywistości i środowisko graficzne Durden. Kod projektu napisany jest w języku C i jest rozpowszechniany na licencji BSD (niektóre komponenty są objęte GPLv2+ i LGPL).

Nowa wersja zawiera zmiany zgromadzone w ciągu roku, skupiające się głównie na rozwoju podsystemu dostępu do pulpitu przez sieć. Ogólnie przedstawiono plan przygotowania pierwszej znaczącej wersji 1.0: W kolejnej gałęzi 0.7 przewidywane są prace nad rozbudową podsystemu dźwiękowego, poprawą kompatybilności i opracowaniem narzędzi do grafiki 3D. Oddział 0.8 skupi się na optymalizacji i wydajności, a 0.9 skupi się na bezpieczeństwie.

Jedną z najbardziej zauważalnych zmian w wersji Arcan 0.6.1 jest modernizacja serwera wyświetlania arcan-wayland, który wykorzystuje protokół Wayland, który implementuje warstwę do korzystania z EGL i domyślnie włącza obsługę dma-buf. Serwer Xarcan X poprawiono obsługę przełączników GPU oraz dodał obsługę schowka i sprzętowego przyspieszania renderowania kursora. Ulepszona obsługa ekranów ze zmienną częstotliwością odświeżania treści. W systemie wejściowym wykonano prace mające na celu zmniejszenie opóźnień.

Wprowadzono wiele wewnętrznych zmian mających na celu usprawnienie synchronizacji i poprawę efektywności zarządzania kolejką zdarzeń. Kontynuowano rozwój serwera graficznego „arcan-net” do zdalnej pracy z komputerem stacjonarnym przez sieć oraz stosowanego w tym serwerze protokołu A12, opracowanego w celu zastąpienia SSH/VNC/RDP/X11. Zaktualizowano powiązania do tworzenia komponentów w Lua.

Zaproponowano koncepcję Pipeworld, która umożliwia przekierowywanie przepływów danych pomiędzy oknami, łączenie danych i procedur obsługi w różnych oknach, podobnie jak komórki w arkuszach kalkulacyjnych, tworząc mieszany przepływ pracy, łączący interfejs graficzny i konsolowy (na przykład można przekierowywać dane wyjściowe z jedno okno do powłoki działającej w terminalu -handler i użyj wyniku w innym oknie).

Przypomnijmy, że Arcan nie jest przywiązany do osobnego podsystemu graficznego i może pracować na różnych środowiskach systemowych (BSD, Linux, macOS, Windows) korzystając z backendów wtyczek. Na przykład możliwe jest uruchomienie na Xorg, egl-dri, libsdl i AGP (GL/GLES). Serwer wyświetlania Arcan może uruchamiać aplikacje klienckie oparte na X, Wayland i SDL2. Kluczowymi kryteriami stosowanymi przy projektowaniu Arcan API są bezpieczeństwo, wydajność i możliwość debugowania. Aby uprościć tworzenie interfejsów, proponuje się użycie języka Lua.

Funkcje Arcany:

  • Połączenie ról serwera złożonego, serwera wyświetlania i menedżera okien.
  • Możliwość pracy w osobnym trybie, w którym aplikacja pełni rolę samowystarczalnego łącza.
  • Wbudowane środowisko multimedialne zapewniające narzędzia do pracy z grafiką, animacjami, przetwarzania strumieniowego wideo i audio, ładowania obrazów i pracy z urządzeniami do przechwytywania wideo.
  • Wieloprocesowy model łączenia procesorów dynamicznych źródeł danych - od strumieni wideo po wyjście poszczególnych programów.
  • Sztywny model podziału uprawnień. Komponenty silnika są podzielone na małe, nieuprzywilejowane procesy, które komunikują się poprzez interfejs pamięci współdzielonej shmif;
  • Wbudowane narzędzia do monitorowania i analizy awarii, w tym silnik, który może serializować stan wewnętrzny skryptów Lua w celu uproszczenia debugowania;
  • Funkcja fallbacków, która w przypadku awarii spowodowanej błędem programu może uruchomić aplikację awaryjną, zachowując te same zewnętrzne źródła danych i połączenia;
  • Zaawansowane narzędzia do udostępniania, których można używać do nagrywania lub transmisji wybranych podzbiorów źródeł audio i wideo podczas wdrażania udostępniania pulpitu.

Dodatkowo można zauważyć, że przygotowywana jest nowa wersja pulpitu Durden 0.7 do użytku z Arcanem. W wersji 0.7 pojawi się obsługa pionowego umieszczania tytułu okna i paska stanu, a także dodane zostanie narzędzie do wskazówek głosowych (przetwarzanie tekstu na mowę). Durden obsługuje zarówno interfejs kafelkowy z pełną kontrolą klawiatury, jak i tryb swobodnego wyświetlania okien na ekranie. Wszystkie ustawienia, w tym metody wprowadzania, czcionki i efekty wizualne, można zmieniać na bieżąco, bez konieczności ponownego ładowania konfiguracji.

Możliwe jest skonfigurowanie osobnego zachowania dla każdego okna i wykorzystanie niezależnego schowka powiązanego z oknem. Obsługuje pracę na systemach z wieloma monitorami o różnych DPI. Możliwe jest wyświetlenie menu aplikacji w panelu (menu globalne) lub umieszczenie menu w tytule okna. Widżety można umieszczać na pulpicie. Istnieje wbudowana możliwość nagrywania wideo akcji na pulpicie i w poszczególnych oknach. Podsystem sterowania wejściami obsługuje zmianę układów klawiatur i możliwość współpracy z zaawansowanymi urządzeniami, takimi jak konsole do gier.

Źródło: opennet.ru

Dodaj komentarz