我的 PC 上安装了 Linux Mint 20。拜托,拜托,不要将此标记为重复,我知道人们到处都问过这个问题,但相信我,他们的解决方案不起作用。因此,我有两台显示器,一台以 1366x768 的分辨率运行,这是我的主显示器,另一台以 1360x768 的分辨率运行。前者没有问题,后者仅显示 1024x768 和 800x600 分辨率,无法将其设置为实际的本机分辨率。我有一个英特尔集成 GPU。所以我搜索了一下,找到了一些涉及 xrandr 的解决方案。他们说使用 cvt 获取 Modeline (????) 并使用 xrandr 将其添加到分辨率列表中。这起初有效,但是当分辨率出现在列表中时,选择它会显示显示有点向左移动,因此屏幕被切断并且右侧有黑色空间(我无法用鼠标悬停在其上) , 提个醒)。我找不到解决方案,所以我继续阅读指南,该指南说这是暂时的,将在重新启动电脑后重置,并且它展示了一种使其永久化的方法。
它涉及关闭 Xserver 并创建一个 x 配置文件,然后我们可以将“Modeline”行添加到“Monitor”部分。他还解释说,我们应该在每个“屏幕”部分和“模式 1360x768”的小节上添加一行。所以我做了。之后我不得不将文件移动到 /etc/X11...这绝对没有任何作用。
再次用 xrandr 搞乱我发现以前有用的命令现在不起作用了。他们给我以下错误:
X Error of failed request: BadName (named color or font does not exist)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 16 (RRCreateMode)
Serial number of failed request: 45
Current serial number in output stream: 45
所以我现在甚至不能使用它。然后我的主显示器开始混乱,屏幕移到屏幕中央,旁边有一个副本,就像马赛克一样。我必须重新启动 lightdm 服务几次并编辑我的 .xprofile 文件以使其恢复正常......现在就到了。
为什么改变显示器的分辨率这么难?我真的很想喜欢 Linux,但我没有找到任何合理的解释来解释为什么这会在 2020 年出现。
答案1
因此,Modeline 是一个字符串,它指定了一系列分辨率的详细信息,例如偏移量、分辨率本身以及其他一些内容。添加分辨率需要三个步骤,首先使用给定的模型线创建一个新模式xrandr --newmode <modeline>
,然后,将新创建的模式添加到某个显示适配器,您可以使用 获取显示适配器和连接的显示适配器的列表xrandr
。然后,要添加模式,请使用xrandr --admode <adapter> <mode>
.因此,如果模式名为“1360x768”,并且显示适配器的名称为 VGA-1,则命令将如下所示:
xrandr --addmode VGA-1 1360x768
然后你只需设置它
xrandr --output VGA-1 --mode 1360x768
应该可以做到这一点。
我出现黑条之类的原因是我使用的模型线不适合我的显示。我在这个 modeline 数据库中找到了合适的一个,具体来说,这模型行"1360x768" 85.500 1360 1424 1536 1792 768 771 777 795 +Hsync +Vsync
。模型行的引用部分是名称。您可以将其更改为任何内容。
后来我收到错误的原因是已经存在一个同名的模式(我试图添加另一个同名的模型行,所以它不起作用)。这应该涵盖这里的所有内容。
所以,这个问题源于我之前对其工作原理的无知,希望它对某人有所帮助。