اگر Steam Deck باعث شد نام Proton بیشتر از همیشه شنیده شود، حالا مشخص شده Valve برای اجرای بازیهای بیشتری روی SteamOS فقط به همین ابزار تکیه نکرده است. این شرکت برای گسترش سازگاری بازیها، بهویژه در دستگاههای تازه مبتنی بر SteamOS، از لایههای سازگاری جدیدی استفاده میکند که نقش مهمی در آینده اکوسیستم بازی روی لینوکس دارند.
شناختهشدهترین بخش این ماجرا همان Proton است؛ لایهای که به بازیهای ساختهشده برای ویندوز اجازه میدهد روی SteamOS مبتنی بر لینوکس اجرا شوند. اما Valve برای رسیدن به سازگاری گستردهتر، حالا سراغ راهکارهای دیگری هم رفته که یکی از مهمترین آنها FEX است.
FEX چیست و چرا برای Valve اهمیت دارد؟
FEX نسخه پورتشده Valve از پروژه متنباز fex-emu است؛ ابزاری که برای شبیهسازی دستورهای پردازندههای x86 روی چیپستهای Arm طراحی شده است. این موضوع زمانی اهمیت پیدا میکند که سختافزار مقصد از معماری متفاوتی نسبت به بازی یا نرمافزار اصلی استفاده کند.
پروژه fex-emu از سال ۲۰۱۸ آغاز شد و از یک پروژه کوچک شبیهسازی بینپلتفرمی، به ابزاری پیشرفتهتر تبدیل شده است. طبق توضیحات رسمی این پروژه، FEX حالا از یک بازمترجم باینری پیشرفته بهره میبرد که از افزونههای مدرن مجموعه دستورهای x86 و x86-64 پشتیبانی میکند.
FEX چطور به اجرای بهتر بازیها کمک میکند؟
یکی از چالشهای اصلی در شبیهسازی، کاهش افت عملکرد و جلوگیری از لگ و مکثهای ناگهانی است. FEX برای کم کردن این فشار، میتواند درخواستها را به کتابخانههای گرافیکی مانند OpenGL و Vulkan ارسال کند تا سربار پردازشی کمتر شود.
Valve در مستندات توسعهدهندگان Steam همچنین اشاره کرده که این شبیهساز از کشکردن کد استفاده میکند؛ قابلیتی که با ذخیره بخشی از پردازشهای انجامشده، به کاهش استاتر و اجرای روانتر کمک میکند.
نکات مهم درباره FEX
- برای شبیهسازی دستورهای x86 روی سختافزارهای Arm ساخته شده است.
- ریشه آن به پروژه متنباز fex-emu برمیگردد.
- از بازترجمه باینری پیشرفته برای افزایش سازگاری استفاده میکند.
- با OpenGL و Vulkan در ارتباط است تا هزینه پردازش کمتر شود.
- با کشکردن کد، استاتر و مکثهای ناگهانی را کاهش میدهد.
تفاوت FEX با Proton چیست؟
هرچند هر دو ابزار برای سازگاری بیشتر بازیها با SteamOS به کار میروند، اما کارشان یکسان نیست. Proton بر پایه ابزار قدیمی و شناختهشده Wine ساخته شده و تمرکز آن روی اجرای بازیهای ویندوزی در محیط لینوکس است. در مقابل، FEX بیشتر روی مسئله تفاوت معماری پردازندهها تمرکز دارد؛ یعنی جایی که باید دستورهای x86 روی سختافزار Arm اجرا شوند.
به زبان ساده، Proton مشکل سازگاری سیستمعامل را هدف میگیرد و FEX مشکل سازگاری معماری پردازنده را. ترکیب این لایهها میتواند دست Valve را برای آوردن بازیهای بیشتری به SteamOS بازتر کند.
Valve از چه زمانی روی FEX سرمایهگذاری کرده است؟
بر اساس گفتههای Pierre-Loup Griffais، مهندس Valve، این شرکت از زمانی که FEX هنوز در حد یک نمونه اولیه بود، از توسعه آن حمایت مالی کرده است. توسعهدهنده اصلی پروژه، Ryan Houdek، مدتهاست با پشتوانه Valve روی این فناوری کار میکند.
نکته جالب اینجاست که Valve از همان سالها میدانست رسیدن FEX به سطحی که بتوان با خیال راحت روی آن حساب کرد، مسیر کوتاهی نخواهد داشت. حتی برآورد شده بود که نزدیک به یک دهه زمان لازم است تا این پروژه به اندازه کافی پایدار و قابل اعتماد شود.
این تغییرات برای آینده SteamOS چه معنایی دارند؟
ورود لایههای سازگاری تازه نشان میدهد Valve فقط به حل یک مشکل مقطعی فکر نمیکند، بلکه در حال ساختن زیرساختی است که SteamOS را روی سختافزارهای متنوعتری قابل استفاده کند. اگر این مسیر ادامه پیدا کند، اجرای بازیها روی دستگاههایی با معماری متفاوت سادهتر میشود و SteamOS میتواند فراتر از یک پلتفرم محدود ظاهر شود.
برای کاربران، نتیجه نهایی میتواند واضح باشد: بازیهای بیشتر، سازگاری بهتر و وابستگی کمتر به ویندوز. درست به همین دلیل است که نقش ابزارهایی مثل Proton و FEX در آینده پلتفرم Valve روزبهروز پررنگتر میشود.
نظر، سوال یا تجربه خود را درباره این مطلب با سایر کاربران اوکالا به اشتراک بگذارید.