Ubuntu 24.04 LTS下无法添加自定义分辨率(RTX3060+R7 5700G)
Ubuntu 24.04 LTS下无法添加自定义分辨率(RTX3060+R7 5700G)
看起来你遇到的是自定义分辨率添加时的BadMatch错误,结合你的双GPU(AMD核显+NVIDIA独显)硬件环境和高刷新率需求,我来帮你一步步排查解决:
1. 确认输出端口对应的GPU
你的系统同时有AMD R7 5700G核显和RTX3060独显,很可能DP-2端口是由AMD核显接管的,跨GPU添加模式会触发参数不匹配的错误。先运行以下命令确认GPU和端口的绑定关系:
xrandr --listproviders
输出会显示两个Provider(一个是AMD,一个是NVIDIA),再运行xrandr查看DP-2的归属,如果它属于AMD Provider,那你需要切换到NVIDIA独显输出,或者针对AMD核显添加模式。
2. 用Reduced Blanking模式降低带宽
1920x1440@160Hz的原始timing带宽很高,很多显示器或GPU端口可能不支持标准timing。尝试用cvt的-r参数生成**缩减消隐(Reduced Blanking)**模式,这种模式能大幅降低带宽,更容易被硬件支持:
cvt -r 1920 1440 160
复制生成的mode信息,然后执行:
xrandr --newmode "1920x1440_160.00_rb" <这里替换成cvt输出的完整参数> xrandr --addmode DP-2 1920x1440_160.00_rb
3. 创建NVIDIA专属配置文件强制接管输出
如果你的目标是用RTX3060驱动输出,手动创建Xorg配置文件让NVIDIA独显成为主GPU:
- 新建配置文件:
sudo nano /etc/X11/xorg.conf.d/10-nvidia.conf
- 写入以下内容:
Section "OutputClass" Identifier "nvidia" MatchDriver "nvidia-drm" Driver "nvidia" Option "AllowEmptyInitialConfiguration" Option "PrimaryGPU" "yes" EndSection
- 保存退出后重启系统,再重新尝试添加自定义分辨率。
4. 验证显示器的实际支持能力
有时候显示器标称的刷新率可能是特定条件下的(比如DP 1.4+DSC压缩),你可以用edid-decode工具读取显示器的EDID信息,确认它是否原生支持1920x1440@160Hz:
sudo apt install edid-decode # 替换card1-DP-2为你实际的DP-2路径,可通过ls /sys/class/drm/查看 edid-decode /sys/class/drm/card1-DP-2/edid
在输出中查找Detailed Timing Descriptors部分,如果没有1920x1440@160Hz的条目,说明显示器本身不支持该模式,需要降低刷新率尝试。
备注:内容来源于stack exchange,提问作者user




