انتشار موتور دسکتاپ Arcan 0.6.1

پس از یک سال توسعه، انتشار موتور دسکتاپ Arcan 0.6.1 در دسترس است که ترکیبی از یک سرور نمایش، یک چارچوب چند رسانه ای و یک موتور بازی برای پردازش گرافیک های سه بعدی است. Arcan را می توان برای ایجاد انواع سیستم های گرافیکی، از رابط های کاربری برای برنامه های کاربردی تعبیه شده تا محیط های دسکتاپ مستقل استفاده کرد. به طور خاص، دسکتاپ سه بعدی Safespaces برای سیستم های واقعیت مجازی و محیط دسکتاپ Durden بر اساس Arcan در حال توسعه هستند. کد پروژه به زبان C نوشته شده است و تحت مجوز BSD توزیع شده است (برخی اجزا تحت GPLv3+ و LGPL هستند).

نسخه جدید شامل پیشرفت های انباشته شده در طول سال است که عمدتاً بر توسعه یک سیستم فرعی برای دسترسی به دسکتاپ از طریق شبکه متمرکز شده است. به طور کلی، طرح آماده سازی اولین نسخه قابل توجه 1.0 ارائه شده است: در شاخه بعدی 0.7، انتظار می رود کار برای گسترش زیرسیستم صدا، بهبود سازگاری و توسعه ابزارهایی برای گرافیک سه بعدی انجام شود. شاخه 3 بر بهینه سازی و عملکرد تمرکز خواهد کرد و 0.8 بر امنیت تمرکز خواهد کرد.

یکی از قابل توجه ترین تغییرات در نسخه Arcan 0.6.1 مدرن سازی سرور نمایش arcan-wayland است که از پروتکل Wayland استفاده می کند که یک لایه برای استفاده از EGL پیاده سازی کرده و پشتیبانی dma-buf را به طور پیش فرض فعال می کند. سرور Xarcan X مدیریت سوئیچ‌های GPU را بهبود بخشیده و از کلیپ‌بورد و شتاب سخت‌افزاری رندر مکان‌نما پشتیبانی می‌کند. پشتیبانی بهبود یافته از صفحه نمایش با نرخ به روز رسانی محتوای متغیر. برای کاهش تاخیرها در سیستم ورودی کار شده است.

تغییرات داخلی زیادی برای بهبود همگام سازی و بهبود کارایی مدیریت صف رویدادها ایجاد شده است. توسعه سرور گرافیکی "arcan-net" برای کار از راه دور با دسکتاپ از طریق شبکه و پروتکل A12 استفاده شده در این سرور که برای جایگزینی SSH/VNC/RDP/X11 توسعه یافته است، ادامه یافته است. اتصالات به روز شده برای اجزای در حال توسعه در Lua.

مفهوم Pipeworld پیشنهاد شده است که به شما امکان می‌دهد جریان‌های داده را بین پنجره‌ها تغییر مسیر دهید، داده‌ها و کنترل‌کننده‌ها را در پنجره‌های مختلف، مشابه سلول‌های صفحه‌گسترده، پیوند دهید، و یک گردش کار ترکیبی را تشکیل دهید که رابط‌های گرافیکی و کنسولی را ترکیب می‌کند (برای مثال، می‌توانید خروجی را از یک پنجره به یک پوسته در حال اجرا در ترمینال -handler و از نتیجه در پنجره دیگر استفاده کنید).

یادآوری می کنیم که Arcan به یک زیرسیستم گرافیکی مجزا وابسته نیست و می تواند با استفاده از پلاگین های پشتیبان بر روی محیط های مختلف سیستم (BSD، Linux، macOS، Windows) کار کند. به عنوان مثال، امکان اجرا در بالای Xorg، egl-dri، libsdl و AGP (GL/GLES) وجود دارد. سرور نمایش Arcan می تواند برنامه های مشتری مبتنی بر X، Wayland و SDL2 را اجرا کند. معیارهای کلیدی مورد استفاده در طراحی Arcan API امنیت، عملکرد و اشکال زدایی است. برای ساده سازی توسعه رابط ها، استفاده از زبان Lua پیشنهاد شده است.

ویژگی های Arcana:

  • ترکیبی از نقش های سرور مرکب، سرور نمایش و مدیر پنجره.
  • توانایی کار در حالت جداگانه که در آن برنامه به عنوان یک پیوند خودکفا عمل می کند.
  • چارچوب چند رسانه ای داخلی که ابزارهایی را برای کار با گرافیک، انیمیشن، پردازش پخش جریانی ویدیو و صدا، بارگذاری تصاویر و کار با دستگاه های ضبط ویدیو فراهم می کند.
  • یک مدل چند فرآیندی برای اتصال پردازنده های منابع داده پویا - از جریان های ویدئویی تا خروجی برنامه های جداگانه.
  • مدل اشتراک امتیاز سفت و سخت. اجزای موتور به فرآیندهای کوچک غیرمجاز تقسیم می شوند که از طریق رابط حافظه مشترک shmif ارتباط برقرار می کنند.
  • ابزارهای داخلی نظارت بر خرابی و تجزیه و تحلیل، از جمله موتوری که می‌تواند وضعیت داخلی اسکریپت‌های Lua را سریال‌سازی کند تا اشکال‌زدایی را ساده کند.
  • عملکرد Fallbacks، که در صورت خرابی به دلیل خطای برنامه می تواند یک برنامه بازگشتی را راه اندازی کند و همان منابع داده خارجی و اتصالات را حفظ کند.
  • ابزارهای اشتراک گذاری پیشرفته که می توانند برای ضبط یا پخش زیرمجموعه های خاصی از منابع صوتی و تصویری در حین اجرای اشتراک دسکتاپ استفاده شوند.

علاوه بر این، می توان اشاره کرد که نسخه جدیدی از دسکتاپ Durden 0.7 برای استفاده با Arcan آماده می شود. در نسخه 0.7، پشتیبانی از قرار دادن عمودی عنوان پنجره و نوار وضعیت ظاهر می شود و ابزاری برای هدایت صوتی (متن به گفتار) اضافه می شود. Durden از یک رابط کاشی‌شده با کنترل‌های کامل صفحه‌کلید و یک حالت جریان آزاد برای نمایش پنجره‌ها روی صفحه‌نمایش پشتیبانی می‌کند. همه تنظیمات، از جمله روش‌های ورودی، فونت‌ها و جلوه‌های بصری را می‌توان بدون نیاز به بارگیری مجدد پیکربندی، در همان لحظه تغییر داد.

می توان رفتار جداگانه ای را برای هر پنجره پیکربندی کرد و از یک کلیپ بورد مستقل متصل به پنجره استفاده کرد. از کار بر روی سیستم هایی با مانیتورهای متعدد با DPI های مختلف پشتیبانی می کند. امکان نمایش منوی برنامه در پنل (منوی جهانی) یا قرار دادن منو در عنوان پنجره وجود دارد. ویجت ها را می توان روی دسکتاپ قرار داد. یک قابلیت داخلی برای ضبط ویدیوی اقدامات روی دسکتاپ و در پنجره های جداگانه وجود دارد. زیرسیستم کنترل ورودی از تغییر طرح بندی صفحه کلید و توانایی کار با دستگاه های پیشرفته مانند کنسول های بازی پشتیبانی می کند.

منبع: opennet.ru

اضافه کردن نظر