Bir yıllık geliştirme sürecinin ardından Arcan 0.7.1 masaüstü motoru yayınlandı. Bu motor, bir görüntü sunucusu, bir multimedya çerçevesi ve 3D grafikler için bir oyun motorunu bir araya getiriyor. Arcan, gömülü uygulamalar için kullanıcı arayüzlerinden bağımsız masaüstü ortamlarına kadar çeşitli grafik sistemleri oluşturmak için kullanılabilir. Arcan, sanal gerçeklik sistemleri için Safespaces 3D kullanıcı ortamını ve Durden masaüstü ortamını desteklemektedir. Projenin kodu C dilinde yazılmıştır ve BSD lisansı altında dağıtılmaktadır (bazı bileşenler GPLv2+ ve LGPL lisansları altındadır).
Arcan, ayrı grafik alt sistemlerine bağlı değildir ve çeşitli sistem ortamları (BSD, Linux, macOS, Windows(takılabilir arka uçlar kullanarak). Örneğin, Xorg, egl-dri, libsdl ve AGP (GL/GLES) üzerinde çalışabilir. Arcan görüntü sunucusu, X11, Wayland ve SDL tabanlı istemci uygulamalarını çalıştırabilir. Proje, X.org sunucusunun kendi çatalı olan xarcan'ı ve Wayland tabanlı uygulamaların çalıştırılmasına olanak tanıyan birleşik bir arcan-wayland sunucusu (waybridge) geliştiriyor. Arcan API'sinin tasarımında kullanılan temel kriterler arasında güvenlik, performans ve hata ayıklanabilirlik yer almaktadır. Arayüz geliştirmeyi basitleştirmek için Lua kullanımı önerilmektedir.

Gizemli Özellikler:
- Bileşik sunucu, görüntü sunucusu ve pencere yöneticisi özelliklerinin birleşimi.
- Arcan tabanlı uygulamanın ek grafik katmanlarına ihtiyaç duymadan, kendi kendine yeten bir birim olarak çalıştığı bağımsız çalışma desteği.
- Grafiklerle çalışmak, video ve ses akışını işlemek, animasyon, görüntüleri yüklemek ve video yakalama aygıtlarıyla çalışmak için araçlar sağlayan yerleşik multimedya çerçevesi.

- Veri kaynağı işlemcilerini (örneğin, video akışları ve çalışan programların çıktıları) bağlamak için çoklu işlem modeli.

- Katı ayrıcalık ayırma modeli - motor bileşenleri, Shmif paylaşılan bellek arayüzü aracılığıyla etkileşime giren küçük, ayrıcalıksız işlemlere bölünür.
- Süreç çökmelerini izlemek ve analiz etmek için yerleşik araçlar. Motor, hata ayıklamayı kolaylaştırmak için Lua komut dosyalarının iç durumunu serileştirebilir.
- Başka bir işleyiciye geçiş - program hatası nedeniyle bir arıza meydana gelmesi durumunda, motor aynı harici veri kaynaklarını ve bağlantıları koruyarak yedek bir uygulamayı başlatabilir.
- Masaüstünüze paylaşım ve uzaktan bağlanma araçları. Ağ erişimi, mDNS (yerel hizmet tanımı), SSH (etkileşimli metin kabuğu), X2/VNC/RDP (etkileşimli grafik kabuğu) gibi teknolojilerin yeteneklerini birleştiren, A12 P11P protokolünü uygulayan arcan-net grafik sunucusu tarafından sağlanır. RTSP (medya akışı) ve HTTP (kaynak yükleme ve durum senkronizasyonu).
- Cat9 komut kabuğu, tıpkı bir elektronik tablo gibi, komut yürütmeyi tek tek hücrelere bağlamanıza olanak tanır (video gösterimi). Önerilen konsept, veri akışlarını pencereler arasında yönlendirmeye, farklı pencerelerdeki verileri ve işleyicileri birbirine bağlamaya olanak tanır (örneğin, bir pencereden gelen çıktıyı terminalde çalışan bir kabuk işleyicisine yönlendirebilir ve sonucu başka bir pencerede kullanabilirsiniz).

Proje ile ilgili değişiklikler:
- Valve'ın Gamescope kompozit sunucusu taşındı ve böylece kullanıcılar Xwayland ile uğraşmak zorunda kalmadan Steam oyunlarını başlatabiliyor.
- Arcan Qt eklentisi geliştirildi ve bu sayede Qbittorrent ve Binary Ninja gibi Qt5 ve Qt6 tabanlı uygulamaları Arcan'da çalıştırabilirsiniz.
- KeepassXC'yi başlatmak için yamalar ve bir komut dosyası oluşturuldu.
- A12 protokolü ve onun üzerinden etkileşim için bir görüntüleyici geliştirilmektedir.
- Etkileşimli pencere yöneticisi Lasso geliştirilme aşamasındadır.
- X11 klavye düzenlerini Arcan tarafından desteklenen formata dönüştürmek için Xkbd2Lua yardımcı programı eklendi.
- Arcan, Durden masaüstü ve komut satırı kabuğuna dayalı çalışan bir önyükleme ortamı oluşturmak için nix paketleri geliştiriliyor.
- ML-KEM kuantum sonrası şifreleme algoritması için destek eklendi.
- İstemcilerin kesintiye uğramış ağ bağlantılarını yeniden başlatabilme özelliği eklendi (kesintiye uğramış bağlantı geri yüklendikten sonra, uygulama pencere durumunu kaybetmeden yeniden eşleştirilecektir).
- Diğer kullanıcıların uygulamanın çıktısının bir kopyasıyla salt okunur modda çalışmasına olanak tanıyan "--cast" seçeneği eklendi.
- Dizin sunucusu artık sunucuları tek bir ad alanında birleştirmek veya zincirler oluşturmak için kullanılabilen yeni birleşik ve referanssal bağlantıları destekliyor. sunucularBirinci durumda, sunucu grubu kullanıcıya tek bir sunucu olarak görünürken, ikinci durumda uygulamalar tek bir sunucuda çalıştırılabilir. sunucuBir diğerine bağlanarak.
- `launch_target` fonksiyonu, istemci isteği üzerine sunucuda dinamik olarak bir uygulama başlatmak için API'ye eklendi. Uygulama için bir denetleyici oluşturulabilir; bu denetleyici, mesajlaşmayı ve kaynak erişimini yönetmek için bir dizi Lua betiğinden oluşur.
- Arcan depolama işlemlerini engelleyebilen ve yerel önbelleğe almayı etkinleştirme veya verileri yerel diskten indirmek yerine Web, BitTorrent veya IPFS'den indirme gibi kaynak isteği işlemlerini işleyebilen Harici Kaynak Çözümleyicileri için destek eklendi.
- İnce istemci benzeri bir yaklaşım uygulanmıştır; bu sayede tam Arcan yığınına sahip olmayan (sadece Smash görüntüleyiciye sahip) bir istemci, program yürütme mantığını sunucuya aktarabilir. Örneğin, myserver sunucusunda durden masaüstü ortamını başlatmak için "arcan-net --host-appl myserver@durden" komutunu çalıştırabilirsiniz.
- Cat9 komut kabuğu artık yerel veya uzaktan hata ayıklama için DAP (Hata Ayıklama Adaptörü Protokolü) desteği sunan bir hata ayıklayıcıya sahip bir arka uç içeriyor.
- Değişikliklerin büyük bir kısmı, A12 protokolünün geliştirilmesi, Lua dilinde komut dosyalarının yürütülmesine yönelik ortam, ağ alt sistemi, ağ üzerinden dağıtılan bileşenleri birbirine bağlamak için kullanılan dizin sunucusu, Shmif paylaşımlı bellek sistemi ve egl-dri modülü ile ilgili olarak eklenmiştir.
Durden 0.6.3 masaüstü ortamı eş zamanlı olarak yayınlandı. Önceki sürüm 2020'de yayınlanmıştı. Durden, tam klavye kontrolleriyle döşemeli ve klasik pencere düzeni modlarını destekler. Farklı DPI'lara sahip çoklu monitör sistemlerini destekler.
Değişiklik geçmişini koruyan ve iki sürümde (genel ve pencereye özel) kullanılabilen genişletilmiş bir pano sağlanmıştır. Klavye düzenlerini değiştirme ve oyun kumandaları gibi genişletilmiş cihazlarla çalışma desteği sunulmaktadır. Genel menü, pencere başlığında menü, widget'lar ve pencereye özel özelleştirme gibi özellikler de desteklenmektedir. Giriş yöntemleri, yazı tipleri ve görsel efektler dahil tüm ayarlar, yapılandırmayı yeniden yüklemeye gerek kalmadan anında değiştirilebilir.
Sürüm 0.6.3, geliştirme aşamasındaki Durden 0.7 sürümü için hazırlık niteliğinde bir sürümdür ve ekran hareketleri, dikey başlıklar ve paneller desteği, başlıklar ve paneller için kompakt görüntüleme modu, yeni bir yapılandırıcı, fareyle üzerine gelindiğinde önizleme, osdkbd ekran klavyesi, pencere birleştirme modu, konuşma sentezleyici desteği ve ağ şeffaflığı ve uzaktan erişim sağlamak için a12net ve a12_directory bileşenlerinin entegrasyonu gibi bir dizi önemli yenilik sunacaktır.
Kaynak: opennet.ru



