![Nvidia DVI/VGA 问题](https://linux22.com/image/851803/Nvidia%20DVI%2FVGA%20%E9%97%AE%E9%A2%98.png)
我有一台 Nvidia GT 630,连接了两台 LG Flatron E2242 屏幕。其中一台连接了 DVI/VGA 接口,因为该卡有 1 个 DVI 和 1 个 VGA 输出。
驱动程序(最新版本)无法查询与 DVI/VGA 连接器连接的驱动程序的 EDID,而且我无法让它在大于 640x480 的分辨率下工作。
我怎样才能让它像其他的一样在 1920x1080 上运行?
答案1
我在使用 SANSUI HDMI/PC 电视/显示器时遇到了这个问题。我的问题是由于 SANSUI 错误地报告了它的 EDID。解决方案是使用 xrandr 手动将模式添加到有问题的设备。如果您要添加到输出的模式已经存在,您可以跳过步骤 2 和 3
输入“xrandr”,不带任何参数,默认情况下会列出当前与其关联的设备及其模式。在我的例子中,xrandr 将 SANSUI 的“输出”设备名称报告为 CRT1。
使用“cvt”创建可用的模式线。(60 是刷新率)
$ cvt 1920 1080 60 Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
将其作为新模式添加到 xrandr 数据库
$ xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
将模式与有问题的输出设备关联
$ xrandr --addmode CRT1 "1920x1080_60.00"
我们仍然需要选择新模式作为输出设备的活动模式
$ xrandr --output CRT1 --mode "1920x1080_60.00"
注意:如果模式行无法按照 cvt 报告的方式工作,请尝试在创建新模式时省略尺寸和刷新率之外的其他参数。
参考:
答案2
解决方案是将自定义 edid.bin 监视文件添加到 xorg.conf,您可以按照以下步骤进行操作。
在执行任何操作之前,请拔下 DVI 电缆并插入 VGA 电缆,以便获取显示器的属性 edid 文件。但是,如果您没有 VGA 电缆,请使用 Windows 转储文件。
首先你必须安装 NVIDIA 驱动程序:
- 下载 nvidia 驱动程序 .runhttp://www.geforce.com/drivers
- 按 CTRL+ALT+F1 然后登录
sudo service lightdm stop
然后输入sudo init 3
- 卸载任何以前安装的驱动程序
- 我不确定是否有必要,但以防万一
sudo apt-get dist-upgrade
- 通过输入
sudo sh NVIDIA-Linu....run
并按照进一步的说明重新启动来安装驱动程序
如果你已经安装了 nvidia 驱动,请跳过前面的步骤
打开 NVIDIA X 服务器设置,从 DFP-0 部分点击获取 EDID 按钮转储 EDID 文件并将其保存到桌面,然后通过点击保存到 X 配置文件来保存 xorg.conf(请注意,您必须是 root 才能执行此操作)
通过在终端中输入以下内容将 EDID 文件复制到 /etc/X11/:
sudo cp /桌面/文件名.edid /etc/X11/文件名.edid
然后打开 xorg.conf
sudo gedit /etc/X11/xorg.conf
并将以下行添加到设备部分:
选项“CustomEDID”“DFP-0:/etc/X11/filename.edid”
像这样:
“设备”部分
标识符“nVidia”
驱动程序“nvidia”
选项“CustomEDID”“DFP-0:/etc/X11/filename.edid”
结束部分
- 退出并保存,然后重新启动。现在您可以插入 DVI 电缆。 就这样