xrandr 多个显示器显示同一虚拟屏幕的不同区域

xrandr 多个显示器显示同一虚拟屏幕的不同区域

背景:我有一台带有两个 HDMI1.4 输出和 4k 显示器的 PC,允许从两个 HDMI 源进行逐图显示。计算机和显示器之间的单个 HDMI1.4 连接仅限于 30hz。通过 2x 1920x2160 输出,可以在 60hz 下获得 4k

执行此操作时,有两个输出,每个输出都被视为自己的监视器。这会导致问题:

  • 全屏应用程序,例如游戏或视频播放器仅在屏幕的一半上“全屏”,因为它看起来像两个物理显示器(从计算机的角度来看)
  • 最大化窗口仅在一台 (½) 显示器上最大化

是否可以设置 xrandr 以便有一个虚拟的 3840x2160 屏幕,然后设置每个监视器以显示它的一部分。例如,监视器 1 显示左半部分,监视器 2 显示右半部分。应用程序只能看到虚拟屏幕并“看到”3840x2160 的分辨率,即使对于最大化的窗口也是如此。

我正在使用 KDE,如果它有什么区别的话。

答案1

我猜想 KDE 的设置中可能有一些东西可以控制这种行为。但如果没有,那么你可以尝试这个

xrandr --output HDMI-0 --auto --output HDMI-1 --auto --{right,left}-of HDMI-0

答案2

我设法解决了,xrandr 有VIRTUAL1输出。通过反复试验,我弄清楚了如何使用它:

  1. 生成模型行:

    cvt 3840 2160
    Modeline "3840x2160_60.00"  712.75  3840 4160 4576 5312  2160 2163 2168 2237 -hsync +vsync
    
  2. 将模式添加到 xrandr:

    xrandr --newmode "3840x2160_60.00"  712.75  3840 4160 4576 5312  2160 2163 2168 2237 -hsync +vsync
    
  3. 设置 VIRTUAL1 的模式:

    xrandr --addmode VIRTUAL1 3840x2160_60.00
    
  4. 将 display1 设置为克隆 VIRTUAL1(在我的例子中为 HDMI1):

    xrandr --output HDMI1 --same-as VIRTUAL1
    
  5. 然后将 HDMI2 放置在 HDMI1 的右侧:

    xrandr --output HDMI2 --right-of HDMI1
    

相关内容