为何模糊?

为何模糊?

我在 Ubuntu 12.04.3 上为我的 Quadro K2100M 显卡安装了 NVidia 驱动程序 (319),当我将笔记本电脑的主屏幕从 3200x1800 切换到 1920x1080 模式(使用nvidia-settings)时,显示变得模糊...

我正在使用两个屏幕:

  • 我的主屏幕是 LCD,最大分辨率为 1920x1200。
  • 我的笔记本电脑屏幕(原始分辨率为 3200x1800)位于其右侧。

主要问题是,在 Ubuntu 上,我的笔记本电脑屏幕上的字体太小了。因此,我想将笔记本电脑的分辨率更改为 1920x1080。

阅读Galgalesh 的回答, 我尝试过了计算我的 DPI这是我应该拥有的 DPI 配置:

  • 94x94 为我的主 LCD 屏幕 1920x1200
  • 235x236,适用于我的 3200x1800 笔记本电脑屏幕

有没有办法让扩展桌面实现双 DPI 分辨率?

答案1

似乎人们仍然在努力尝试使用多台显示器和 HiDPI 显示器。arch wiki 中描述了一个很好的解决方法https://wiki.archlinux.org/index.php/HiDPI#Multiple_displays。 所以我有:

  • 华硕 ln303ux 笔记本电脑:3200x1800,
  • 外接显示器:1920x1200

现在我使用 Ubuntu 14.10 和 GNOME Shell 3.12.2,它们具有相当实用的 HiDPI 支持。所以我只使用开箱即用的 HiDPI 支持 - 缩放系数为 2(可以通过 GUI 设置)。这意味着在外接显示器上,我得到的所有内容都比可接受的要大两倍。因此,我使用 xrandr;但我没有缩小笔记本电脑屏幕,而是放大了外接显示器屏幕:

xrandr --output HDMI1 --scale 2x2 --mode 1920x1200 --fb 3840x4200 --pos 0x0
xrandr --output eDP1 --scale 1x1 --pos 320x2400

因此,逐一进行:

  1. --output HDMI1就我而言是外接屏幕,eDP1是笔记本电脑的屏幕。
  2. --scale 2x2- 将外部屏幕上的所有内容缩小至原来的一半
  3. --mode XxY- 明确设置屏幕分辨率(如果已经设置则不需要)
  4. --fb XxY- 设置虚拟屏幕(帧缓冲区)的大小(重要的如果没有这个,您将只能使用屏幕的四分之一)。在我的例子中,一个屏幕位于另一个屏幕之上,因此我将有效高度加起来为 2400+1800=4200。还请注意,最大帧缓冲区大小可能在 xorg.conf 中指定 - 那么您不能超过它(它写在xrandr -q输出的第一行)。
  5. --pos XxY- 在我的例子中,我设置了屏幕的绝对定位,因此我的笔记本电脑屏幕直接位于外部屏幕的底部。这里的 Y 值是外部显示器高度的两倍。

就是这样!一切都尽可能清晰明了。

仅供参考:要获取屏幕名称和可用分辨率,可以运行xrandr --current。有关设置分辨率的更多信息,请参见此处:https://wiki.ubuntu.com/X/Config/Resolution

更新 - 选项 2:对于支持 GTK3 的应用程序,还有一个更有趣的解决方法。如果我通常在大屏幕上只使用一个应用程序(例如某些 IDE,如 leksah),我不会调整屏幕大小,而是运行缩放到其原始大小的应用程序

env GDK_SCALE=0.5 GDK_DPI_SCALE=0.5 CLUTTER_SCALE=0.5 appname

答案2

在 Ubuntu 20.04 上,对我来说,单击Fractional Scaling显示设置底部的选项解决了所有问题。这将允许单独缩放每个显示器。

答案3

我使用了 artmem 的解决方案,但遇到了 EoghanM 提到的鼠标问题。我在他链接的旧错误报告中找到的解决方法与 --panning 有关。

我的目标拍摄为: - 原生 DIP 中的 DP1-2 3840x2160。 - eDP1 1366x768,缩放至在 DP1-2 右侧看起来合理。

我通过使用类似 DP1-2 + (2x eDP1) 的帧缓冲区来实现这一点,然后我将所有进入 eDP1 的内容按 1/2 缩放。

这应该很简单,但是 xrandr 有点棘手。

这里,--scale 用于将进入 eDP1 的所有内容减少 1/2。--panning 与原始帧缓冲区中的 eDP1 相同,位置 (+3840+0) 位于 DP1-2 的右侧。+0+2160 位于其下方。

xrandr -d :0 --fb 6572x3696 --output DP1-2 --mode 3840x2160 --scale 1x1 --rate 60 --pos 0x0 --primary

# sometimes panning get applied incorrectly when switching from some other mode, running it twice is a work around
xrandr -d :0 --output eDP1 --off
xrandr -d :0 --fb 6572x3696 --output eDP1  --mode 1366x768  --scale 2x2 --panning 2732x1536+3840+0
xrandr -d :0 --fb 6572x3696 --output eDP1  --mode 1366x768  --scale 2x2 --panning 2732x1536+3840+0

我还将 Xft.dpi 设置为 185

$ cat ~/.Xresources
Xft.dpi: 185

当我拔下外接显示器时,我运行:

xrandr -d :0 --output DP1-2 --off
xrandr -d :0 --fb 2732x1536 --output eDP1  --mode 1366x768  --scale 2x2 --panning 2732x1536+0+0 --pos 0x0 --primary

这看起来不太好,但我不常离开办公桌。您可以通过更改 Xft.dpi 并重新启动所有桌面程序来解决这个问题。我不知道如何更改 Xft.dpi 然后让客户端使用它而无需重新启动它们。

答案4

为何模糊?

您的屏幕始终显示 3200x1800 像素。如果您降低计算机的屏幕分辨率,则意味着您的屏幕必须缩放图像以适合您的屏幕。根据您的原始分辨率和当前分辨率之间的比率,缩放将产生模糊的图像。

您可以在此处找到有关缩放和原始分辨率的更多信息:https://en.wikipedia.org/wiki/Native_resolution

我怎样才能使文本变得更大?

如果文本太小,您有两个选择:

1. 更改 Ubuntu 的字体大小

如何更改字体并调整其大小?

2. 更改 DPI(将使整个界面变大,而不仅仅是文本)

如何查找和更改屏幕 DPI?(@whtyger 的回答)

相关内容