还有一个问题,
我已经为此工作了几天,但我根本无法让它发挥作用。:(
我知道它适用于 Windows,但 Linux 正在挂断我。
这是我的规格:
nvidia GTX970、
Vizio M43-C1 4k 电视
如果重要的话:
华硕 Z170a
Intel i5 Skylake
我试过的:
- 通过 nvidia 面板进行设置(60Hz 有 2 个条目,一个报告设置元模式失败,另一个报告没有信号的黑屏)
- 通过 xrandr 设置
xrandr --output HDMI-0 --mode 3840x2160 -r 59.94 --verbose (and)
xrandr --output HDMI-0 --mode 3840x2160 -r 60 --verbose
Run Code Online (Sandbox Code Playgroud)
此报告失败:
screen 0: 3840x2160 945x532 mm 103.13dpi
crtc 0: 3840x2160 59.94 +0+0 "HDMI-0"
xrandr: Configure crtc 0 failed
crtc 0: disable
crtc 1: disable
crtc 2: disable
crtc 3: disable
screen 0: revert
crtc 0: revert
crtc 1: revert
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 21 (RRSetCrtcConfig)
Value in failed request: 0x0
Serial number of failed request: 54
Current serial number in output stream: 54
Run Code Online (Sandbox Code Playgroud)
- 将驱动程序更新到最新测试版 (370.xx)
任何见解将不胜感激,谢谢。现在我要上班了!
编辑:这里有一些研究,我希望它会有所帮助。
来自 nvidia linux 开发论坛的主题:https :
//devtalk.nvidia.com/default/topic/939971/linux/4k-60hz-works-in-windows-not-in-linux-bounty-offered-for-fix-/ 1
**编辑 3:在此线程中可能已经为我找到了解决方法。
https://devtalk.nvidia.com/default/topic/950134/linux/4k-on-hdmi-2-0/
这家伙说已解决,但我真的无法收集他甚至做了什么。
https://devtalk.nvidia.com/default/topic/818079/linux/980gtx-no-support-for-4k-60hz-4-2-0-only-30hz-/post/4496595/#4496595
显然这一年多以前,伙计让它与 349.12 驱动程序一起工作?什么?这是一个真正的打击。
我的系统中的一些信息让我想把头发拉出来:
来自/var/log/Xorg.0.log:
[ 8026.035] (--) NVIDIA(GPU-0): VIZ M43-C1 (DFP-1): 连接
[ 8026.035] (--) NVIDIA(GPU-0): VIZ M43-C1 (DFP-1): 内部TMDS
[ 8026.035] (--) NVIDIA(GPU-0): VIZ M43-C1 (DFP-1): 600.0 MHz 最大像素时钟
所以最大600MHz?好的...
xrandr --verbose
3840x2160 (0x1c6) 593.410MHz +HSync +VSync
h: width 3840 start 4016 end 4104 total 4400 skew 0 clock 134.87KHz
v: height 2160 start 2168 end 2178 total 2250 clock 59.94Hz
Run Code Online (Sandbox Code Playgroud)
我可能在这里遗漏了一些基本的东西,我不确定。似乎向我检查(600MHz vs 593.410MHz,)我错了吗?
根据我的电视规格,HDMI 端口 5 在 120Hz 时最高支持 1080p,在 60Hz 时最高支持 4k。
xrandr --output HDMI-0 --mode 1920x1080 -r 119.88
Run Code Online (Sandbox Code Playgroud)
这很好用,我在 1080p 上达到了 120Hz。
1080p 上的 120Hz 会导致屏幕上间歇性地闪烁水平线。
现在我想是时候睡觉了。
编辑 2:
这里仍然没有运气,但一些新的运气来了 - 我的 EVGA 升级到 1070 终于开始了。安装后将报告更改(如果有)。
编辑 3:
看来我可能非常幸运。虽然其他有类似问题的人已经等了几个月,但我有时间介入,只等了几周。我将不得不等待我的新卡进来测试它,但它看起来很有希望。nVidia 承认这是驱动程序中的一个错误,并同时提供了来自另一台电视的 EDID 以覆盖似乎使 4k 上的 60Hz 工作,但代价是在 1080p 上丢失 120Hz。我等不及要测试这个了!
小智 9
我在 LG 4k 电视上遇到了类似的问题,但事实证明我必须在电视上启用“HDMI ULTRA HD Deep Colour”选项才能使其工作。
对于任何面临类似问题的人来说,在 nvidia 发布下一个驱动程序并将其纳入存储库之前,我们已经找到了解决方法。
通过此解决方法,您将无法选择以 120Hz 显示 1080p。
首先,请参阅: https:
//devtalk.nvidia.com/default/topic/939971/linux/4k-60hz-works-in-windows-not-in-linux-workaround-found-/post/4959257/#4959257
从该帖子下载 edid。请注意您存储它的位置。
如果你像我一样使用 16.04,则没有 xorg.conf 文件,如果你制作了一个文件,它就会随着每次系统更新而消失。相反,导航至:
cd /usr/share/X11/xorg.conf.d
Run Code Online (Sandbox Code Playgroud)
接下来,在此处创建一个新文件。使用超级用户权限很重要。就我个人而言,我只是 sudo gedit,其他人告诉我我对此不好。
sudo gedit 50-nvidia.conf
Run Code Online (Sandbox Code Playgroud)
将以下内容粘贴到其中:
如果您没有 Vizio M43-C1,请通过 nvidia 控制面板创建您自己的 xorg 设置,并将最后一个选项添加到您的设置中。您只需要“监视器”部分。我会将您需要添加的内容加粗。
#Not First Line
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "VIZ M43-C1"
HorizSync 15.0 - 140.0
VertRefresh 25.0 - 76.0
Option "DPMS"
Option "CustomEDID" "HDMI-0:/path/to/edid.txt"
EndSection
#Not Last Line
Run Code Online (Sandbox Code Playgroud)
选项“CustomEDID”“HDMI-0:/path/to/edid.txt”
这是解决方法。
请注意,HDMI-0 需要替换为您当前的显示器。
要找到你的,请运行:
xrandr
Run Code Online (Sandbox Code Playgroud)
从输出中找到显示已连接的那个。例如,
HDMI-0 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 1600mm x 900mm
Run Code Online (Sandbox Code Playgroud)
显示我的显示器是 HDMI-0,所以这是我在 50-nvidia.conf 中使用的。
完成后,只需重新启动即可。如果一切正确,您应该能够正常登录并设置 4k @60Hz 4:2:0 没有问题。
再次强调,这只是一种解决方法。希望新驱动程序发布后的几个月内没有人需要这样做。