如何在 Linux 上以原始分辨率通过 HDMI 将电视用作第二个显示器?

如何在 Linux 上以原始分辨率通过 HDMI 将电视用作第二个显示器?

我的电视是飞利浦 19PFL4322。它的原始分辨率是 1440x900 。我笔记本电脑的显卡是 ATI Radeon HD 3650,使用radeonX.org 服务器 1.10 上的开源驱动程序。

如果我在 Linux 中通过 VGA 连接它们,或者通过 Windows 中的任何东西连接它们,它会以该分辨率正确显示。

如果我在 Linux 中通过 HDMI 连接它,它的默认分辨率为 1024x768,而 GUI 工具只允许我将其设置为 1360x768,所有这些在它上看起来都很糟糕。

如果我通过使用 xrandr 生成模型行cvt 1400 900,然后使用 xrandr 将其设置为模式来强制解决此问题,则该监视器上不会有任何输出。

当通过 VGA 连接时,Linux 正确地将其识别为飞利浦 19 英寸电视。当通过 HDMI 连接时,它会将其错误识别为 18 英寸电视。

如何使用 HDMI 让显示器在 Linux 上正确显示?

编辑:xrandr 输出VGA-0HDMI-0都是我的电视,LVDS都是我的笔记本电脑显示器,HDMI-0 下列出的 1280x960 不是我的电视的有效输出。未列出的 1440x900 是有效输出。

Screen 0: minimum 320 x 200, current 2880 x 900, maximum 8192 x 8192
VGA-0 connected 1440x900+1440+0 (normal left inverted right x axis y axis) 410mm x 257mm
   1440x900       59.9*+
   1360x768       59.8  
   1280x720       60.0  
   1024x768       75.1     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        72.8     75.0     66.7     60.0  
   720x400        70.1  
LVDS connected 1440x900+0+0 (normal left inverted right x axis y axis) 367mm x 23000mm
   1440x900       60.8*+
   1280x854       59.9  
   1280x800       59.8  
   1280x720       59.9  
   1152x768       59.8  
   1024x768       59.9  
   800x600        59.9  
   848x480        59.7  
   720x480        59.7  
   640x480        59.4  
HDMI-0 connected (normal left inverted right x axis y axis)
   1920x1080i     25.0 +
   1280x960       60.0  
   1360x768       59.8  
   1280x768       59.9  
   1280x720       60.0  
   1024x768       75.1     70.1     60.0  
   800x600        72.2     75.0     60.3     56.2  
   640x480        72.8     75.0     66.7     60.0  
   720x400        70.1  

答案1

您可以尝试闭源 ATI 驱动程序(这就是我最终所做的:-( )但是我必须增加虚拟分辨率才能使大屏幕正常工作。

Section "Screen"
        Identifier "aticonfig-Screen[0]-0"
        Device     "aticonfig-Device[0]-0"
        Monitor    "aticonfig-Monitor[0]-0"
        DefaultDepth     24
        SubSection "Display"
                Viewport   0 0
                Virtual 3046 1200
                Depth     24
        EndSubSection
EndSection

我想在我的 HDMI 输出上同步到 vblank,但我找不到任何使用开源驱动程序来实现此目的的方法。这就是为什么我最终去了那些被污染的地方。

答案2

如果使用 的输出定义的 modelinecvt 1400 900不起作用,恐怕您可能无法通过 HDMI 使用此模式。

但是,您可以尝试的是禁用内核模式设置(KMS) 对于 radeon 驱动程序,可以通过附加radeon.modeset=0到 grub/lilo 中的引导选项,或者(如果 radeon 编译为模块)通过添加

module_radeon_args="模式集=0"

给你的/etc/conf.d/modules.这可能起作用的原因是,据报告,radeon 驱动程序会导致某些新卡启用内核模式设置时出现各种问题。

[编辑]:

另一个好的尝试是告诉 Xorg 服务器忽略 EDID 信息,使用

选项“IgnoreEDID”“true”

在你的 xorg.conf 中,如所述这里。当然,您需要一个合适的模型行,您可以在将显示器插入 VGA 端口后获得该模型行。

[编辑2]: 等一下,你写了“ cvt 1400 900”——这是一个错字,对吧?cvt 1440 900当然你应该用过。

相关内容