AMDGPU

از ویکی فارسی اوبونتو
پرش به: ناوبری، جستجو

AMDGPU یک ماژول کرنل لینوکس برای پشتیبانی از کارت گرافیک های برپایه معماری AMD GCN و جدیدتر است. این ماژول توسط توسعه دهندگان AMD و با مشارکت توسعه دهندگان کرنل لینوکس و Mesa3D نوشته شده است. این ماژول به طور رسمی از نسخه ۴.۲ وارد کرنل لینوکس شد.

مدل‌های پشتیبانی شده

سری نمونه معماری پشتیبانی
Radeon HD 7000[1] Radeon HD 7730 نسل اول و دوم GCN آزمایشی
Radeon HD 8000[1] Radeon HD 8760 نسل اول و دوم GCN آزمایشی
Radeon R5/R7/R9[1] R9 290 نسل اول، دوم و سوم GCN آزمایشی[2]
Radeon RX 400 RX 480 نسل اول، دوم و چهارم GCN آزمایشی [2]
Radeon RX 500 RX 570 نسل اول، سوم و چهارم GCN کامل[2]
Radeon RX Vega Radeon RX Vega 56 نسل پنجم GCN کامل
Radeon VII Radeon VII نسل پنجم GCN کامل
Radeon RX 5000 RX 5500 نسل اول RDNA کامل
Radeon RX 6000 RX 6600 نسل دوم RDNA کامل
Radeon RX 7000[3] معرفی نشده احتمالا نسل سوم RDNA احتمالا در آینده

پی‌نوشت جدول

[1] بعضی از مدل‌های این سری‌ها، بر اساس GCN نیستند. AMDGPU در حال حاضر از گرافیک‌های قدیمی تر از GCN پشتیبانی نمی‌کند( وبرنامه ای برای پشتیبانی از آنها ندارد). برای مدل‌های دقیق اینجا را ببینید: https://en.wikipedia.org/wiki/List_of_AMD_graphics_processing_units#Radeon_HD_7000_series

[2] در حال حاضر پشتیبانی از نسل اول و دوم GCN آزمایشی است. مدل خود را در اینجا https://en.wikipedia.org/wiki/List_of_AMD_graphics_processing_units#Radeon_HD_7000_series بررسی کنید و درصورتی که نسل اول یا دوم GCN بود، باید به طور دستی AMDGPU را روشن کنید.

[3] این سری هنوز معرفی نشده است و اطلاعات این مورد بر اساس حدس و گمان بنا شده است.

نصب و راه اندازی

پیش نیازها:

اوبونتو 14.04.4 LTS یا جدیدتر و یا هر سیستم عاملی بر پایه لینوکس ۴.۲ و جدیدتر

ثابت افزار های انحصاری منتشر شده توسط AMD

به کار انداختن ماژول

از نسخه ۴.۲ کرنل لینوکس، AMDGPU به طور پیش فرض حضور دارد و برای کارت گرافیک های برپایه نسل سوم GCN و جدیدتر به طور خودکار روشن می‌شود همچنین می‌توان برای نسل های اول و دوم GCN، ماژول AMDGPU را به طور دستی روشن کرد. برای بررسی کارت گرافیک خود دستور زیر را وارد کنید:

lspci -k

در خروجی، به دنبال خط زیر باشید:

# or Display controller
VGA compatible controller

خروجی چیزی شبیه به این خواهد بود:

...
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Curacao PRO [Radeon R7 370 / R9 270/370 OEM]
	Subsystem: Gigabyte Technology Co., Ltd Device 226c
	Kernel driver in use: amdgpu
	Kernel modules: radeon, amdgpu
...

در صورتی که در قسمت Kernel Modules:، ماژول AMDGPU در دسترس بود ولی از radeon استفاده می‌شد، قسمت بعد را بخوانید:

فعال کردن پشتیبانی از نسل اول و دوم GCN

هردو ماژول AMDGPU و radeon، از پارامتر های cik_support= و si_support= پشتیبانی می‌کنند در نتیجه کار ساده ای در پیش خواهید داشت.

شما باید این دو ماژول را تنظیم کنید که radeon بارگذاری نشود و AMDGPU بارگذاری شود. روش های مختلفی برای این کار وجود دارد که به آنها خواهیم پرداخت:

روش اول: تنظیم کردن پارامتر های کرنل در بارگذار سامانه (Bootloader)

این بخش نیاز به گسترش دارد و به زودی تکمیل خواهد شد.

روش دوم: تنظیم کردن پارامتر های کرنل در modprobe.d

در قدم اول، شما باید دو پرونده متنی برای پیکربندی ماژول ها در پوشه /etc/modprobe.d/ بسازید. در پایین نمونه ای از این کار ارائه شده است:

sudo bash -c 'echo > /etc/modprobe.d/amdgpu.conf'
sudo bash -c 'echo > /etc/modprobe.d/radeon.conf'

سپس پرونده amdgpu.conf را با یک ویرایشگر متن( مانند nano) ویرایش کنید و محتویات زیر را درون آن قرار دهید:

options amdgpu si_support=1
options amdgpu cik_support=1

سپس پرونده radeon.conf را با یک ویرایشگر متن( مانند nano) ویرایش کنید و محتویات زیر را درون آن قرار دهید:

options radeon si_support=0
options radeon cik_support=0

در نهایت با دستور زیر initramfs را بروزرسانی کنید( این کار به اینترنت نیاز ندارد):

sudo update-initramfs -u

سپس رایانه را یکبار راه اندازی مجدد کنید و دستور lspci -k را وارد کنید. خروجی چیزی مانند این خواهد بود:

...
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Curacao PRO [Radeon R7 370 / R9 270/370 OEM]
	Subsystem: Gigabyte Technology Co., Ltd Device 226c
	Kernel driver in use: amdgpu
	Kernel modules: radeon, amdgpu
...

در روبروی Kernel driver in use: باید عبارت amdgpu نوشته شده باشد. درصورتی که مغایرت وجود داشت کار های خود را بررسی کنید.

گرداننده های سمت کاربر برای amdgpu

گرداننده های نوشته شده توسط جامعه - Mesa3D

تنها گرداننده نوشته شده توسط جامعه برای AMDGPU، گرداننده Mesa3D است که گرداننده هایی برای رابط های مختلف منتشر کرده است این گرداننده ها به شرح ذیل است:

Mesa3D Drivers for AMDGPU Kernel Module:

radeonsi: گرداننده ای برای پشتیبانی از رابط های OpenGL، VDPAU، VA-API و OpenCL.

RADV: گرداننده ای برای پشتیبانی از رابط Vulkan

این گرداننده ها به طور پیش فرض در اوبونتو( و در بسیاری دیگر از توزیع های گنو/لینوکس) نصب شده اند و استفاده می‌شوند.

گرداننده‌های نوشته شده توسط AMD

گرداننده های نوشته شده توسط AMD، به دو دسته انحصاری و متن‌باز تقسیم می‌شوند:

گرداننده های انحصاری

AMDGPU-PRO Drivers for AMDGPU Kernel Module:

amdgpu-pro-libgl: گرداننده ای برای پشتیبانی از رابط OpenGL

vulkan-amdgpu-pro: گرداننده ای برای پشتیبانی از رابط Vulkan

opencl-amd: گرداننده ای برای پشتیبانی از رابط OpenCL

amf-amdgpu-pro: گرداننده ای برای پشتیبانی از رابط های انحصاری AMD برای شتاب‌دهی ویدیو

این گرداننده ها به طور پیش فرض نصب نیستند و در حال حاضر راهی برای نصب کردن آن از طریق مخازن رسمی( وحتی ppa نیز) وجود ندارد و تنها راه، نصب دستی با بسته .deb منتشر شده توسط AMD است که این کار اصلا توصیه نمی‌شود و ممکن است که باعث خرابی سامانه شود.

گرداننده های متن باز

amdvlk:‌ گرداننده ای برای پشتیبانی از رابط Vulkan

این گرداننده به طور پیش فرض نصب نیست و در حال حاضر راهی برای نصب کردن آن از طریق مخازن رسمی( وحتی ppa نیز) وجود ندارد و تنها راه، نصب دستی با بسته .deb منتشر شده توسط AMD است که این کار اصلا توصیه نمی‌شود و ممکن است که باعث خرابی سامانه شود.

ثابت افزار های انحصاری

این بخش نیاز به گسترش دارد.

منابع

مقاله AMDGPU در ویکی آرچ: https://wiki.archlinux.org/title/AMDGPU

مقاله AMDGPU در ویکی جنتو: https://wiki.gentoo.org/wiki/AMDGPU

پیوندهای مفید

مقاله Free & Open Source Drivers در ویکی پدیای انگلیسی: https://en.wikipedia.org/wiki/Free_and_open-source_graphics_device_driver

مقاله AMDGPU در ویکی پدیای انگلیسی: https://en.wikipedia.org/wiki/AMDGPU

مرکز اسناد Mesa3D: پیوند https://docs.mesa3d.org/

Mesa3D: https://mesa3d.org/