openKylin论坛

 找回密码

教你如何在优麒麟上调节外接显示器,如亮度、色彩等方面! [复制链接]

一、ddcutil简介
ddcutil是优麒麟系统中自带的一个管理显示器设置的Linux程序,例如亮度调节和色彩校准等。一般来说,任何可以通过显示器上按钮来改变的设置都可以被ddcutil修改。ddcutil主要使用DDC/CI(显示数据通道命令接口),通过I2C与实施MCCS(显示器控制命令集)的显示器进行通信,以此来修改显示器参数。

需要注意的是:

●  ddcutil不支持笔记本显示器,因为笔记本显示设备是通过特殊的API进行控制的,并非I2C。
●  一般来说,ddcutil可以在虚拟机中构建,但不会在虚拟机中运行,这是因为虚拟视频驱动中没有实现I2C。当然,如果虚拟机连接到一个单独的视频卡,并且在passthru模式下运行该视频卡的非虚拟化驱动程序,那么ddcutil将可以正常工作。
●  Nvidia的专有视频驱动程序可能需要特殊配置才可正常运行ddcutil。
●  不同的显示器在DDC实施方面具有差异性,因此部分信息是否存在或有效将取决于该显示器,比较常见的缺陷是缺少序列号。

二、ddcutil在UKUI中的使用
目前在UKUI桌面环境中,ddcutil主要用于外接显示器的亮度调节功能。ukui-control-center通过kscreen可以获取到所有显示器的硬件信息,包括但不局限于显示器的唯一序列号以及显示器名称。当同一主机连接多台显示器时,使用唯一序列号就可以对特定的显示器进行亮度调节。

虽然使用ddcutil调节亮度需要root权限,但是在ukui-control-center的总线进程中实际上会提供相应接口,所以其它进程在使用该接口时只需要提供序列号参数,即可获取该显示亮度或者修改该显示器的亮度。


三、命令示例
下面给大家列举一些常见的使用命令,可以帮助我们在优麒麟上轻松实现外接显示器亮度调节!

1、检测示例:
sudo ddcutil detect
该命令可查看主机与显⽰器是否正常建立了通信,可以获取到显示器的I2C总线号、序列号等信息。当有多个显示器时,可以添加--async参数,提高检测效率。


2、获取显示器亮度(getvcp,这里需要用到上面检测命令中的信息)


3、设置亮度(setvcp,可以看到设置之后亮度值由51变为了80)


当然ddcutil工具的功能是非常强大的,它具有多种用途,想了解更多详情的小伙伴可进入其官网查看学习:http://www.ddcutil.com/  。

通讯员:冯超
来源:终端研发部
审核:优麒麟社区


楼主
发表于 2022-4-13 09:20:28
回复

使用道具 举报

openKylin

GMT+8, 2024-4-27 04:19 , Processed in 0.017994 second(s), 17 queries , Gzip On.

Copyright ©2022 openKylin. All Rights Reserved .

ICP No. 15002470-12 Tianjin

快速回复 返回顶部 返回列表