跳转至

自定义分辨率

Kscreen-Doctor(仅限 KDE 镜像 / 桌面模式)

从 Plasma 6.6 起,0 支持添加自定义 modeline。如果你使用的是 KDE 镜像,请优先尝试此方法!

使用 kscreen-doctor 添加自定义分辨率的指南

  1. 在终端中运行 kscreen-doctor -o。
  2. 找到你想为其添加模式的显示器 ID。你应该会看到类似这样的输出:
    Output: 1 eDP-1 a17bb763-cbd3-4b3d-b7d3-7344112e71b7
        enabled
        connected
        priority 1
        Panel
        replication source:0
        Modes:  1:2880x1800@60.00!  2:2880x1800@120.00*  3:1600x1200@59.87...... # output omitted for brevity
    
    例如,如果你想为 eDP-1 添加自定义模式,则 ID 为 1。将其记下来。
  3. 现在你可以按照以下格式构造添加自定义模式的命令:

    kscreen-doctor output.<ID>.addCustomMode.<Width>.<Height>.<Refresh>.<Scaling>
    
    将各选项替换为你想设置的值。注意,刷新率单位为 mHz(毫赫兹),因此 75Hz 刷新率对应的 <refresh> 值为 75000。 <Scaling> 可为 full 或 reduced。使用 full 可拉伸分辨率以填满屏幕,使用 reduced 则添加黑边以保持宽高比。

    例如,为显示器 ID 1 添加 1920x1080@75Hz、拉伸填满屏幕的自定义分辨率命令为:

    kscreen-doctor output.1.addCustomMode.1920.1080.75000.full
    

Custom-Resolution-Helper

自定义分辨率助手预览|570x500

如果遇到意外的显示问题,请使用 0 移除任何自定义分辨率。对设备所作的任何修改均需自行承担风险。

通过此方法创建的自定义分辨率需要重启后才能生效。

这是一款命令行工具,可帮助你在汽核 OS 安装上创建和管理自定义分辨率。

使用 custom-resolution-helper

打开宿主终端并输入:

custom-resolution-helper

还有一个别名,对于使用掌机或没有键盘的 HTPC 用户而言输入更简短:

crh

使用 custom-resolution-helper 创建自定义分辨率的指南

  • ModeDB 方式:设置更简单,但很可能不支持 HDMI。
  • EDID 方式:设置较繁琐,仅在 ModeDB 不起作用时使用。

从 Plasma 6.6 起,1 支持添加自定义 modeline。如果你使用的是 KDE 镜像且只需在桌面模式下使用自定义分辨率,请优先尝试0!

  1. 在终端运行 custom-resolution-helper。
  2. 确认你没有重复的分辨率。
  3. 选择 Add,使用方向键导航并按回车确认。
  4. 选择你要为其创建自定义分辨率的显示器。该显示器应为 connected 状态。
  5. 按照交互模式下的屏幕提示操作。
  6. 选择完各项后,你会收到修改启动配置的提示。输入密码授权即可。
  7. 命令执行完成后,重启并在系统设置中选择新分辨率。
  1. 在终端运行 custom-resolution-helper。
  2. 选择 Dump-EDID 并选择你的显示器。
  3. EDID 将被放置在 /tmp/crh/edid.bin。
  4. 你可以将其复制到主目录、下载或桌面文件夹中。
  5. 我们可以使用熟悉的 CRU 来编辑它,但这需要一个 wine/proton 启动器。你可以使用 Lutris、Faugus launcher,甚至 Steam 来打开它。
  6. 打开 CRU 后,点击左下角的导入选项。确保文件类型设置为「all」,并选择「Import complete EDID」。 CRU 预览|450x500
  7. 你可以像在 Windows 上一样对 edid 进行修改。
  8. 完成后,使用导出选项将其保存为文件。
  9. 将编辑后的 edid 文件移动到 /tmp/crh/edited/,然后在 crh add-edid 中选择它。你会收到修改启动配置的提示。输入密码授权即可。
  10. 命令执行完成后,重启并在系统设置中选择新分辨率。

交互模式选项说明:

  • VESA(TM) Coordinated Video Timings(CVT):当你的刷新率目前在系统设置中无法选择时选择此项(例如你将显示器从 60Hz 超频到 75Hz,但 75Hz 当前并非可选刷新率)。

  • Reduced Blanking:当你的显示器分辨率或刷新率较高时需要此项。你可以查看 Tom Verbeure 的显示时序计算器了解更多。

  • Interlaced:将分辨率设置为隔行扫描,适用于等离子电视或 CRT 显示器等设备。

  • Margins:当画面边缘被屏幕边界遮挡、仿佛画面被放大时使用此选项。大多数情况下,你应在显示器 / 电视上进行此调整。

为 Sunshine 游戏串流创建自定义分辨率的指南

假设你从主机 PC(运行汽核 OS)串流到笔记本:

  • 你的主机桌面 PC 分辨率为 1920x1080@144Hz,
  • 而你的笔记本分辨率为 2560x1600@120Hz。

……由于分辨率缩放,串流中的文字看起来模糊。

你可以使用 custom-resolution-helper 为你的主机 PC(运行汽核 OS)添加一个虚拟显示器,无需虚拟插头(dummy plug)!

  • 只需按照创建自定义分辨率的步骤操作,并选择让显示器始终启用的选项。重启后,在 KDE 上按 Super + P 切换多显示器模式。之后,确保在 Sunshine 中选择了正确的显示器。

  • 或者,你也可以在主机 PC 的主显示器上添加 2560x1600MR@120 模式。这可能导致主机 PC 显示器黑屏并显示「unsupported mode(不支持的模式)」对话框,你需要在游戏串流期间更改分辨率。如果你不想处理多个显示器,可以尝试此方法。

不要禁用主显示器,否则可能导致没有任何可用的显示输出(这也可能破坏串流)。
如果重启后仍然黑屏,你可以按 ctrl + alt + F2 进入 0,并从命令行编辑或删除 1。注意,这会移除你的显示器配置。
示例命令:2

高级用法

此工具通过 video=[RESOLUTION] 添加一个内核参数。[RESOLUTION] 字符串遵循格式 <name>:<xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m][eDd],详见 modedb 内核文档。

如果你足够自信且清楚自己在做什么,可以使用

custom-resolution-helper add [RESOLUTION]

添加此脚本未涵盖的分辨率功能,例如强制 DVI-I 端口使用数字输出。

你也可以通过以下命令直接操作内核参数

rpm-ostree kargs --editor

但请注意,对设备所作的任何修改均需自行承担风险。