AMDGPU: تفاوت بین نسخهها
(اضافه کردن بخش جدید و وارد کردن اطلاعات جدید) |
جز |
||
(۱۰ نسخهٔ میانی ویرایش شده توسط ۲ کاربر نشان داده نشده) | |||
سطر ۱: | سطر ۱: | ||
− | AMDGPU یک ماژول کرنل لینوکس برای پشتیبانی از کارت گرافیک های برپایه AMD GCN و جدیدتر است. این ماژول توسط توسعه دهندگان AMD و با مشارکت توسعه دهندگان کرنل لینوکس و Mesa3D نوشته شده است. این ماژول به طور رسمی از نسخه ۴.۲ وارد کرنل لینوکس شد. | + | AMDGPU یک ماژول کرنل لینوکس برای پشتیبانی از کارت گرافیک های برپایه معماری AMD GCN و جدیدتر است. این ماژول توسط توسعه دهندگان AMD و با مشارکت توسعه دهندگان کرنل لینوکس و Mesa3D نوشته شده است. این ماژول به طور رسمی از نسخه ۴.۲ وارد کرنل لینوکس شد. |
− | = | + | = مدلهای پشتیبانی شده = |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! سری !! نمونه !! | + | ! سری !! نمونه !! معماری !! پشتیبانی |
|- | |- | ||
سطر ۴۳: | سطر ۴۳: | ||
| Radeon RX 6000 || RX 6600 || نسل دوم RDNA || کامل | | Radeon RX 6000 || RX 6600 || نسل دوم RDNA || کامل | ||
+ | |||
+ | |- | ||
+ | |||
+ | | Radeon RX 7000[3] || معرفی نشده || احتمالا نسل سوم RDNA || احتمالا در آینده | ||
|} | |} | ||
=== پینوشت جدول === | === پینوشت جدول === | ||
− | [1] بعضی از | + | [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 را روشن کنید. | [2] در حال حاضر پشتیبانی از نسل اول و دوم GCN آزمایشی است. مدل خود را در اینجا https://en.wikipedia.org/wiki/List_of_AMD_graphics_processing_units#Radeon_HD_7000_series بررسی کنید و درصورتی که نسل اول یا دوم GCN بود، باید به طور دستی AMDGPU را روشن کنید. | ||
+ | |||
+ | [3] این سری هنوز معرفی نشده است و اطلاعات این مورد بر اساس حدس و گمان بنا شده است. | ||
= نصب و راه اندازی = | = نصب و راه اندازی = | ||
− | === پیش | + | === پیش نیازها: === |
− | اوبونتو 14.04.4 LTS یا جدیدتر | + | اوبونتو 14.04.4 LTS یا جدیدتر و یا هر سیستم عاملی بر پایه لینوکس ۴.۲ و جدیدتر |
− | ثابت افزار های انحصاری منتشر شده توسط AMD | + | ثابت افزار های انحصاری منتشر شده توسط AMD |
=== به کار انداختن ماژول === | === به کار انداختن ماژول === | ||
سطر ۶۲: | سطر ۶۸: | ||
در خروجی، به دنبال خط زیر باشید: {{bc| | در خروجی، به دنبال خط زیر باشید: {{bc| | ||
+ | # or Display controller | ||
VGA compatible controller}} | VGA compatible controller}} | ||
سطر ۷۳: | سطر ۸۰: | ||
}} | }} | ||
+ | در صورتی که در قسمت Kernel Modules:، ماژول AMDGPU در دسترس بود ولی از radeon استفاده میشد، قسمت بعد را بخوانید: | ||
+ | |||
+ | === فعال کردن پشتیبانی از نسل اول و دوم GCN === | ||
+ | هردو ماژول AMDGPU و radeon، از پارامتر های cik_support= و si_support= پشتیبانی میکنند در نتیجه کار ساده ای در پیش خواهید داشت. | ||
+ | |||
+ | شما باید این دو ماژول را تنظیم کنید که radeon بارگذاری نشود و AMDGPU بارگذاری شود. روش های مختلفی برای این کار وجود دارد که به آنها خواهیم پرداخت: | ||
+ | |||
+ | ==== روش اول: تنظیم کردن پارامتر های کرنل در بارگذار سامانه (Bootloader) ==== | ||
این بخش نیاز به گسترش دارد و به زودی تکمیل خواهد شد. | این بخش نیاز به گسترش دارد و به زودی تکمیل خواهد شد. | ||
+ | |||
+ | ==== روش دوم: تنظیم کردن پارامتر های کرنل در modprobe.d ==== | ||
+ | در قدم اول، شما باید دو پرونده متنی برای پیکربندی ماژول ها در پوشه /etc/modprobe.d/ بسازید. در پایین نمونه ای از این کار ارائه شده است: | ||
+ | {{bc| | ||
+ | sudo bash -c 'echo > /etc/modprobe.d/amdgpu.conf' | ||
+ | sudo bash -c 'echo > /etc/modprobe.d/radeon.conf' | ||
+ | }} | ||
+ | |||
+ | سپس پرونده amdgpu.conf را با یک ویرایشگر متن( مانند nano) ویرایش کنید و محتویات زیر را درون آن قرار دهید: | ||
+ | {{bc|<nowiki> | ||
+ | options amdgpu si_support=1 | ||
+ | options amdgpu cik_support=1</nowiki> | ||
+ | }} | ||
+ | |||
+ | سپس پرونده radeon.conf را با یک ویرایشگر متن( مانند nano) ویرایش کنید و محتویات زیر را درون آن قرار دهید: | ||
+ | {{bc| | ||
+ | <nowiki>options radeon si_support=0 | ||
+ | options radeon cik_support=0 | ||
+ | </nowiki>}} | ||
+ | |||
+ | در نهایت با دستور زیر initramfs را بروزرسانی کنید( این کار به اینترنت نیاز ندارد): | ||
+ | {{bc| | ||
+ | sudo update-initramfs -u | ||
+ | }} | ||
+ | |||
+ | سپس رایانه را یکبار راه اندازی مجدد کنید و دستور lspci -k را وارد کنید. خروجی چیزی مانند این خواهد بود: | ||
+ | {{bc| | ||
+ | ... | ||
+ | 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/ | ||
+ | [[رده: راهاندازها]] |
نسخهٔ کنونی تا ۲۶ آذر ۱۴۰۱، ساعت ۱۵:۰۹
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/