راهنمای جامع اجرای بازیهای ویندوز روی اوبونتو؛ از صفر تا صد با Wine و DXVK (آزمایش با GTA V)
راهنمای ساده و قدمبهقدم برای اجرای بازیهای ویندوز روی لینوکس اوبونتو با حداکثر توان کارت گرافیک انویدیا. با دستورات آماده و تستشده.
نکات کلیدی در یک نگاه
- واین شبیهساز نیست: واین کدهای ویندوز را به زبان محلی لینوکس ترجمه میکند؛ بنابراین افت فریم یا افت سرعت نخواهید داشت.
- معجزه DXVK در گرافیک: این ابزار دستورات گرافیکی DirectX را مستقیماً به ولکان (Vulkan) تبدیل میکند تا بازیها کاملاً روان و بالای ۶۰ فریم اجرا شوند.
- پوشه ایزوله (Wineprefix): ساخت یک محیط اختصاصی برای هر بازی مانع از تداخل فایلها و خراب شدن تنظیمات میشود.
- حل معمای لپتاپهای گیمینگ: با یک ترفند ساده در ترمینال، بازی را مستقیماً روی کارت گرافیک انویدیا اجرا میکنیم تا پردازنده داخلی اینتل درگیر نشود.
سالهاست که بسیاری از گیمرها بهخاطر یک نگرانی همیشگی از مهاجرت به لینوکس فاصله میگیرند: «اگر روی سیستمم اوبونتو بریزم، تکلیف بازیهای ویندوزم چه میشود؟»
خبر خوش این است که دوران این نگرانیها به پایان رسیده است. امروزه به لطف ابزارهای شگفتانگیزی مانند واین (Wine) و دیایکسویکی (DXVK)، اجرای بازیهای بومی ویندوز روی سیستمعامل اوبونتو بهقدری آسان و پیشرفته شده که حتی غولهای سنگینی مثل Grand Theft Auto V با همان کیفیت، فریمریت و شفافیت ویندوز روی لینوکس اجرا میشوند.
نکته جالب اینجاست: برای این کار اصلاً نیازی به تخصص پیچیده یا برنامهنویسی ندارید. بیایید با زبانی ساده، مرحله به مرحله این مسیر جذاب را طی کنیم تا شما هم بتوانید بازیهای محبوبتان را روی اوبونتو تجربه کنید.
پاسخ کوتاه و سریع (Featured Snippet): برای اجرای بازیهای ویندوز روی اوبونتو، ابتدا ابزارهای Wine و DXVK را آماده میکنیم. سپس یک محیط ویندوزی مستقل (Wineprefix) ساخته، پیشنیازهایی مثل ++Visual C و دایرکتایکس را نصب میکنیم و در نهایت با تنظیم متغیرهای اختصاصی NVIDIA PRIME، بازی را با نهایت قدرت کارت گرافیک اصلی اجرا میکنیم.
flowchart LR
A["فایل بازی ویندوز (.exe)"] -->|"دستورات گرافیکی Direct3D"| B["موتور ترجمه DXVK"]
A -->|"درخواستهای سیستمی ویندوز"| C["لایه سازگاری Wine"]
B -->|"کدهای سریع Vulkan"| D["کارت گرافیک اصلی انویدیا (RTX)"]
C -->|"دستورات سیستمی لینوکس"| E["سیستمعامل اوبونتو"]
D --> F["اجرای روان و بدون افت فریم"]
E --> F
۱. بازیهای ویندوز اصلاً چطور روی لینوکس اجرا میشوند؟
پیش از آنکه دستبهکار شویم، بد نیست بدانیم پشت صحنه چه اتفاقی میافتد.
بازیهای پیسی معمولاً به دو ستون اصلی تکیه دارند: ۱. فایلهای رابط سیستمی ویندوز (DLLها): بازی از طریق آنها به ویندوز میگوید که فایلها را بخواند، صدا پخش کند و حافظه رم را مدیریت نماید. ۲. دایرکتایکس (DirectX / Direct3D): زبان اختصاصی مایکروسافت برای کشیدن بافتها، نورها و اشیاء سهبعدی روی صفحه.
سیستمعامل لینوکس این زبانها را بهصورت پیشفرض نمیفهمد. اینجا است که دو قهرمان وارد میدان میشوند:
- واین (Wine): واین مخفف عبارت جالب Wine Is Not an Emulator (واین شبیهساز نیست) است. این نرمافزار بهجای شبیهسازی کل کامپیوتر، دستورات ویندوز را به صورت آنی به زبان بومی لینوکس ترجمه میکند؛ بنابراین هیچ فشاری به پردازنده شما نمیآورد.
- دیایکسویکی (DXVK): وظیفه ترجمه دستورات گرافیکی دایرکتایکس به ولکان (Vulkan) را دارد. ولکان همان موتور گرافیکی پرقدرت و مدرنی است که در لینوکس مستقیماً با سختافزار کارت گرافیک شما صحبت میکند.
ترکیب این دو، سیستم شما را به یک غول گیمینگ آماده اجرای بازیهای ویندوزی تبدیل میکند!
۲. ایجاد محیط ایزوله و اختصاصی (Wineprefix)
یک پوشه ویندوزی ایزوله را مانند یک درایو C: مجازی و مستقل در نظر بگیرید.
چرا به این محیط نیاز داریم؟ اگر ده تا بازی مختلف را درون یک پوشه پیشفرض مشترک نصب کنید، ممکن است نصب پیشنیازهای یک بازی، فایلهای بازی دیگر را خراب کند. با جدا کردن محیط هر بازی، سیستم شما همیشه تر و تمیز و بیدردسر میماند.
ترمینال اوبونتو را باز کنید (Ctrl + Alt + T) و دستورهای زیر را بنویسید:
# ساخت یک محیط اختصاصی ۶۴ بیتی ویندوز ۱۰ برای بازی
export WINEPREFIX="$HOME/.wine-gtav"
export WINEARCH="win64"
# راهاندازی اولیه درایو مجازی
wineboot -u
به همین سادگی! واین تمام پوشههای اصلی ویندوز (مانند Program Files و System32) را داخل مسیر ~/.wine-gtav/drive_c آماده میکند.
۳. تزریق توربوی گرافیکی با DXVK
واین بهصورت پیشفرض تلاش میکند گرافیک را با کتابخانههای قدیمی ترجمه کند که حاصل آن افت شدید فریم و پرش تصویر است. ما با نصب DXVK این مشکل را برای همیشه حل میکنیم:
# ۱. دانلود آخرین نسخه DXVK
cd /tmp
wget https://github.com/doitsujin/dxvk/releases/download/v2.5.3/dxvk-2.5.3.tar.gz
tar -xvf dxvk-2.5.3.tar.gz
# ۲. کپی کردن فایلهای گرافیکی ۶۴ بیتی در System32
cp dxvk-2.5.3/x64/*.dll "$HOME/.wine-gtav/drive_c/windows/system32/"
# ۳. کپی کردن فایلهای گرافیکی ۳۲ بیتی در SysWOW64
cp dxvk-2.5.3/x32/*.dll "$HOME/.wine-gtav/drive_c/windows/syswow64/"
سپس پنجره تنظیمات واین را باز کنید:
WINEPREFIX="$HOME/.wine-gtav" winecfg
به برگه Libraries بروید، عبارت d3d11 را در کادر بنویسید، روی Add کلیک کرده و مطمئن شوید حالت آن روی (native, builtin) قرار دارد. همین کار را برای dxgi تکرار کرده و روی OK کلیک کنید.
۴. نصب پیشنیازهای حیاتی (DirectX و ++Visual C)
دقیقاً مانند زمانی که روی ویندوز تازه نصبشده یک بازی را میریزید، روی لینوکس هم بازیها به فایلهای کمکی مثل VCRUNTIME140.dll احتیاج دارند.
معمولاً در کنار فایلهای نصب بازی، پوشهای به نام _Redist یا Redistributables وجود دارد. این بستهها را بهسادگی در محیط واین نصب میکنیم:
# نصب تمام نسخههای ویژوال سیپلاسپلاس
WINEPREFIX="$HOME/.wine-gtav" wine Setup-vcredist.exe /ai
# نصب دایرکتایکس خرداد ۲۰۱۰
WINEPREFIX="$HOME/.wine-gtav" wine directx_Jun2010_redist.exe /silent
# نصب درایور صوتی اوپنایال (OpenAL) برای صدای سهبعدی
WINEPREFIX="$HOME/.wine-gtav" wine oalinst.exe /s
حالا محیط مجازی شما به اندازه یک سیستمعامل ویندوز کامل و مجهز است.
۵. نکته طلایی برای کاربران لپتاپ: فعالسازی کارت گرافیک انویدیا
اگر لپتاپ شما از پردازنده اینتل به همراه کارت گرافیک انویدیا (GeForce RTX یا GTX) بهره میبرد، لینوکس بهصورت خودکار بازیها را با گرافیک ضعیف داخلی اجرا میکند تا باتری کمتری مصرف شود!
برای این که تمام قدرت کارت گرافیک اصلی به میدان بیاید، از متغیرهای جادویی NVIDIA PRIME استفاده میکنیم:
| نام متغیر | مقدار پیشنهادی | کاربرد دقیق در اجرای بازی |
| :--- | :--- | :--- |
| __NV_PRIME_RENDER_OFFLOAD | 1 | پردازش تصاویر را به کارت گرافیک مجزای انویدیا میسپارد |
| __GLX_VENDOR_LIBRARY_NAME | nvidia | درایور رسمی و اختصاصی انویدیا را فراخوانی میکند |
| __VK_LAYER_NV_optimus | NVIDIA_only | ولکان را مجبور میکند گرافیک داخلی ضعیف را نادیده بگیرد |
| DXVK_ASYNC | 1 | بارگذاری بافتها را موازی میکند تا بازی در حین حرکت لگ نزند |
۶. ساخت فایل اجرای تککلیکی (Launcher اختصاصی)
طبیعتاً هیچکس دوست ندارد هربار برای اجرای بازی چند خط دستور طولانی در ترمینال تایپ کند! بیایید یک اسکریپت شیک و تر و تمیز بسازیم.
یک فایل جدید در مسیر ~/Games/launch-gtav.sh ایجاد کرده و کدهای زیر را داخل آن قرار دهید:
#!/usr/bin/env bash
set -e
# مسیر پوشه بازی و محیط واین
export WINEPREFIX="$HOME/.wine-gtav"
export WINEARCH="win64"
export GAME_DIR="$HOME/.wine-gtav/drive_c/Games/Grand Theft Auto V"
# فعالسازی نهایت قدرت انویدیا و ولکان
export __NV_PRIME_RENDER_OFFLOAD=1
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export __VK_LAYER_NV_optimus=NVIDIA_only
export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json
# بهینهسازی صدا و جلوگیری از افت فریم
export DXVK_ASYNC=1
export DXVK_STATE_CACHE=1
export PULSE_LATENCY_MSEC=60
cd "$GAME_DIR"
# اجرا با مود گیمینگ اوبونتو (GameMode)
if command -v gamemoderun >/dev/null 2>&1; then
exec gamemoderun wine PlayGTAV.exe "$@"
else
exec wine PlayGTAV.exe "$@"
fi
مجوز اجرای آن را فعال کنید:
chmod +x ~/Games/launch-gtav.sh
حالا فقط کافی است روی این فایل دابلکلیک کنید تا بازی با بالاترین فریم و نهایت کیفیت اجرا شود. همچنین میتوانید آن را به منوی برنامهها و دسکتاپ اوبونتو اضافه کنید.
۷. تست و آزمایش: آیا واقعاً کارت گرافیک انویدیا فعال است؟
میخواهید مطمئن شوید زحماتتان نتیجه داده؟ وقتی بازی در حال اجرا است، ترمینال را باز کنید و بنویسید:
nvidia-smi
اگر نام پردازش بازی (GTA5.exe) را در جدول پردازشهای انویدیا دیدید، یعنی همهچیز عالی است:
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
|=============================================================================|
| 0 N/A N/A 205203 C+G GTA5.exe 127MiB |
+-----------------------------------------------------------------------------+
وقت تجربه بازی است!
گیمینگ روی لینوکس دیگر یک آرزوی دستنیافتنی نیست؛ بلکه یک تجربه تمیز، سریع، بدون نرمافزارهای تبلیغاتی مزاحم و با کارایی فوقالعاده سختافزاری است.
آیا شما هم تاکنون اجرای بازیهای ویندوز روی لینوکس را امتحان کردهاید؟ قصد دارید چه بازیهایی را روی اوبونتو اجرا کنید؟ تجربیات و سوالات خود را در بخش نظرات با ما در میان بگذارید!
پرسشهای متداول (FAQ)
:::details آیا واین سرعت اجرای بازی را نسبت به ویندوز کمتر میکند؟ خیر! واین شبیهساز نیست و عملکرد سختافزار را تضعیف نمیکند. این نرمافزار دستورات را مستقیماً به کدهای محلی لینوکس تبدیل میکند. به دلیل سبکتر بودن پسزمینه لینوکس نسبت به ویندوز، بسیاری از بازیها حتی فریمریت پایدارتر و خنکتری ارائه میدهند. :::
:::details چرا بازی روی لپتاپ گیمینگ من با فریم بسیار پایین (مثلاً ۵ فریم) اجرا میشود؟
این موضوع تقریباً همیشه نشان میدهد که بازی بهجای کارت گرافیک انویدیا، روی گرافیک ضعیف داخلی اینتل در حال اجرا است. حتماً از متغیرهای __NV_PRIME_RENDER_OFFLOAD=1 و __GLX_VENDOR_LIBRARY_NAME=nvidia در اسکریپت اجرای بازی استفاده کنید.
:::
:::details آیا این روش برای بقیه بازیها مثل ویچر ۳ یا سایبرپانک هم کار میکند؟ بله! فرمول کار برای تمام بازیهای DirectX 11 و DirectX 12 یکسان است: ایجاد یک محیط واین اختصاصی، ریختن کتابخانههای DXVK و اجرای بازی از طریق دستورات اختصاصی انویدیا. :::