แอปพลิเคชั่นนี้ให้คุณควบคุม AMD หรือ Nvidia GPU บนระบบ Linux
ข้อมูล GPU | การโอเวอร์คล็อก | การควบคุมพัดลม |
---|---|---|
ข้อมูลทางประวัติศาสตร์ | ||
คุณสมบัติปัจจุบัน:
ฟังก์ชั่นทั้ง AMD และ Nvidia ทำงานบน X11, Wayland หรือแม้แต่เซสชันที่ไม่มีหัว
Arch Linux: ติดตั้งแพ็คเกจ AUR (หรือเวอร์ชัน -git)
Debian/Ubuntu/Derivatives: ดาวน์โหลด .deb จากรุ่นต่างๆ
ใช้งานได้เฉพาะบน Debian 12+ และ Ubuntu 22.04+ เนื่องจากเวอร์ชันเก่าไม่มีการจัดส่ง gtk4
Fedora: RPM มีวางจำหน่ายแล้ว
Gentoo: มีให้ใน GURU
OpenSUSE: RPM มีอยู่ในรุ่นต่างๆ
รองรับเฉพาะ tumbleweed เท่านั้น เนื่องจากการกระโดดไม่มีการพึ่งพาที่จำเป็นใน repos
NixOS: มีแพ็คเกจอยู่ใน nixpkgs
มิฉะนั้น ให้สร้างจากแหล่งที่มา
เหตุใดจึงไม่มี AppImage/Flatpak/รูปแบบสากลอื่นๆ ดูที่นี่
หมายเหตุ: การรองรับ Nvidia ต้องใช้ไดรเวอร์ที่เป็นกรรมสิทธิ์ของ Nvidia ที่ติดตั้งไลบรารี CUDA
หากต้องการรับการแก้ไขหรือคุณสมบัติล่าสุดที่ยังไม่ได้เปิดตัวในเวอร์ชันเสถียร มีแพ็คเกจที่สร้างจาก Commit ล่าสุดที่คุณสามารถติดตั้งจากรุ่นทดสอบ หรือใช้แพ็คเกจ lact-git
AUR บน Distro ที่ใช้ Arch
หมายเหตุ: วันที่เผยแพร่การทดสอบไม่ใช่วันที่สร้างแพ็คเกจ โดยจะระบุวันที่จริงถัดจากไฟล์แพ็คเกจที่แนบมา
เปิดใช้งานและเริ่มบริการ (ไม่เช่นนั้นคุณจะไม่สามารถเปลี่ยนการตั้งค่าใดๆ ได้):
sudo systemctl enable --now lactd
ตอนนี้คุณสามารถใช้ GUI เพื่อเปลี่ยนการตั้งค่าและดูข้อมูลได้แล้ว
LACT ส่วนใหญ่ไม่ได้ใช้คุณลักษณะตามรุ่น แต่จะเปิดเผยฟังก์ชันการทำงานที่มีอยู่ในไดรเวอร์สำหรับระบบปัจจุบัน อย่างไรก็ตาม ตารางต่อไปนี้แสดงฟังก์ชันการทำงานที่สามารถคาดหวังได้สำหรับรุ่นที่กำหนด
รุ่น | การกำหนดค่านาฬิกา | ขีดจำกัดพลังงาน | รัฐอำนาจ | การควบคุมพัดลม | หมายเหตุ |
---|---|---|---|---|---|
หมู่เกาะทางใต้ (HD 7000) | ไม่รองรับ | ไม่ทราบ | ไม่ทราบ | ยังไม่ทดลอง | ต้องการอ็อพชันเคอร์เนล amdgpu.si_support=1 |
หมู่เกาะทะเล (R7/R9 200) | ไม่รองรับ | ไม่ทราบ | ยังไม่ทดลอง | ยังไม่ทดลอง | ต้องการอ็อพชันเคอร์เนล amdgpu.cik_support=1 |
หมู่เกาะภูเขาไฟ (R7/R9 300) | ไม่รองรับ | ไม่ทราบ | ยังไม่ทดลอง | ยังไม่ทดลอง | |
หมู่เกาะอาร์กติก/โพลาริส (RX 400-500) | รองรับ | รองรับ | รองรับ | รองรับ | |
เวก้า | รองรับ | รองรับ | รองรับ | รองรับ | |
RDNA1 (RX 5000) | รองรับ | รองรับ | รองรับ | รองรับ | |
RDNA2 (RX 6000) | รองรับ | รองรับ | รองรับ | รองรับ | |
RDNA3 (RX 7000) | รองรับ | จำกัด | รองรับ | จำกัด | มีเกณฑ์อุณหภูมิที่ไม่สามารถกำหนดค่าได้ด้านล่าง ซึ่งพัดลมไม่สามารถเปิดได้ แม้ว่าจะมีเส้นโค้งแบบกำหนดเองก็ตาม บางครั้งการจำกัดพลังงานก็ต่ำกว่าที่ควรจะเป็นด้วย ต้องใช้เคอร์เนล 6.7+ ดูข้อมูลเพิ่มเติมที่ #255 |
GPU ที่ไม่อยู่ในรายการนี้จะยังใช้งานได้ แต่อาจมีฟังก์ชันการทำงานไม่ครบถ้วน ข้อมูลการตรวจสอบ/ระบบจะพร้อมใช้งานทุกที่ GPU แบบรวมอาจมีเฉพาะการกำหนดค่าพื้นฐานเท่านั้น
ทุกอย่างที่ Maxwell หรือใหม่กว่าควรใช้งานได้ แต่การสนับสนุนรุ่นยังไม่ได้รับการทดสอบอย่างละเอียด
มีไฟล์การกำหนดค่าอยู่ใน /etc/lact/config.yaml
การตั้งค่าส่วนใหญ่สามารถเข้าถึงได้ผ่าน GUI แต่บางส่วนอาจมีประโยชน์เมื่อแก้ไขด้วยตนเอง (เช่น admin_groups
เพื่อระบุผู้ที่สามารถเข้าถึง daemon)
การตั้งค่าการอนุญาตซ็อกเก็ต:
ตามค่าเริ่มต้น LACT จะใช้อีเทอร์ wheel
หรือกลุ่ม sudo
(แล้วแต่จำนวนใดจะพร้อมใช้งาน) สำหรับการเป็นเจ้าของซ็อกเก็ตยูนิกซ์ที่ GUI จำเป็นต้องเชื่อมต่อด้วย
ในการกำหนดค่าส่วนใหญ่ (เช่น การตั้งค่าเริ่มต้นบนระบบที่ใช้ Arch, ระบบ Debian หรือ Fedora ส่วนใหญ่) คุณไม่จำเป็นต้องดำเนินการใดๆ
อย่างไรก็ตาม บางระบบอาจมีการกำหนดค่าผู้ใช้ที่แตกต่างกัน โดยเฉพาะอย่างยิ่งสิ่งนี้ได้รับการรายงานว่าเป็นปัญหาใน OpenSUSE
หากต้องการแก้ไขการอนุญาตซ็อกเก็ตในการกำหนดค่าดังกล่าว ให้แก้ไข /etc/lact/config.yaml
และเพิ่มชื่อผู้ใช้หรือกลุ่มของคุณเป็นรายการแรกใน admin_groups
ภายใต้ daemon
และรีสตาร์ทบริการ ( sudo systemctl restart lactd
)
ฟังก์ชั่นการโอเวอร์คล็อกถูกปิดใช้งานตามค่าเริ่มต้นในไดรเวอร์ มีสองวิธีในการเปิดใช้งาน:
โดยใช้ตัวเลือก "เปิดใช้งานการโอเวอร์คล็อก" ใน LACT GUI สิ่งนี้จะสร้างไฟล์ใน /etc/modprobe.d
ที่เปิดใช้งานตัวเลือกไดรเวอร์ที่จำเป็น นี่เป็นวิธีที่ง่ายที่สุดและน่าจะใช้ได้กับคนส่วนใหญ่
หมายเหตุ: การดำเนินการนี้จะพยายามสร้าง initramfs ใหม่โดยอัตโนมัติเพื่อรวมการตั้งค่าใหม่ ไม่ครอบคลุมถึงชุดค่าผสม distro ที่เป็นไปได้ทั้งหมด หากคุณเปิดใช้งานการโอเวอร์คล็อกใน LACT แต่ยังไม่ทำงานหลังจากรีบูต คุณอาจต้องตรวจสอบการกำหนดค่า distro ของคุณเพื่อให้แน่ใจว่า initramfs ได้รับการอัปเดตแล้ว การอัปเดตเวอร์ชันเคอร์เนลเป็นวิธีที่รับประกันว่าจะทริกเกอร์การอัปเดต initramfs
การระบุพารามิเตอร์การบูต คุณสามารถระบุพารามิเตอร์เคอร์เนล amdgpu.ppfeaturemask=0xffffffff
ใน bootloader ของคุณได้ด้วยตนเองเพื่อเปิดใช้งานการโอเวอร์คล็อก ดู ArchWiki สำหรับรายละเอียดเพิ่มเติม
เนื่องจากการตั้งค่า GPU บางส่วนอาจถูกรีเซ็ตเมื่อระงับระบบ LACT จะโหลดใหม่เมื่อระบบกลับมาทำงานอีกครั้ง สิ่งนี้อาจไม่ทำงานบนการกระจายที่ไม่ได้ใช้ systemd เนื่องจากต้องใช้อินเทอร์เฟซ DBus org.freedesktop.login2
การพึ่งพา:
คำสั่งให้ติดตั้งการขึ้นต่อกันทั้งหมด:
sudo dnf install rust cargo make git gtk4-devel libdrm-devel blueprint-compiler
sudo pacman -S --needed base-devel git make rust gtk4 hwdata blueprint-compiler
ขั้นตอน:
git clone https://github.com/ilya-zlobintsev/LACT && cd LACT
make
sudo make install
สามารถเปลี่ยนฟีเจอร์ LACT ที่จะสร้างขึ้นได้ โดยแทนที่คำสั่ง make
ด้วยรูปแบบต่อไปนี้:
โครงสร้างที่ไม่มีหัวไม่มี GUI:
make build-release-headless
สร้าง GUI ด้วยการสนับสนุน libadwaita:
make build-release-libadwaita
มี API ที่พร้อมใช้งานบนยูนิกซ์หรือซ็อกเก็ต TCP ดูที่นี่สำหรับข้อมูลเพิ่มเติม
เป็นไปได้ที่จะให้ LACT daemon ทำงานบนเครื่องหนึ่ง จากนั้นจัดการจากระยะไกลจากอีกเครื่องหนึ่ง
สิ่งนี้ถูกปิดใช้งานตามค่าเริ่มต้น เนื่องจากการเชื่อมต่อ TCP ไม่มีกลไกการรับรองความถูกต้องหรือการเข้ารหัส! ตรวจสอบให้แน่ใจว่าใช้ในเครือข่ายที่เชื่อถือได้เท่านั้น และ/หรือตั้งค่ากฎไฟร์วอลล์ที่เหมาะสม
หากต้องการเปิดใช้งาน ให้แก้ไข /etc/lact/config.yaml
และเพิ่ม tcp_listen_address
ด้วยที่อยู่ที่คุณต้องการและในส่วน daemon
ตัวอย่าง:
daemon :
tcp_listen_address : 0.0.0.0:12853
log_level : info
admin_groups :
- wheel
- sudo
disable_clocks_cleanup : false
หลังจากรีสตาร์ทบริการ ( sudo systemctl restart lactd
)
หากต้องการเชื่อมต่อกับอินสแตนซ์ระยะไกลด้วย GUI ให้รันด้วย lact gui --tcp-address 192.168.1.10:12853
มีคลิ้กด้วย
แสดงรายการ GPU ของระบบ:
lact cli list-gpus
ตัวอย่างผลลัพธ์:
1002:687F-1043:0555-0000:0b:00.0 (Vega 10 XL/XT [Radeon RX Vega 56/64])
รับข้อมูล GPU:
lact cli info
ตัวอย่างผลลัพธ์:
lact cli info
GPU Vendor: Advanced Micro Devices, Inc. [AMD/ATI]
GPU Model: Vega 10 XL/XT [Radeon RX Vega 56/64]
Driver in use: amdgpu
VBIOS version: 115-D050PIL-100
Link: LinkInfo { current_width: Some("16"), current_speed: Some("8.0 GT/s PCIe"), max_width: Some("16"), max_speed: Some("8.0 GT/s PCIe") }
ฟังก์ชันการทำงานของ CLI ค่อนข้างจำกัด หากคุณต้องการรวม LACT เข้ากับแอปพลิเคชัน/สคริปต์บางตัว คุณควรใช้ API แทน
เมื่อรายงานปัญหา โปรดระบุข้อมูลระบบและรุ่น GPU ของคุณ
หากคุณประสบปัญหาในการเปลี่ยนการกำหนดค่าของ GPU ขอแนะนำอย่างยิ่งให้รวมสแนปชอตการแก้ไขข้อบกพร่องไว้ในรายงานข้อบกพร่อง คุณสามารถสร้างได้โดยใช้ตัวเลือกในเมนูแบบเลื่อนลง:
สแน็ปช็อตเป็นไฟล์เก็บถาวรซึ่งรวมถึง SysFS ที่ LACT ใช้เพื่อโต้ตอบกับ GPU
หากเกิดข้อขัดข้อง ให้เรียกใช้ lact gui
จากบรรทัดคำสั่งเพื่อรับบันทึก GUI ตรวจสอบบันทึก daemon ใน journalctl -u lactd
เพื่อหาข้อผิดพลาด และดู dmesg
สำหรับบันทึกเคอร์เนลที่อาจมีข้อมูลเกี่ยวกับปัญหาไดรเวอร์และระบบ
นี่คือรายการเครื่องมือที่มีประโยชน์อื่นๆ สำหรับ AMD GPU บน Linux: