توسعه دهندگان پروژه Cuarzo OS اولین نسخه از کتابخانه لوور را ارائه کردند که اجزایی را برای توسعه سرورهای ترکیبی بر اساس پروتکل Wayland ارائه می دهد. کد به زبان C++ نوشته شده و تحت مجوز GPLv3 توزیع شده است.
این کتابخانه تمام عملیات سطح پایین، از جمله مدیریت بافرهای گرافیکی، تعامل با زیرسیستمهای ورودی و APIهای گرافیکی در لینوکس را بر عهده میگیرد و همچنین پیادهسازیهای آماده از برنامههای افزودنی مختلف پروتکل Wayland را ارائه میدهد. وجود کامپوننتهای آماده باعث میشود که ماهها کار روی ایجاد المانهای سطح پایین استاندارد صرف نکنید، بلکه فوراً یک فریمورک سرور کامپوزیت آماده و کارآمد دریافت کنید که میتواند با نیاز شما تطبیق داده شود و با موارد لازم تکمیل شود. قابلیت توسعه یافته در صورت لزوم، توسعهدهنده میتواند روشهای ارائه شده توسط کتابخانه را برای مدیریت پروتکلها، رویدادهای ورودی و رویدادهای رندر نادیده بگیرد.
به گفته توسعه دهندگان، این کتابخانه به طور قابل توجهی از نظر عملکرد نسبت به راه حل های رقیب برتری دارد. به عنوان مثال، یک نمونه از سرور کامپوزیت، louvre-weston-clone، نوشته شده با استفاده از Louvre، که عملکرد پروژه وستون را در مقایسه با Weston و Sway بازتولید می کند، منابع CPU و GPU کمتری را در تست ها مصرف می کند و همچنین به شما اجازه می دهد. برای دستیابی به FPS به طور مداوم بالا، حتی در سناریوهای پیچیده.
ویژگی های کلیدی لوور:
- پشتیبانی از تنظیمات چند GPU (Multi-GPU).
- پشتیبانی از چندین جلسه کاربر (Multi-Session، TTY switching).
- یک سیستم رندر که از روشهای مبتنی بر رندر دو بعدی (LPainter)، صحنهها و نماها پشتیبانی میکند.
- امکان استفاده از سایه بان های خود و برنامه های OpenGL ES 2.0.
- طراحی مجدد خودکار در صورت نیاز انجام می شود (فقط زمانی که محتویات منطقه تغییر می کند).
- کار چند رشتهای، به شما امکان میدهد به FPS بالا با v-sync حتی در هنگام رندر کردن سناریوهای پیچیده برسید (پیادهسازیهای تک رشتهای در حفظ FPS بالا به دلیل فریمهای گم شده مشکل دارند که به دلیل تأخیر در انتظار همگامسازی با پالس خالی فریم قابل پردازش نیستند. (vblank).
- پشتیبانی از بافر یک، دو و سه گانه.
- پیاده سازی کلیپ بورد برای داده های متنی.
- پشتیبانی Wayland و افزونه ها:
- XDG Shell یک رابط برای ایجاد و تعامل با سطوح به عنوان پنجره است که به شما امکان می دهد آنها را در سراسر صفحه حرکت دهید، کوچک کنید، گسترش دهید، تغییر اندازه دهید و غیره.
- XDG Decoration - رندر تزئینات پنجره در سمت سرور.
- زمان ارائه - نمایش ویدئو را فراهم می کند.
- لینوکس DMA-Buf - به اشتراک گذاری چندین کارت گرافیک با استفاده از فناوری dma-buf.
- از کار در محیط های مبتنی بر درایورهای Intel (i915)، AMD (amdgpu) و NVIDIA (درایور اختصاصی یا nouveau) پشتیبانی می کند.
- ویژگی هایی که هنوز اجرا نشده اند (در لیست برنامه ها):
- رویدادهای لمسی - مدیریت رویدادهای صفحه لمسی.
- اشاره گر - کنترل های صفحه لمسی.
- Viewporter - به سرویس گیرنده اجازه می دهد تا مقیاس سمت سرور و برش لبه های سطح را انجام دهد.
- تبدیل اشیاء LView.
- XWayland - راه اندازی برنامه های X11.
منبع: opennet.ru