Mesa3D
Mesa یا Mesa3D ویا Mesa 3D Graphics Library، یک پیادهسازی متن باز از API های گرافیک 3D و 2D است. از جمله این API ها میتوان به OpenGL ،Vulkan، EGL و... اشاره کرد. Mesa یک برنامه سمت کاربر است و وظیفه دریافت دستورات از برنامه ها، پردازش دستورات و انتقال آنها را به گرداننده[4] گرافیکی را دارد.
بیشترین استفاده از Mesa توسط کاربران کارت گرافیک های AMD و پردازشگر های گرافیکی Intel است. چون AMD مشتریان را به سمت استفاده از ماژول هسته amdgpu سوق میدهد و همچنین intel فقط از Mesa پشتیبانی میکند. همچنین تلاش برای ایجاد جایگزین متن باز گرداننده[4] انحصاری NVIDIA نیز در حال انجام است و به آن Nouveau میگویند.
علاوه بر برنامه های کاربردی سه بعدی مانند بازی ها، مدیر نمایشگر های مدرن مانند X.org [1] و تمام میزکار های Wayland از OpenGL/EGL استفاده میکنند، بنابراین Mesa نقش مهمی بر عهده دارد.
Mesa توسط freedesktop.org میزبانی و پشتیبانی میشود. این پروژه در آگوست 1993 (مرداد ۱۳۷۲) توسط برایان پل (که هنوز در این پروژه فعال است)، راه اندازی شد. Mesa متعاقباً به طور گسترده مورد استفاده قرار گرفت و اکنون شامل مشارکتهای متعددی از افراد و شرکتهای مختلف در سراسر جهان است از جمله تولیدکنندگان کارت های گرافیک، شرکت ردهت و... اکثر بودجه Mesa توسط شرکت ها و کمک های مردمی تامین میشود.
بررسی اجمالی
Mesa3D به عنوان ارائه دهنده پیاده سازی های متن باز و آزاد از API های گرافیک 2D و 3D در سیستم عامل های یونیکس مانند شناخته می شود[2]. مهم ترین API پیاده سازی شده توسط میسا، OpenGL است. البته امروزه Mesa3D از رابط های زیادی پشتیبانی میکند به عتوان مثال:[3] Vulkan، EGL، OpenGL|ES، Glide و...
نکات و پینوشت
[1]یک استثنا در این مورد وجود دارد. در صورتی که X از exa برای رندرینگ استفاده کند از OpenGL/EGL استفاده نمیشود، تنها در صورتی از OpenGL/EGL استفاده میشود که از GlamorGL برای رندرینگ استفاده شده باشد.
[2]البته Mesa در دیگر سیستم عامل ها نیز (مانند ویندوز) کار میکند(به عنوان مثال Mesa3D گرداننده[4] ای دارد که میتواند OpenGL را از Direct3D 12 به سیستم عامل های موجود در WSL ارائه دهد که در زیرسیستم ویندوز برای لینوکس، در مایکروسافت ویندوز موجود است.) اما معمولا به آن شناخته نمیشود.
[3]Glide در حال حاضر منسوخ شده است.
[4]درایور = گرداننده = راه انداز