Только что обнаружил нечто, что может дать отличную пищу для размышлений. А именно, я загрузил Арч на этом "АМД-шном" ноуте. Ввёл пароль на экране lxdm. После ввода пароля и перед входом в рабочий стол секунды на 2-3 возникает просто синий экран (рабстол грузится в это время). И вот при этом синем экране я нажал физическую кнопку "Яркость_минус" - и ЭКРАН ПОГАС ПОЛНОСТЬЮ! Не притушился до самого минимума, а вырубился полностью, как я и хотел, чтобы было. Снова включил его кнопкой "Яркость_плюс". Но уже во второй раз этот трюк не получился - экран погасить не удалось. Но при каждой следующей загрузке системы этот трюк стабильно можно повторять! Следовательно, экран таки УМЕЕТ выключаться кнопкой (повешенной на неё командой "brightnessctl set +5%"), а значит, это не аппаратное ограничение, а что-то другое, софтовое!

Давайте попробуем ещё раз подумать в связи со вновь открывшимися обстоятельствами. Почему это можно сделать только в течение 2-3 секунд, проходящих между вводом пароля входа и загрузкой рабочего стола? Что такого грузится вместе с рабочим столом, что в дальшейшем блокирует возможность полного погашения экрана кнопкой вплоть до следующей перезагрузки??
vasek
firmware

Ну так я и думал - прошивка дисплея такова сама по себе, и AMD или Intel сами по себе тут вряд ли при делах - такой ноут попался. Всё же, если надумаю когда-нибудь в него Винду втыкнуть, отпишусь тут, что с яркостью.
vasek
systemctl -a | grep backlight

У меня эта команда не выдала вообще ничего. Ладно, ноут работает - и слава богу. Думал, есть нормальное несложное решение, а раз нет, так и бог с ним. Тем более, если это аппаратное ограничение, то только зря промучаюсь. Можно закрывать вопрос.

Конечно, было бы интересно проверить, как на этом ноуте повела бы себя Винда с точки зрения яркости... Есть диск с Виндой, в компе торчит, может попробую сунуть в ноут, не знаю, загрузится ли.
vasek
ls /sys/class/backlight
acpi_video0 intel_backlight
Интересный нюанс. На интеловском ноуте, где с яркостью всё ОК, сделал "ls /sys/class/backlight":

$ ls /sys/class/backlight
intel_backlight
- то есть, нету "acpi_video0", и тем не менее яркость можно потушить полностью вместе с экраном. И как это понимать? Значит, не в acpi дело?

vasek
1. декомпилируй таблицу DSDT……… 2. лучше ничего не делай и смирись
Прочитав пункт 1, решил сразу перейти к пункту 2 :)))
vasek
setpci –dumpregs

yurius: ~ $ setpci --dumpregs
cap pos w name
     00 W VENDOR_ID
     02 W DEVICE_ID
     04 W COMMAND
     06 W STATUS
     08 B REVISION
     09 B CLASS_PROG
     0a W CLASS_DEVICE
     0c B CACHE_LINE_SIZE
     0d B LATENCY_TIMER
     0e B HEADER_TYPE
     0f B BIST
     10 L BASE_ADDRESS_0
     14 L BASE_ADDRESS_1
     18 L BASE_ADDRESS_2
     1c L BASE_ADDRESS_3
     20 L BASE_ADDRESS_4
     24 L BASE_ADDRESS_5
     28 L CARDBUS_CIS
     2c W SUBSYSTEM_VENDOR_ID
     2e W SUBSYSTEM_ID
     30 L ROM_ADDRESS
     3c B INTERRUPT_LINE
     3d B INTERRUPT_PIN
     3e B MIN_GNT
     3f B MAX_LAT
     18 B PRIMARY_BUS
     19 B SECONDARY_BUS
     1a B SUBORDINATE_BUS
     1b B SEC_LATENCY_TIMER
     1c B IO_BASE
     1d B IO_LIMIT
     1e W SEC_STATUS
     20 W MEMORY_BASE
     22 W MEMORY_LIMIT
     24 W PREF_MEMORY_BASE
     26 W PREF_MEMORY_LIMIT
     28 L PREF_BASE_UPPER32
     2c L PREF_LIMIT_UPPER32
     30 W IO_BASE_UPPER16
     32 W IO_LIMIT_UPPER16
     38 L BRIDGE_ROM_ADDRESS
     3e W BRIDGE_CONTROL
     10 L CB_CARDBUS_BASE
     14 W CB_CAPABILITIES
     16 W CB_SEC_STATUS
     18 B CB_BUS_NUMBER
     19 B CB_CARDBUS_NUMBER
     1a B CB_SUBORDINATE_BUS
     1b B CB_CARDBUS_LATENCY
     1c L CB_MEMORY_BASE_0
     20 L CB_MEMORY_LIMIT_0
     24 L CB_MEMORY_BASE_1
     28 L CB_MEMORY_LIMIT_1
     2c W CB_IO_BASE_0
     2e W CB_IO_BASE_0_HI
     30 W CB_IO_LIMIT_0
     32 W CB_IO_LIMIT_0_HI
     34 W CB_IO_BASE_1
     36 W CB_IO_BASE_1_HI
     38 W CB_IO_LIMIT_1
     3a W CB_IO_LIMIT_1_HI
     40 W CB_SUBSYSTEM_VENDOR_ID
     42 W CB_SUBSYSTEM_ID
     44 L CB_LEGACY_MODE_BASE
  01 00 - CAP_PM
  02 00 - CAP_AGP
  03 00 - CAP_VPD
  04 00 - CAP_SLOTID
  05 00 - CAP_MSI
  06 00 - CAP_CHSWP
  07 00 - CAP_PCIX
  08 00 - CAP_HT
  09 00 - CAP_VNDR
  0a 00 - CAP_DBG
  0b 00 - CAP_CCRC
  0c 00 - CAP_HOTPLUG
  0d 00 - CAP_SSVID
  0e 00 - CAP_AGP3
  0f 00 - CAP_SECURE
  10 00 - CAP_EXP
  11 00 - CAP_MSIX
  12 00 - CAP_SATA
  13 00 - CAP_AF
  14 00 - CAP_EA
0001 00 - ECAP_AER
0002 00 - ECAP_VC
0003 00 - ECAP_DSN
0004 00 - ECAP_PB
0005 00 - ECAP_RCLINK
0006 00 - ECAP_RCILINK
0007 00 - ECAP_RCECOLL
0008 00 - ECAP_MFVC
0009 00 - ECAP_VC2
000a 00 - ECAP_RBCB
000b 00 - ECAP_VNDR
000d 00 - ECAP_ACS
000e 00 - ECAP_ARI
000f 00 - ECAP_ATS
0010 00 - ECAP_SRIOV
0011 00 - ECAP_MRIOV
0012 00 - ECAP_MCAST
0013 00 - ECAP_PRI
0015 00 - ECAP_REBAR
0016 00 - ECAP_DPA
0017 00 - ECAP_TPH
0018 00 - ECAP_LTR
0019 00 - ECAP_SECPCI
001a 00 - ECAP_PMUX
001b 00 - ECAP_PASID
001c 00 - ECAP_LNR
001d 00 - ECAP_DPC
001e 00 - ECAP_L1PM
001f 00 - ECAP_PTM
0020 00 - ECAP_M_PCIE
0021 00 - ECAP_FRS
0022 00 - ECAP_RTR
0023 00 - ECAP_DVSEC
0024 00 - ECAP_VF_REBAR
0025 00 - ECAP_DLNK
0026 00 - ECAP_16GT
0027 00 - ECAP_LMR
0028 00 - ECAP_HIER_ID
0029 00 - ECAP_NPEM
vasek
Есть такая тема на BBS и довольно свежая … такой bug действительно имеется.
Да, почитал. Но так как с английским туго, то не совсем понял, к какому выводу они в итоге пришли. Вроде таки ограничения по железу?

vasek
acpi_backlight=video
Внёс вот это в параметры ядра - ничего не поменялось:

yurius: ~ $ ls /sys/class/backlight
amdgpu_bl0
Ещё одна деталь. Если вручную вывести яркость в "0", то

cat /sys/class/backlight/*/brightness
выдаёт "0". Если теперь перезагрузиться, то сразу после загрузки

cat /sys/class/backlight/*/brightness
даёт "12". И так всё время. При этом, если яркость вывести в максимум (255), то после перезагрузки это 255 держится. То есть полный "0" не допускается при загрузке. Интересно, где это "12" прописано?
vasek
А где ACPI-шный???
Не знаю! Никто не забирал, я к своему ноуту никого не подпускаю ))

vasek
что может быть достигнуто добавлением следующих параметров ядра:
acpi_backlight=video
acpi_backlight=vendor
acpi_backlight=native
Так что, их всех надо прописать, или один какой-то? Куда лучше - в arch.conf или в /etc/modprobe.d/, или это равнозначно? И что после этого сделать дальше, как проверить, изменился ли реальный минимум? Всё так же "echo 0 | sudo tee...."?
Morisson
Не wayland?
Нет:

yurius: ~ $ echo $XDG_SESSION_TYPE
x11
- Xorg.

Morisson
зависит от написанного в *sdt.aml

Где это посмотреть?

vasek
echo 20 | sudo tee /sys/class/backlight/acpi_video0/brightness
Да я ж говорю, что яркость прекрасно управляется и вручную, и вножную, и через xrandr, и через brightnessctl, и вообще как хочешь - только если прописать "0"

echo 0 | sudo tee /sys/class/backlight/amdgpu_bl0/brightness
, это не реальный ноль (чёрный экран без - или практически без - подсветки), а довольно приличная яркость. Вот же о чём речь!
vasek
ls /sys/class/backlight
yurius: ~ $ ls /sys/class/backlight
amdgpu_bl0
yurius: ~ $ cat /sys/class/backlight/amdgpu_bl0/brightness
0
yurius: ~ $ cat /sys/class/backlight/amdgpu_bl0/max_brightness
255
vasek
xbacklight -inc 5 ( xbacklight -dec 5)
yurius: ~ $ xbacklight -dec 10
No outputs have backlight property
yurius: ~ $ xbacklight -inc 10
No outputs have backlight property

vasek
PS - если используется модуль amdgpu, то можно попробовать загрузиться с параметром amdgpu.backlight=0 (пишу по памяти - могу и ошибиться)
Нет, всё именно так. Внёс этот параметр в загрузку ядра (/etc/modprobe.d/amdgpu.conf) - ноль на массу, "нулевая яркость" всё так же далеко не нулевая.

Ну что, скорее всего именно "железное" ограничение и его не обойти?