1 个稳定版本
1.0.1 | 2019年6月4日 |
---|
#397 在 操作系统 中排名
563 个星标 & 24 个关注者
145KB
3.5K SLoC
System76 电源管理
system76-power 是一个用于管理图形和电源配置文件的工具。
可切换图形
可切换图形是笔记本电脑和一体机的功能。它不支持在台式机上使用。
切换模式后,必须重启才能使更改生效。
集成
仅使用 Intel 或 AMD CPU 上的集成图形控制器。
图形性能较低,但电池寿命较长。
无法使用连接到 dGPU 端口的任何外部显示器。
NVIDIA
仅使用 dGPU (NVIDIA)。
图形性能较高,但电池寿命较短。
允许使用外部显示器。
混合
启用 PRIME 渲染卸载。iGPU 用作主要渲染器,同时允许特定应用程序使用 dGPU 进行渲染。
PRIME 渲染卸载需要 435.17 NVIDIA 驱动程序或更高版本。
应用程序必须使用 GLVND 来利用此功能,因此即使请求也可能不在 dGPU 上渲染。Vulkan 应用程序必须使用 __NV_PRIME_RENDER_OFFLOAD=1
启动以在 dGPU 上渲染。GLX 应用程序必须使用 __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia
启动以在 dGPU 上渲染。
显示卸载接收器(“反向PRIME”)需要450.57或更高版本的NVIDIA驱动程序。此功能允许在此模式下使用外部显示器。
设备在不使用时进入低功耗状态需要GPU支持运行时电源管理。只有Turing卡及更新的卡完全实现了此功能。驱动程序提供的 supported-gpus.json
文件中可以检查运行时电源管理的支持。例如:
$ cat /sys/bus/pci/devices/0000:01:00.0/device
0x1f15
$ jq '.chips[] | select(.devid=="0x1F15")' < /usr/share/doc/nvidia-driver-460/supported-gpus.json
{
"devid": "0x1F15",
"name": "GeForce RTX 2060",
"features": [
"dpycbcr420",
"dpgsynccompatible",
"hdmi4k60rgb444",
"hdmigsynccompatible",
"geforce",
"runtimepm",
"vdpaufeaturesetJ"
]
}
计算
集成的图形控制器仅用于渲染。dGPU作为计算节点提供。
电源配置文件
平衡
- 将同步数据到磁盘设置为15秒
- 在内核中启用笔记本电脑模式功能
- 启用SCSI/SATA链路时间电源管理
- 如果存在,则控制Intel PState值
性能
- 使用平衡的设置
- 如果内核支持硬件,则使用ACPI平台配置文件
电池
- 使用性能的设置
- 将屏幕亮度设置为较低值
- 关闭键盘背光
热插拔检测
当显示器插入连接到dGPU的端口时,发送dbus信号 HotPlugDetect
。如果处于集成或计算模式,GNOME扩展将提示切换到混合模式,以便可以使用显示器。
添加热插拔检测
基于Intel的系统
可以使用电路图和coreboot-collector的输出确定显示端口的GPIO(边带)端口和引脚。电路图将指示哪些GPIO是显示端口(*_HPD
)。在coreboot-collector.txt
中的相应GPP_*
条目将包含端口/引脚组合。
复用DisplayPort
某些型号从mDP和USB-C输出复用DisplayPort。这些单元有一个单独的数据切换引脚,用于确定使用哪个输出。
基于AMD的系统
用于检测外部显示插拔事件的FCH GPIO控制的MMIO区域。显示端口使用与Intel系统相同的*_HPD
,但可能不映射到实际的GPIO(例如,HDMI_HPD
映射到kudu6上的DP3_HPD
)。在插入显示器前后从coreboot-collector在NVIDIA模式下生成diff应提供GPIO编号。
依赖项
~17–33MB
~484K SLoC