Làm cách nào để kích hoạt tính năng quản lý năng lượng Radeon?


16

Vì vậy, gần đây, RC của Linux Kernel 3.11 đã được phát hành. Như bạn có thể biết, hạt nhân mới này đi kèm với quản lý năng lượng động cho người dùng trình điều khiển Radeon nguồn mở. Vì tôi gặp sự cố quản lý nguồn với kernel mặc định của Ubuntu 13.04, tôi muốn dùng thử.

Có ai biết cách kích hoạt tính năng mới này sau khi tôi tải xuống và cài đặt RC kernel mới nhất từ ​​PPA Kiểm tra hạt nhân không?

EDIT: Cụ thể hơn, tôi đang nói về điều này: http://www.phoronix.com/scan.php?page=news_item&px=MTM5NjE


3.11 chưa được phát hành và Ubuntu đã có bản sao chính thức? Đó là mới. Bạn, có lẽ, có nghĩa là PPA thử nghiệm hạt nhân ?
mikewhthing 26/07/13

Vâng, đó là ý tôi! Tôi đã tải xuống RC mới nhất (RC2 tại thời điểm viết) từ đó.
Gladen

1
@mikewhthing: chỉnh sửa câu hỏi để làm cho nó rõ ràng hơn. Theo ý kiến ​​của tôi, câu hỏi này hoàn toàn không có chủ đề, tôi đang nói về việc cài đặt kernel mới trong phiên bản Ubuntu HIỆN TẠI (13.04). Ai đó có thể vui lòng làm rõ tại sao câu hỏi này được đóng lại?
Gladen

1
Bạn nói đúng, cái này nên được mở lại. Xin lỗi vì bỏ phiếu vội vàng (không chính xác) để đóng.
Tom Brossman

@Gladen - ý bạn là tlp? Điều này thường liên quan đến việc quản lý năng lượng để buộc tội máy tính xách tay và nó cũng đang xử lý việc sử dụng năng lượng.
dschinn1001

Câu trả lời:


14

Cập nhật (8-05-2014): Theo dự kiến, trong Ubuntu 14.04, DPM được bật theo mặc định cho tất cả các GPU AMD hiện đại (sê-ri HD 4000 đến HD 7000). Nếu bạn đang chạy bản phát hành này cùng với card đồ họa được hỗ trợ, bạn không cần phải làm gì để sử dụng tính năng này.

Cập nhật (28-11-2013): Ubuntu 13.10 xuất xưởng với kernel 3.11 theo mặc định. Vì vậy, nếu bạn đang sử dụng bản phát hành này, tất cả những gì bạn cần làm là thêm tham số vào Linux Kernel. Tôi cập nhật hướng dẫn cho phù hợp. Ngoài ra, có vẻ như Ubuntu 14.04, DPM sẽ được bật theo mặc định nên hy vọng hướng dẫn này sẽ bị lỗi thời! ;)

Ok, trong vài ngày qua tôi đã thử nghiệm một chút và kích hoạt nó! Nó thực sự rất dễ dàng một khi bạn tìm ra cách để làm điều đó .. Đối với những người cũng muốn thử nó, tôi sẽ giải thích từng bước. Bắt đầu với việc cài đặt kernel mới.

Trước hết một vài điểm để xem xét. Hỗ trợ Radeon DPM chỉ dành cho các card đồ họa dòng Radeon HD 2000 (R600) và mới hơn. Nếu bạn đang sử dụng card đồ họa ATI Radeon thực sự cũ, hỗ trợ quản lý năng lượng đã được khai thác trên trình điều khiển nguồn mở.

Các bước chỉ dành cho Ubuntu 13.04 trở xuống:

Để sử dụng Radeon DPM, bạn cần kernel Linux 3.11 hoặc mới hơn. Bạn có thể sử dụng PPA kernel của Ubuntu và tải xuống hình ảnh hạt nhân Linux 3.11 ổn định mới nhất từ thư mục kernel.ub Ubuntu.com này . Bất kỳ cập nhật kernel nào trong tương lai cũng tốt và sau đó cũng có thể được tìm thấy trong thư mục này.

Sử dụng tính năng quản lý năng lượng động đòi hỏi phải cập nhật chương trình cơ sở cho card đồ họa. Có thể tải xuống vi mã / phần sụn mới nhất của Radeon từ thư mục này . Bạn cần các tệp * _smc.bin từ tháng Sáu. Nếu bạn không chắc chắn về tên mã card đồ họa cụ thể của mình, bạn thường có thể tìm thấy nó từ việc xem đầu ra của lspci -v | ít hơn ( Các) tệp cần được đặt trong / lib / firmware / radeon . Nếu bạn cố gắng sử dụng Radeon DPM mà không có phần sụn, khả năng tăng tốc sẽ bị vô hiệu hóa cho GPU. Bạn cũng cần đảm bảo rằng bạn đã cập nhật firmware trong / lib / firmware / radeon trước khi cài đặt kernel> 3.11 - nó sẽ được tự động kéo vào hình ảnh đã cài đặt.

Ubuntu 13.10 trở xuống hoặc người dùng Radeon HD 3000 trở xuống:

Hỗ trợ Radeon DPM không được bật theo mặc định bên dưới nhân Linux 3.13 hoặc cho các GPU cũ hơn. Bạn phải thêm tham số radeon.dpm = 1 vào nhân Linux để kích hoạt nó trong những trường hợp này. Để biết các bước thực hiện trên Ubuntu, hãy xem Ubuntu Wiki về các cách khác nhau.

Với kernel mới được cài đặt, phần sụn được cập nhật và thông số Kernel được kích hoạt, bạn sẽ thấy ổn. Bây giờ bạn phải khởi động lại hệ thống của mình và bạn có thể kiểm tra xem mọi thứ có hoạt động không sau đó bằng cách thực hiện

cat / sys / kernel / debug / Dri / 64 / radeon_pm_info

Lưu ý: @ luca992 chỉ ra rằng tệp radeon_pm_info có thể nằm trong một thư mục khác (ví dụ: trong / sys / kernel / debug / Dri / 1 / thay vì Dri / 64 /). Nếu bạn hoàn toàn chắc chắn rằng mình đã thực hiện đúng tất cả các bước, bạn có thể kiểm tra xem đây có phải là trường hợp của bạn không.

Bạn sẽ thấy một cái gì đó như thế này:

uvd    vclk: 0 dclk: 0
power level 0    sclk: 22000 mclk: 25000 vddc: 900

Bạn có thể định cấu hình thêm cho DPM bằng cách mở /etc/rc.local và thêm dòng sau:

echo parameter > /sys/class/drm/card0/device/power_dpm_state

Trong đó "tham số" có thể là:

  • pin (một tập hợp các mức hiệu suất được nhắm mục tiêu cho hoạt động tối ưu trên pin)
  • cân bằng (một tập hợp các mức hiệu suất được nhắm mục tiêu để sử dụng tối ưu mỗi ngày)
  • hiệu suất (một tập hợp các mức hiệu suất được nhắm mục tiêu cho hiệu suất GPU cao nhất)

Nguồn: http://www.botchco.com/agd5f/?p=57


1
Phải nói rằng .. thời lượng pin trên máy tính xách tay của tôi bây giờ cũng tốt như với trình điều khiển độc quyền. Ngoài ra hiệu suất nên tốt hơn một chút vì tác dụng phụ của việc có thể đóng lại tốc độ cao hơn khi tải nặng hơn. Tôi rất ấn tượng với kết quả này!
Gladen

Nếu bạn nhận được command not found: glxinfo. Sau đó, nó không được cài đặt. Để cài đặt, làm sudo apt-get install mesa-utils.
lưới

Tên của gói apt cần được cài đặt là gì?
Entea

"Nếu bạn đang chạy bản phát hành này cùng với một card đồ họa được hỗ trợ, bạn không cần phải làm gì để sử dụng tính năng này." - Ngoại trừ cài đặt mặc định là 'cân bằng', vì vậy bạn có thể muốn chuyển sang 'pin' nếu bạn muốn giảm thiểu mức tiêu thụ năng lượng.
otus

Trong 15.04 (Radeon HD 4850) /sys/class/drm/card0/device/power_methodnói profilevà sẽ không chấp nhận dynamictrừ khi cũng được bật trên dòng lệnh kernel.
Sam Brightman

6

Ok, tôi sẽ tham gia giả định rằng bạn đã có kernel 3.11-GIT và có thẻ ATI r6xx-SI hoặc mới hơn. Từ đó trở đi, bạn chỉ cần thêm radeom.dpm=1 như một tham số mô-đun hạt nhân và nên kích hoạt DPM.

Nó có thể là trong tham số GRUB, trong /etc/default/grubtệp ghi

GRUB_CMDLINE_LINUX_DEFAULT="quiet radeon.dpm=1"
sudo update-grub

Hoặc trong một .conftập tin trong /etc/modprobethư mục của bạn :

sudo su -
touch /etc/modprobe.d/radeon-dpm.conf
echo options radeon dpm=1 > /etc/modprobe.d/radeon-dpm.conf 
cat /etc/modprobe.d/radeon-dpm.conf 
# will output "options radeon dpm=1"

Trích dẫn từ các nguồn:

Trình điều khiển AMD Radeon cuối cùng đã hỗ trợ quản lý năng lượng động! Đối với GPU Radeon, đồng hồ lõi và đồng hồ bộ nhớ sẽ tự động điều chỉnh (cùng với điện áp) dựa trên tải, điều này hoạt động cho các cấu hình đa màn hình và nó gần ngang tầm với những gì được cung cấp bởi PowerPlay và các tính năng trong trình điều khiển AMD Catalyst. Đây là một chiến thắng lớn để tiết kiệm năng lượng / pin khi sử dụng trình điều khiển Radeon Linux nguồn mở cùng với việc cung cấp hiệu suất tốt hơn cho các GPU mới hơn có tốc độ xung nhịp thấp hơn tần số định mức của chúng. Hỗ trợ này quay trở lại GPU Radeon HD 2000 (R600) nhưng hiện tại không được bật theo mặc định nhưng yêu cầu cài đặt radeon.dpm = 1.

Nguồn:


đừng quên: 'sudo update-grub' sau khi thực hiện 'GRUB_CMDLINE_LINUX_DEFAULT = "quiet radeon.dpm = 1"'
Frank

anh bạn, bạn không biết làm thế nào hữu ích cho tôi để sửa card đồ họa ATI HD 4890 trên Manjaro. CẢM ƠN BẠN.
TheFrack

1

Trong trường hợp tlp đáp ứng ý định của bạn:

sudo add-apt-repository ppa: linrunner / tlp

sudo apt-get cập nhật

sudo apt-get cài đặt tlp tlp -rdw

Đối với thinkpad, đó là:

sudo apt-get install tp-smapi-dkms acpi-call-tools

Khi không sai - tlp không phụ thuộc hoàn toàn vào phiên bản kernel - nó phụ thuộc nhiều hơn vào phần cứng. Giữa Kernel 3.11 và Kernel 3.10 không có sự khác biệt lớn.

Trong bài viết của phoronix được liệt kê về những thay đổi mới trong Kernel 3.11:

http://www.phoronix.com/scan.php?page=news_item&px=MTQwODk

Nhưng trong 3.11 không có thay đổi nào về quản lý năng lượng nói chung.

Tôi nghĩ rằng những thay đổi quản lý năng lượng động cho Radeon chỉ ảnh hưởng đến sự hỗ trợ với việc cung cấp năng lượng cho card đồ họa.

Sau khi cài đặt tlp là bắt đầu với:

sudo tlp bắt đầu


1
Cảm ơn vì sự trả lời! Nhưng đó không phải là chính xác những gì tôi muốn nói. Có thực sự là quản lý điện năng như bạn có thể đọc trong bài viết này trên Phoronix: phoronix.com/scan.php?page=news_item&px=MTM5NjE
Gladen

1

Ngoài câu trả lời của Gladen, tôi nghĩ rằng tôi sẽ đưa ra một cam kết bổ sung về việc xác minh dpm đang hoạt động để cứu người khác một số sự thất vọng.

Trong trường hợp của tôi

cat /sys/kernel/debug/dri/64/radeon_pm_info

không tồn tại nên tôi nghĩ dpm không hoạt động.

Tuy nhiên, rõ ràng tập tin đó chỉ nằm trong các thư mục khác nhau đối với tôi.

cat /sys/kernel/debug/dri/65/radeon_pm_info

hoặc là

cat /sys/kernel/debug/dri/1/radeon_pm_info

cả hai tồn tại và liệt kê cùng một thông tin.


bây giờ/sys/kernel/debug/dri/0/amdgpu_pm_info
brauliobo

0

Theo dõi câu trả lời từ @Gladen, tôi thấy rằng

echo parameter > /sys/class/drm/card0/device/power_dpm_state

đã không làm việc. Một cách nhanh chóng ls -l /sys/class/drm/cho tôi thấy rằng card0 đề cập đến thẻ tích hợp & card1 cho thẻ rời. Vì vậy, các công việc sau đây cho tôi trên thẻ1:

$ sudo -i

# cat /sys/class/drm/card1/device/power_dpm_state
balanced
# cat /sys/class/drm/card1/device/power_dpm_force_performance_level  
auto
# cat /sys/kernel/debug/dri/1/radeon_pm_info
uvd    vclk: 0 dclk: 0
power level 0    sclk: 15700 mclk: 20000 vddc: 900 vddci: 0
#
# echo "battery" > /sys/class/drm/card1/device/power_dpm_state
# cat /sys/kernel/debug/dri/1/radeon_pm_info
uvd    vclk: 0 dclk: 0
power level 0    sclk: 15700 mclk: 20000 vddc: 900 vddci: 0
#
# echo "low" > /sys/class/drm/card1/device/power_dpm_force_performance_level  
# cat /sys/kernel/debug/dri/1/radeon_pm_info
uvd    vclk: 0 dclk: 0
power level 0    sclk: 15700 mclk: 20000 vddc: 900 vddci: 0
# echo "performance" > /sys/class/drm/card1/device/power_dpm_state
# cat /sys/kernel/debug/dri/1/radeon_pm_info
uvd    vclk: 0 dclk: 0
power level 0    sclk: 15700 mclk: 20000 vddc: 900 vddci: 0
# echo "high" > /sys/class/drm/card1/device/power_dpm_force_performance_level  
-bash: echo: write error: Invalid argument
# # Not sure why the above happened!?
#
# cat /sys/kernel/debug/dri/1/radeon_pm_info
uvd    vclk: 0 dclk: 0
power level 2    sclk: 75000 mclk: 80000 vddc: 1120 vddci: 0
# echo "high" > /sys/class/drm/card1/device/power_dpm_force_performance_level  
#
# echo "battery" > /sys/class/drm/card1/device/power_dpm_state
# cat /sys/kernel/debug/dri/1/radeon_pm_info
uvd    vclk: 0 dclk: 0
power level 0    sclk: 15700 mclk: 20000 vddc: 900 vddci: 0
# 
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.