使用 xrandr 跨多个显示器混合 DPI

使用 xrandr 跨多个显示器混合 DPI

我正在 Arch Linux 上运行 i3 窗口管理器,并尝试使用 xrandr 来同时使用我的笔记本电脑屏幕和桌面显示器。我希望屏幕具有单独的工作区,但能够根据需要在显示器之间移动工作区。笔记本电脑屏幕为 4K (3840x2160),但显示器仅为 1920x1080。根据对具有多个显示器的 i3 以及与我有相同情况的人的研究,我整理了以下 xrandr 命令:

$ xrandr --output eDP-1 --mode 3840x2160 --pos 0x0 --auto \\
--output HDMI-1-0 --mode 1920x1080 --pos 3840x0 --auto \\
--panning 3840x2610+3840+0 --scale 2.0x2.0 --fb 7680x2160

运行此命令后,笔记本电脑显示器正常工作(以 4k 运行并完全覆盖),但桌面显示器仅显示我的背景图像(通过 feh)和左上角部分的 i3 窗口(这似乎是 1920x1080 的块)缩放屏幕)。显示屏的其他四分之三是黑色的。但是,我可以毫无问题地在两个显示器之间移动光标。光标在屏幕之间无缝过渡,甚至显示在桌面显示器的黑色部分(i3 窗口不显示)。

我的 xrandr 命令是否没有执行我想要的操作,或者是否存在某种外部因素(可能我的 DPI 设置存在冲突)导致了这种情况?

编辑:

如果相关的话,该笔记本电脑运行的是较新的 NVIDIA 显卡 (RTX 2070) 以及英特尔集成显卡。我分别安装了 nvidia 和 nvidia-utils 软件包作为图形驱动程序和 OpenGL 支持。

答案1

在最新的安装中,您可以使用 Wayland 而不是 X11 来解决此问题(它嵌入了对更改每个显示器的缩放比例的支持)。

在 X11 上,您也许可以使用 xrandr 缩放魔法来实现这一目标。

xrandr --output eDP-1 --auto --output DP-1 --auto --scale 2x2 --right-of eDP-1

或用于多个显示器

xrandr --output eDP1 --scale 0.5x0.5 --output DP2 --right-of eDP1 --output HDMI1 --right-of DP2

(参考https://wiki.archlinux.org/title/HiDPI#Multiple_displays)。

答案2

我在这里发表了一篇文章,其中包含直观的解释,并希望您可以参数化有用的 bash 脚本:

https://ptgamr.notion.site/xrand-4k-mixed-monitors-7a026e5345994267aebfa01a32044a2f

相关内容