Sử dụng các nút mềm là khó chịu theo thời gian. Tôi có nghĩa là độ sáng thực sự của đèn nền (Không phải X11 gamma). Những giao thức nào có thể điều khiển được? (DVI, HDMI, DP, VGA không đoán được)
Sử dụng các nút mềm là khó chịu theo thời gian. Tôi có nghĩa là độ sáng thực sự của đèn nền (Không phải X11 gamma). Những giao thức nào có thể điều khiển được? (DVI, HDMI, DP, VGA không đoán được)
Câu trả lời:
Trên thực tế, tất cả các giao diện này đều có khả năng điều khiển đèn nền (và hơn thế nữa), miễn là cả hai, card đồ họa và màn hình đều hỗ trợ Kênh Dữ liệu Hiển thị .
DDC dựa trên I²C, vì vậy bạn phải cài đặt và tải các mô-đun hạt nhân phù hợp để làm cho nó hoạt động.
# Debian
sudo apt-get install i2c-tools
sudo modprobe i2c-dev
# RHEL
sudo dnf install i2c-tools
Sau đó, bạn phải tìm ra xe buýt I²C nào được kết nối với màn hình bằng cách sử dụng sudo i2cdetect -l
.
# Example output for Intel graphics card
i2c-0 i2c i915 gmbus dpc I2C adapter
i2c-1 i2c i915 gmbus dpb I2C adapter
i2c-2 i2c i915 gmbus dpd I2C adapter
i2c-3 i2c DPDDC-B I2C adapter
i2c-4 i2c DPDDC-C I2C adapter
# Example output for AMD graphics card
i2c-0 i2c Radeon i2c bit bus 0x90 I2C adapter
i2c-1 i2c Radeon i2c bit bus 0x91 I2C adapter
i2c-2 i2c Radeon i2c bit bus 0x92 I2C adapter
i2c-3 i2c Radeon i2c bit bus 0x93 I2C adapter
i2c-4 i2c Radeon i2c bit bus 0x94 I2C adapter
i2c-5 i2c Radeon i2c bit bus 0x95 I2C adapter
i2c-6 i2c card0-eDP-1 I2C adapter
i2c-7 i2c card0-VGA-1 I2C adapter
Trong trường hợp Intel , xe buýt bên phải là một trong những DPDDC ( Cổng hiển thị DDC ), tùy thuộc vào cổng bạn đang sử dụng. Trong trường hợp của tôi cả, HDMI và DP được hiển thị dưới dạng DP.
Trong trường hợp AMD , bus được gọi là card0- interface - n .
Nếu không có giao diện nào được liệt kê, thì thẻ / trình điều khiển của bạn không hỗ trợ DDC theo cách tiêu chuẩn.
Bây giờ chúng ta phải thăm dò xem liệu màn hình có hỗ trợ DDC hay không và nó có cho phép đặt độ sáng theo cách này không. Đầu tiên, cài đặt ddccontrol
:
# Debian
sudo apt-get install ddccontrol
# RHEL
sudo dnf install ddccontrol
Sau đó, liệt kê danh sách các tham số DDC được hỗ trợ bằng cách sử dụng nó. Ví dụ này giả định giao diện DDC của bạn được liên kết với bus i2c-3.
# sudo ddccontrol dev:/dev/i2c-3
ddccontrol version 0.4.2
Copyright 2004-2005 Oleg I. Vdovikin (oleg@cs.msu.su)
Copyright 2004-2006 Nicolas Boichat (nicolas@boichat.ch)
This program comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of this program under the terms of the GNU General Public License.
Reading EDID and initializing DDC/CI at bus dev:/dev/i2c-3...
I/O warning : failed to load external entity "/usr/share/ddccontrol-db/monitor/DELA0A2.xml"
Document not parsed successfully.
I/O warning : failed to load external entity "/usr/share/ddccontrol-db/monitor/DELlcd.xml"
Document not parsed successfully.
EDID readings:
Plug and Play ID: DELA0A2 [VESA standard monitor]
Input type: Digital
= VESA standard monitor
> Color settings
> Brightness and Contrast
> id=brightness, name=Brightness, address=0x10, delay=-1ms, type=0
supported, value=45, maximum=100
> id=contrast, name=Contrast, address=0x12, delay=-1ms, type=0
supported, value=75, maximum=100
--- [snip] ---
Đó là, nếu mọi thứ đều ổn, giá trị độ sáng sẽ báo cáo chính xác cùng độ sáng như được đặt trong màn hình. Bây giờ bạn có thể đặt độ sáng 50% bằng lệnh này (thay thế 0x10 bằng địa chỉ giá trị độ sáng được tìm thấy ở trên):
sudo ddccontrol dev:/dev/i2c-3 -r 0x10 -w 50
gddccontrol
, giao diện người dùng GTK cho ddccontrol
, nhưng trước tiên bạn phải chọn / chmod bus I²C của bạn hoặc viết quy tắc udev để thực hiện tự động.
Dựa trên câu trả lời của @ M132, ddccontrol
dường như không rõ ràng và không thêm cấu hình cho bất kỳ màn hình mới nào kể từ năm 2006.
May mắn thay, có một công cụ mới hơn: ddcutil , mạnh mẽ hơn nhiều và được phát triển tích cực. Sau khi cài đặt một trong các gói dựng sẵn hoặc xây dựng từ nguồn, nó có thể được sử dụng để truy vấn và đặt độ sáng (trong vô số các cài đặt khác):
# ddcutil capabilities | grep Brightness
Feature: 10 (Brightness)
# ddcutil getvcp 10
VCP code 0x10 (Brightness ): current value = 60, max value = 100
# ddcutil setvcp 10 70
ddcutil capabilities | grep Luminosity
Có xbacklight
- "điều chỉnh độ sáng của đèn nền bằng cách sử dụng phần mở rộng RandR".
Tuy nhiên, nó không thành công với màn hình HDMI của tôi, vì vậy tôi quay lại sử dụng sửa đổi phần mềm:
xrandr --output HDMI2 --brightness 0.7
xbacklight
?
xrandr --output HDMI --brightness 0.7
xbacklight
sẽ hoạt động với máy tính xách tay và các thiết bị khác sử dụng điều khiển đèn nền dựa trên ACPI. Đối với màn hình máy tính để bàn, giải pháp được hỗ trợ rộng rãi nhất là sử dụng DDC và ddccontrol
.
Các DDC / CI kernel mô-đun bao gồm một ddcci-backlight
mô-đun mà có thể tích hợp hầu hết các màn hình DDC / CI-có khả năng vào hệ thống đèn nền của kernel ( /sys/class/backlight
). Điều này cho phép bất kỳ công cụ nào có thể sử dụng công cụ sau để điều khiển đèn nền trên màn hình DDC / CI; ví dụ: sử dụng các điều khiển tích hợp trên màn hình nền Gnome:
Mô-đun hạt nhân có sẵn trong Debian (kể từ Debian 9) và các bản phân phối phái sinh:
sudo apt install ddcci-dkms
kmod
cho ddci
các mô-đun hạt nhân và thực sự tận hưởng thanh trượt độ sáng cho phép kiểm soát nó mà không cần bất kỳ ứng dụng của bên thứ ba nào :) Cảm ơn bạn đã đề cập đến nó!
ati
,fglrx
,nouveau
,nvidia
, ...)?