Có cách nào để điều chỉnh độ sáng của màn hình không?


9

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)


1
Điều này có thể phụ thuộc vào GPU và trình điều khiển GPU của bạn. Có gì card đồ họa nào bạn có, và trình điều khiển ( ati, fglrx, nouveau, nvidia, ...)?
Gilles 'SO- ngừng trở thành ác quỷ'

Câu trả lời:


12

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

1
Hoàn toàn mát mẻ cảm ơn bạn. Điều này bằng cách nào đó tích hợp với gnome? Chỉ vì điều này tốn nhiều thời gian hơn nhiều so với việc di chuyển ngón tay của tôi đến màn hình. Đây vẫn là tuyệt đẹp, cuối cùng tôi có thể kịch bản độ sáng của tôi.
ManuelSchneid3r

1
Tiếc là không có. Tôi cũng đã tìm kiếm giải pháp độ sáng cho Gnome sau khi tôi chuyển từ máy tính xách tay sang PC. Có vẻ như Gnome sử dụng điều khiển đèn nền X11, lần lượt sử dụng các thiết bị lớp đèn nền của Linux và không có trình điều khiển đèn nền DDC ↔ Linux.
m132

1
Bạn có thể sử dụng 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.
m132

8

Dựa trên câu trả lời của @ M132, ddccontroldườ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

1
hoặcddcutil capabilities | grep Luminosity
Fabian Schlieper

Ddccontrol đã nhận được một số cập nhật tốt trong vài năm qua
mirh

4

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

1
Độ sáng màn hình năm 2015 của nó nên được kiểm soát. ddccontrol.sourceforge.net trông giống như một câu trả lời nhưng phần mềm bị các tác giả bỏ rơi.
ManuelSchneid3r

@ ManuelSchneid3r Chà, màn hình HDMI của tôi không phải là model 2015. Có vấn đề với xbacklight?
Sidhekin

Nó không làm việc cho tôi. Tôi sử dụng một dell u2414h.
ManuelSchneid3r

Vâng, đó là một mô hình năm 2013. ;-) Nghiêm túc mà nói, dự đoán tốt nhất của tôi là nó vẫn không được hỗ trợ và độ sáng của phần mềm (vẫn khác với Gamma) là thứ tốt nhất bạn có được:xrandr --output HDMI --brightness 0.7
Sidhekin

1
xbacklightsẽ 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.
m132

2

Các DDC / CI kernel mô-đun bao gồm một ddcci-backlightmô-đ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:

Trên cùng bên phải của máy tính để bàn Gnome, hiển thị điều khiển âm lượng và độ sáng màn hình

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

Điều đó thật tuyệt vời. Một loại ví dụ về tích hợp phần cứng sâu hơn trong Linux mà nhiều bản phân phối, không may, thiếu. Chỉ cần thực hiện đóng gói kmodcho ddcicá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ó!
Danila Vershinin
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.