我是一个新的 Linux 用户,试图更改屏幕分辨率,因为显示下没有选项。我已经按照在线指南成功地通过侥幸添加了新的分辨率。我没有GPU,不知道是不是这个问题?下面是我的xrandr -q输出。
root@kali:~# xrandr -q
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 1280 x 1024, current 1280 x 1024, maximum 1280 x 1024
default connected 1280x1024+0+0 0mm x 0mm
   1280x1024       0.0* 
  1920x1200_60.00 (0x145)  193.2MHz
        h: width  1920 start 2056 end 2256 total 2592 skew    0 clock   74.6KHz
        v: height 1200 start 1203 end 1209 total 1245           clock   59.9Hz
  1440x900_59.90 (0x156)  106.3MHz
        h: width  1440 start 1520 end 1672 total 1904 …Run Code Online (Sandbox Code Playgroud) 有没有一种工具可以让人们:
这些配置必须在每个用户、每个显示器的基础上应用。
如果野外没有这样的工具,我想自己拼一个,但据我所知,没有办法判断是否插入了显示器。我是否必须使用 xrandr -q 进行轮询偶尔弄清楚输出是连接还是断开,还是有更有效的方法来做到这一点?可以调整 udev 来做到这一点吗?
Linux 的显示系统使用多种技术、协议、扩展、应用程序、服务器(守护进程)、驱动程序和概念来实现窗口系统,例如:
Xorg、Wayland、X11、OpenGL、RandR、XrandR、屏幕分辨率、DPI、显示服务器、等等。
当我们没有完整的画面时,大量的内容可能会让人不知所措或令人困惑。Linux 显示系统的每一面都有多个文档,但在全球范围内它究竟是如何工作的?
等待xrandr 将放大器检测为监视器的答案,可能的解决方法是将具有特定EDID的设备列入黑名单。不幸的是,xrandr --verbose以一种解析起来很麻烦的格式打印所有内容,并且不支持查询单个设备,并且get-edid的输出似乎不容易映射到xrandr的监视器 ID(例如DVI-1)。
有什么方法可以为单个显示器获得易于解析的EDID ?
我按下了什么东西,不小心交换了我的两个屏幕。我的左边的实际上被认为是右边的,反之亦然。我怎样才能把它们换回来?
编辑- 具体来说,我正在使用 Gnome,但我们可能也希望保持这个问题的通用性。
编辑 2 - 我的驱动程序似乎与 xrandr 不兼容。我附上这里的日志/var/log/Xorg.0.log 
我使用以下xrandr命令将我的 17" 笔记本电脑与 27" 外接显示器镜像,以便我可以使用它进行演示:
xrandr --output LVDS1 --mode 1600x900 --output HDMI1 --mode 1920x1080 --same-as LVDS1
但是,外接显示器 (HDMI1) 会回退到 1600x900 分辨率而不是 1920x1080。
xrandr 输出:
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
LVDS1 connected primary (normal left inverted right x axis y axis
   1600x900       60.0 +
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 connected 1920x1080+0+0 (normal left inverted right x axis …Run Code Online (Sandbox Code Playgroud) 在我的新笔记本电脑中,使用Xorgi915的intel驱动程序,笔记本电脑屏幕在 Randr 中称为 eDP1
$ xrandr
eDP1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 277mm x 156mm
   1366x768      60.14 +  40.09  
   1360x768      59.80    59.96  
   1024x768      60.00* 
   800x600       60.32    56.25  
   640x480       59.94  
Run Code Online (Sandbox Code Playgroud)
为什么叫它eDP1?的“e”eDP1代表什么?
我在笔记本电脑上安装了 Arch,但我认为这个问题不是 Arch 特有的。目前唯一的问题是未检测到连接到 hdmi 端口的显示器。例如,从 gnome 控制中心运行显示小程序,然后“检测”仅检测笔记本电脑显示器,即使有第二台显示器通过 HDMI 端口连接到笔记本电脑。我怀疑问题是 xrandr 没有检测到连接到 HDMI 端口的显示器。我怎样才能解决这个问题?
用于 vga 控制器的 lspci -v 输出:
01:00.0 VGA compatible controller: nVidia Corporation Device 0df5 (rev a1) (prog-if 00 [VGA controller])
    Subsystem: Dell Device 0446
    Flags: bus master, fast devsel, latency 0, IRQ 16
    Memory at f0000000 (32-bit, non-prefetchable) [size=16M]
    Memory at c0000000 (64-bit, prefetchable) [size=256M]
    Memory at d0000000 (64-bit, prefetchable) [size=32M]
    I/O ports at 3000 [size=128]
    Expansion ROM at f1000000 [disabled] [size=512K]
    Capabilities: <access denied>
    Kernel …Run Code Online (Sandbox Code Playgroud) 对我的 1920x1080 外部屏幕上不合理的大文本感到不满,我的 1920x1080 外部屏幕连接到 Fedora 24 中具有 3200x1800 显示器的笔记本电脑,我尝试使用以下方法重新缩放外部屏幕:
xrandr --output HDMI-2 --scale 2x2 --mode 1920x1080 --fb 7040x2160 --pos 0x0
xrandr --output eDP-1 --scale 1x1 --pos 3840x0
Run Code Online (Sandbox Code Playgroud)
这具有预期的效果,但是当我在笔记本电脑屏幕上移动鼠标时,它会导致光标闪烁。光标在外屏时不闪烁。当我在外部屏幕上恢复为 1x1 缩放时,闪烁停止:
xrandr --output HDMI-2 --scale 1x1 --mode 1920x1080 --fb 4120x1800 --pos 0x0
xrandr --output eDP-1 --scale 1x1 --pos 1920x0
Run Code Online (Sandbox Code Playgroud)
我怎样才能阻止这种闪烁?
在带有 的 Kubuntu 17.04 上nouveau,我试图获得双显示器设置,4K 作为主显示器,右侧有全高清(实际上是 1920x1200,但没有区别)。
我正在使用双 KDE 系统规模(如https://wiki.archlinux.org/index.php/HiDPI#Using_KDE_system_settings 中所述)以及xrandr缩放(如https://wiki.archlinux.org/index.php 中所述) /HiDPI#Side_display)。进一步来说:
xrandr \
    --output eDP-1 --mode 3840x2160 --pos 0x0    --auto \
    --output DP-2  --mode 1920x1200 --pos 3840x0 --auto \
        --panning 3840x2400+3840+0 --scale 2.0x2.0 \
    --fb 7680x2400
Run Code Online (Sandbox Code Playgroud)
问题是DP-2由于从 3840x2400 降采样到 1920x1200,所以有轻微的模糊,尤其是在字体上。这在https://wiki.archlinux.org/index.php/HiDPI#Side_display的末尾注明,建议的解决方案是显示器上的清晰度设置。试过了,不行。
缩放时使用的过滤器是双线性的:https : //cgit.freedesktop.org/xorg/app/xrandr/tree/xrandr.c? id = 5d5db88d106a49d7560a8042fa054df8b609f00a# n2993。最近的邻居也支持"nearest"但看起来很糟糕,即使它正好是 2x2 下采样,我不明白。我继续使用"lanczos"而不是"bilinear". 显然,这是不支持的:
X Error of failed request:  BadName (named color …Run Code Online (Sandbox Code Playgroud) xrandr ×10
xorg ×6
linux ×2
monitors ×2
resolution ×2
x11 ×2
command-line ×1
dpi ×1
edid ×1
fedora ×1
gnome ×1
kali-linux ×1
laptop ×1
udev ×1
wayland ×1