我对Skylake i7-6700 HQ笔记本电脑显示器(HD 530图形)的亮度变化有问题:
然而,在我的旧科特迪瓦桥笔记本电脑i7-3630 QM (HD 4000图形)亮度成功地改变了1的步骤。
下面是用于测试的脚本:
#!/bin/bash
# Test all brightness levels from 1 to max_brightness
# For Intel i7-6700 HQ HD 530 graphics:
# - When change is 18 steps brighhness doesn't change at all.
# - When change is 19 steps brightnesss changes on multi-hundred point jumps.
# - When change is 20 steps each change applied as expected.
# For Intel i7-3630QM steps of 1 work fine!
if [[ $(id -u) != 0 ]]; then
echo >&2 "$0 must be called with sudo powers"
exit 1
fi
cd /sys/class/backlight/*/
max=$(cat max_brightness)
save=$(cat brightness)
for (( i=1; i < max; i=i+20)); do
echo $i > brightness
echo setting brightness level: $i
sleep .005
done
echo $save > brightness
echo resetting brightness level from $max back to: $save
exit 0我认为我的skylake除了pch_skylake感应器的奇怪温度外工作得很好:
$ paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) | column -s $'\t' -t | sed 's/...$/.0°C/'
INT3400 Thermal 20.0°C
SEN1 56.0°C
SEN2 52.0°C
SEN3 57.0°C
SEN4 61.0°C
pch_skylake -44.0°C
B0D4 50.0°C
x86_pkg_temp 52.0°C除此之外,Linux微代码肯定是在旧笔记本上激活的(Ubuntu16.04),但可能不会加载到新笔记本上(Ubuntu16.04.5)。
编辑:使用Ubuntu18.04.1LTS重新启动,内核4.15.0-36,也可以看到相同的行为。
Confirmation:,我想知道其他人是否有一台Skylake笔记本电脑,并且可以用同样的方式来确认硬件亮度。
问题:对于我正在开发的应用程序,是否需要为每个用户添加一个功能来测试支持的最小粒度亮度变化?
发布于 2019-06-29 05:58:31
背光亮度与GPU本身是分开的;作为CPU芯片一部分的iGPU只为液晶显示产生像素数据,例如作为DisplayPort输出。(或者在笔记本电脑中,通常是eDP低电压信号)。
请注意,在桌面上,您不能通过软件调整背光亮度;普通GPU硬件/驱动程序与背光没有连接。
笔记本电脑上的软件背光控制与iGPU几乎是分开的,与它是Skylake还是IvyBridge无关。背光控制是一个单独的硬件设备,具有独立的I/O端口(或内存映射的IO寄存器或其他什么)。
更细粒度的背光调整是笔记本电脑设计的特性,而不是CPU。具体介绍了背光技术和控制器硬件。
(这是我的理解,但我并没有详细地查看GPU或背光/ ACPI驱动程序代码,以确保这是准确的。)
我不知道软件是否能够查询真正的/有意义的粒度;这个答案只是指出它依赖于GPU或GPU驱动程序的误解。
https://stackoverflow.com/questions/52804560
复制相似问题