[Share Experiences] 7840u 外接 4K@60Hz 显示器黑屏的解决方法
Tofloor
poster avatar
andot
deepin
2024-04-13 14:18
Author

我的电脑是 GPD-WinMax2 2023(7840u 版本),安装用的是 Deepin v23 beta3,安装用的 6.1 内核,安装过程很顺利,安装完之后除了外接两个显示器不能正确扩展以外(这个后面也解决了),两个外接显示器显示是正常的。

但是升级内核到 6.6 之后,开机只有笔记本内屏可以正常显示,外接屏幕都是黑屏无信号状态。幸好之前安装 Windows、Arch 和 Manjaro 时都遇到这种问题了,原因是驱动识别到显示器支持 4K@60Hz 10bit 模式,但是实际显卡最多只支持 4K@60Hz 8bit 模式,所以导致黑屏。

在 Windows 上,只需要在显卡驱动里面将外接显示器的颜色深度从 10bit 改为 8bit 就可以正常显示了。在 Linux 下需要用 xrandr 来进行设置:

xrandr --output DisplayPort-0 --set "max bpc" 8

这个设置方式应该在所有 Linux 系统上都适用,执行这个语句之后,外接显示器就能正常显示了。但是每次都手动执行还是很麻烦的,Deepin 用的是 lightdm 显示管理器,所以可以在 lightdm 的配置中增加这样一个脚本 /etc/lightdm/display-setup-script:

#!/bin/sh
xrandr --output DisplayPort-0 --set "max bpc" 8
xrandr --output DisplayPort-1 --set "max bpc" 8
xrandr --output HDMI-A-0 --set "max bpc" 8

然后编辑 /etc/lightdm/lightdm.conf,在 [Seat:*] 部分增加下面一行配置:

display-setup-script=/etc/lightdm/display-setup-script

就可以了,如图所示:

image.png

注意不要加到 [Seat:*] 上面部分,那样不管用。这个方法同样适用于其他使用 lightdm 做显示管理器的 Linux 系统。

另外,注意 DisplayPort-0、DisplayPort-1 等这些名字根据自己的设备来确定,只要执行 xrandr 就可以把所有的外接显示器都显示出来,哪个有连接哪个没有连接也都一目了然,比如:

image.png

Reply Favorite View the author
All Replies
青稚°
Moderator
2024-04-13 16:30
#1

这个设置方法,在其他Linux上面也是可用的,给你点赞like

Reply View the author
neko
Moderator
2024-04-13 20:46
#2

Mark了

Reply View the author