화면 백라이트는 어떻게 작동하나요?

화면 백라이트는 어떻게 작동하나요?

다음을 제외하고 백라이트 설정 및 제어에 관한 모든 것이 나에게 적합합니다.

백라이트가 최대로 재설정되었습니다. 재부팅/부팅할 때마다. 백라이트 최소값은 다른 곳에서 최소 밝기 설정이 아닌 화면이 완전히 검은색이 될 때까지 지속됩니다. NB> 위의 1.에 대한 답변이 여러 곳에서 다르기 때문에 실제로 이 모든 것이 어떻게 작동하는지 읽고 이해할 수 있는 사람이나 어딘가를 찾고 있습니다.

내 노트북에서 편집할 수 있는 2개의 서로 다른 백라이트 폴더와 많은 conf 파일이 있습니다. 따라서 시스템에 영향을 미치는 파일의 내용을 이해해야 합니다.

답변1

백라이트의 핵심은 여기에 표시된 Linux 커널 매개변수입니다 /sys. 값을 1~15 사이의 값으로 설정하여 조작할 수 있습니다. 예를 들어:

$ echo 5 | sudo tee /sys/class/backlight/acpi_video0/brightness

밝기를 5로 설정합니다. 이 커널 매개변수에 대한 작업은 추상화되어 있으므로 키보드나 데스크탑 애플릿을 사용하여 값을 변경할 때 다음을 수행할 수 있습니다.D 버스그리고.

D-Bus를 사용하면 이 구조를 조작할 수 있습니다 org.freedesktop.Hal.Device.KeyboardBacklight.그렇게 할 수 있는 특권이 허용되고 있습니다. 내 Fedora 14 시스템에서 다음과 같이 이를 볼 수 있습니다.

$ grep -i backlight /etc/dbus-1/system.d/*
/etc/dbus-1/system.d/hal.conf:         send_interface="org.freedesktop.Hal.Device.KeyboardBacklight"/>
/etc/dbus-1/system.d/hal.conf:         send_interface="org.freedesktop.Hal.Device.KeyboardBacklight"/>

파일에서 hal.conf:

  <!-- Only allow users at the local console to manipulate devices -->
  <policy at_console="true">
  ...
      <allow send_destination="org.freedesktop.Hal"
           send_interface="org.freedesktop.Hal.Device.KeyboardBacklight"/>

다음과 같이 D-Bus를 통해 현재 값을 쿼리할 수 있습니다.

$ dbus-send \
     --print-reply \
     --system \
     --dest=org.freedesktop.Hal  \
     /org/freedesktop/Hal/devices/computer_backlight \
     org.freedesktop.Hal.Device.LaptopPanel.GetBrightness | \
     tail -1 | \
     awk '{print $2}'

반환 값:

15

다음과 같이 명령줄에서 작동할 수도 있습니다( int32:10아래 비트는 밝기를 "10"으로 설정합니다).

$ dbus-send \
     --print-reply \
     --system \
     --dest=org.freedesktop.Hal  \
     /org/freedesktop/Hal/devices/computer_backlight \
     org.freedesktop.Hal.Device.LaptopPanel.SetBrightness \
     int32:10 #2&>1 > /dev/null

밝기가 변경된 것을 볼 수 있습니다.

$ cat /sys/class/backlight/acpi_video0/brightness
10

그렇다면 이 문제를 어떻게 해결해야 할까요?

한 가지 아이디어는 종료 및/또는 다시 시작하기 전에 현재 밝기를 파일에 저장한 다음 위 명령을 시작(아마도 ~/.xinitrc) 에 추가하고 dbus-send ...이전에 파일에 저장한 밝기 값을 추가하는 것입니다.

/sys/class/backlight 아래에 여러 파일이 있는 이유는 무엇입니까?

askubuntu.com에서 다음과 같은 제목의 Q&A를 봤습니다.내 시스템에 두 개의 밝기 제어 파일(/sys/class/)이 있는 이유는 무엇입니까?. 이 의견에 대한 답변은 다음과 같습니다.

시스템 시작 시 커널 매개변수 acpi_backlight=vendor를 사용하면 acpi_video0 항목이 Intel 항목으로 대체되지만 현재는 Fn 키로 이 항목의 값을 변경할 수 없습니다.

또한 다음과 같은 제목의 커널 문서도 찾았습니다.커널 매개변수. 이 문서에는 다음과 같은 aCPI 옵션이 언급되어 있습니다.

acpi_backlight= [HW,ACPI]
        acpi_backlight=vendor
        acpi_backlight=video
        If set to vendor, prefer vendor specific driver
        (e.g. thinkpad_acpi, sony_acpi, etc.) instead
        of the ACPI video.ko driver.

intel_backlight의 참조는 /sys/class/backlight인텔 그래픽 카드에 제공되는 그래픽 드라이버의 백라이트 부분인 것 같습니다 .

인용하다

관련 정보