我在使用三星电视作为显示器时遇到问题。感谢您的任何见解:
debian + xorg + RTX4090 + qn700b + (HDMI 2.1 电缆似乎不错)
问题:唤醒电视和电脑后,无法再次恢复到8k?它卡在 4k 处。
症状:
- 最初,当电视/电脑重新打开时(无论顺序),都会出现黑屏。
- Ctrl-alt-f1/f2/etc 将屏幕唤醒为 4k,然后我可以 ctrl-alt-f7 返回图形 tty,但我丢失了 8k,现在它卡在 4k(电视正确地仍处于三星游戏模式)。
sudo nvidia-settings
不允许 8k(只有 4k 出现在下拉列表中)- 通过下载 EDID
nvidia-settings
并强制输入 xorg 不起作用?不知道该怎么说。 cvt
和xrandr --newmode etc
/--addmode "HDMI-0" 7680x4320at60
失败BadMatch (invalid parameter attributes)
,主要操作码 140 RANDR,次要操作码 18RRAddOutputMode
。
(我知道我可以在 xorg 中设置选项“DPMS”“false”和各种选项“fooTime”“off”,或者xset -dpms
将监视器保持在 24/7,或者重新启动窗口管理器/X/等作为解决方法,但希望否则修复此问题而不丢失 WM 状态,如果可能的话,无需进行不可逆的固件更新。)
感谢您的任何见解!
Xorg.0.log:
Validated MetaModes: "7680x4320+0+0{AllowGSYNCCompatible=On}"
..
MetaMode "HDMI-0:7680x4320" could not be re-validated against the current hardware configuration; removing.
..
Setting mode "DPY-0:7680x4320+0+0{AllowGSYNCCompatible=On}"
..
Setting mode "DPY-0:nvidia-auto-select+0+0{AllowGSYNCCompatible=On}"
xorg.conf:
Section "Monitor"
..
Option "DPMS" "false"
Option "PreferredMode" "7680x4320"
EndSection
Section "Device"
..
Option "ModeValidation" "AllowNonEdidModes"
EndSection
Section "Screen"
..
Option "CustomEDID" "GPU-0.HDMI-0:/path/to/edid.txt"
Option "metamodes" "7680x4320 +0+0 {AllowGSYNCCompatible=On}"
Option "ConnectToAcpid" "False" # https://bbs.archlinux.org/viewtopic.php?id=262207
SubSection "Display"
Virtual 7680 4320
Depth 24
EndSubSection
EndSection
答案1
tl;dr:电视游戏模式被损坏,因此必须退出并返回游戏模式,但有多种游戏模式设置,因此您必须小心使用哪一种。命令行将帮助您避免每次使用 GUI 重置所有设置。这种情况很少发生,对我来说是可以忍受的,下面是一个相当简单的解决方法。
(在赏金失败和几个月的痛苦挫败之后,我发布了自己的答案......希望它对其他人有帮助......)
暂时不要更改任何设置!据了解,这些步骤仅在 8k 分辨率丢失后立即发挥作用。继续阅读以下内容。
情况:
您无法在三星显示器上设置 8k...
- 尽管游戏模式已开启,和
- 尽管有 HDMI 2.1 电缆, 和
- (也许)在之前让它工作之后(也许它在启动时工作,但您想在不重新启动窗口管理器或重新启动的情况下修复此问题)(也许您禁用 DPMS 以避免这种情况,但要付出夏季电费的代价) ....
- (也许你的屏幕是黑的)
(已知以下修复程序适用于开箱即用的固件,因此您不必不可逆转地升级固件,尽管这可能会修复它(如果您在更新固件时遇到/没有此问题,请在评论中告诉我们)。)
背景
(一般来说,您可以通过以下任一方式确认游戏模式已打开:
- 按住遥控器上的⏯️按钮...
- 它应该在屏幕底部显示一个不同的“完全酷的玩家科幻 UI”水平滚动条,向您显示 VRR 和延迟等;如果不在游戏模式下什么都不会发生
或者
- 在水平 ⚙️ 菜单中,
Game Mode =
应将 AS USUAL 设置为= Game
...- (暂时不要改变这些)(暂时不要改变这些)(暂时不要改变这些)
Picture Mode =
自动设置为打开= Game
时;Game Mode = Game
和Sound Mode =
= Game
当游戏模式打开时自动设置;和Game Mode =
手动设置为= Game
(看似明显)以启用游戏模式。 (也适用于= Auto
)
- (暂时不要改变这些)(暂时不要改变这些)(暂时不要改变这些)
解决方案
我从未让 xrandr 和 xorg.conf 强制使用非 EDID 模式,希望欺骗三星显示器的行为。
相反,有效的方法是让三星显示器认识到,是的,它确实可以支持 8k,并通过 EDID 将其正确地再次发布到 PC:
- (首先,如果你的屏幕是黑色的,在 Linux 上
ctrl-alt-f1
至少能够以 4k 格式查看内容,然后返回到图形ctrl-alt-f7
...我在三星故障排除方面绝对没有运气,这可能使我的问题永久化并且我必须将电视重置为默认设置。)(如果您使用的不是 Linux,而是 Windows 或 Mac,并且由于某种原因遇到这种情况,您可以使用键盘快捷键来降级回临时分辨率,或者尝试继续需要注意的是,您没有完全遵循这些步骤。) - 进入三星设置水平滚动菜单(点击 (⚙️123) 按钮,然后 1) 再点击几次,或 2) 在圆形方向键上向上点击几次)。
- 转到
Game Mode
,可能有点偏右,需要在圆形方向板上向右点击几次。Game Mode
应照常设置Game
,并且游戏模式应打开(可通过上面的说明进行验证)。 - 然而,三星电视的内部状态和/或其“游戏模式”可能会被无形的窃听。以下内容将修复它:
- 去
Game Mode
(不要与Picture Mode = Game
;混淆继续向右击,直到第三次提到Game Mode = ...
)并点击一次;这会将其设置为= Auto
.您应该仍然处于Game Mode
(= Auto
,可通过上面的说明进行验证),但它不再损坏。- 编辑:如果您位于
= Auto
; ,这也应该有效。按一次将其设置为= Off
,然后在关闭后再次按一次将其设置为= On
- 长话短说:关闭并重新打开游戏模式,确保不要将其与图片模式混淆。
- 编辑:如果您位于
- 现在,PC 应该能够通过常规方式设置 8k 分辨率。例如
xrandr --output HDMI-0 --mode 7680x4320
xrandr
(或者在不应该正确显示的地方调用的任何内容)都可以工作。我相信这甚至可以保留{AllowGSYNCCompatible=On}
,但如果我错了nvidia-settings
在>侧边栏=X Server Display configuration
>Advanced...
底部按钮>等中再次设置。- 受到推崇的:或者,您可以只运行命令........................................:
nvidia-settings --assign CurrentMetaMode="HDMI-0: 7680x4320_60 +0+0 {AllowGSYNCCompatible=On}"
(假设您使用的是 HDMI 端口 0)。这是在终端上使用 ctrl-R 最快的方法,并且不需要 sudo。
(更改任何其他设置,例如将图片模式设置为娱乐或通过反复试验进行其他操作,导致我无法修复问题,无法重新进入游戏模式,显示器错误地检测到事物或将配置文件交换为令人眼花缭乱的明亮设置等,直到完全重新启动为止。您的里程可能会有所不同。)
选择:
如果这弄乱了电视并忘记了您的设置,那么我很幸运地从游戏模式=On
(损坏) -> =Auto
-> =Off
->循环(例如循环之间 5 秒),然后如上所述=On
调用。nvidia-settings --assign etcetcetc