超宽显示屏在 Debian 9 上无法与 AMD GPU 配合使用

超宽显示屏在 Debian 9 上无法与 AMD GPU 配合使用

我有一个 Radeon HD 6950 GPU 和一个 LG 21:9 显示器(LED IPS 25 全高清 25UM58-P.AWZ)。

问题

我最近安装了 Debian 9(拉伸),但无法以 2560x1080 的分辨率显示,只能显示 1920x1080(两侧都有黑条,或者如果我将显示器配置为强制拉宽,则显示器会真正拉伸)。正确的分辨率不会默认显示在显示管理器中。

我已经尝试过做的事情

使用手动设置分辨率xrandr

我尝试添加分辨率xrandr(同时使用gtfcvt),但它仍然显示 16:9 分辨率,图像非常混乱,就像缩放后的 21:9 显示器一样。即使我将显示器设置为强制将图像扩大到 21:9,图像仍然混乱。

安装专有驱动程序 (fglrx)

当我使用 Debian 8 (jessie) 时,这有效。自从我购买了这款显示器以来,我就遇到了这个问题,因此我实际上多次更改了操作系统,试图让它正常工作。它似乎只适用于 fglrx(仅适用于 Debian)。

然而,在 Debian 9 中,fglrx 似乎不可用[1]。我什至试图让司机从AMD 网站,但它失败了,说我的 XServer 版本太新了。

如果需要有关我的计算机的更多信息,请告诉我。

答案1

我设法通过降级 X 和内核版本来让它工作。它是基于回答。我知道这个解决方案不是最佳的,而且它可能会给我带来一些将来的头痛,但其他方法都不起作用。

如果其他人遇到这个问题,这就是我发现的。请仅将此作为最后一个资源,因为它是有风险。小心行事。

这个问题发生在“旧”AMD 卡上(之前GCN),就像我的一样。开源驱动程序不支持旧卡的 21:9 分辨率(不确定新卡是否能正常工作)。专有驱动程序工作正常。

问题是,专有驱动程序有两个主要版本:fglrx(用于 GCN 之前的卡)和 amdgpu(用于 GCN 卡)。支持 fglrx已被删除,并且由于 Debian 9 使用新内核,该内核使用更新的 Xserver 版本,因此该版本不是与 fglrx 兼容。

所以我的解决方案是降级 X。事情是这样的:

首先,您需要将旧版本添加到源中,以便 aptitude 可以轻松找到它。为此,请创建/etc/apt/sources.list.d/jessie-versions.list包含以下内容的文件:

#jessie sources
deb http://httpredir.debian.org/debian/ jessie main contrib non-free
deb-src http://httpredir.debian.org/debian/ jessie main contrib non-free

这将告诉 aptitude 搜索 jessie 中可用的所有软件包的版本。它不会破坏任何东西,因为这些版本都比当前版本旧,因此不会安装。

要使旧版本的 X 和内核优于新版本,请创建文件/etc/apt/preferences.d/old-X,其内容如下:

Package: xserver* xorg* linux-image-* glx-diversion*
Pin: release a=oldstable
Pin-Priority: 1001

这告诉 aptitude 所有 xserver、xorg 和内核内容的 jessie 版本都优于新版本。使用高于 1000 的优先级可以实现降级。

现在是危险的部分。运行aptitude updateaptitude upgrade应降级所有必需的软件包。检查一切aptitude 表示它正在安装、降级、升级和删除,以确保一切正常。如果你想搞乱内核,它也会与你确认。

如果一开始进展不顺利(对我来说不是),那么应该发生以下主要事情:

  • linux-image-* 从 4.9+80 降级至 3.16+63
  • xorg 和 xserver-xorg 从 1:1.7.7+19 降级至 1:1.7.7+7
  • xserver-xorg-core 从 2:1.19.2-1 降级至 2:1.16.4-1

当这些软件包处于预期版本时,安装 fglrx 应该可以正常工作,不会出现任何冲突 ( aptitude install fglrx-driver),并且重新启动计算机后屏幕应该可以正常工作。由于我们更改了首选项,因此 aptitude 和 apt-get 不会因为再次更新这些软件包而打扰您。

至少对我来说,这样做会被删除/usr/bin/X,所以一开始不起作用。我刚刚重新安装了所有 X 的东西 ( aptitude reinstall xorg xserver-xorg xserver-xorg-core),之后它就工作了。

答案2

看一下 /var/log/Xorg.0.log 。它往往很长,但一旦你克服了第一次恐惧,信息就非常丰富。

在该文件中,您将看到显示器上可用的模式(它会在桌子附近显示有关 EDID 的信息)。

它还将打印图形系统 (GPU) 的视频模式可用的模式表。它必须协调两个表并找到两个表中都存在的模式。有些组合不起作用,通常是因为它们需要太多的吞吐量(以像素/秒为单位)(我相信 AMD GPU 切换到 25Hz 屏幕速度以实现 2560 像素/行)

它还取决于您使用的图形端口(VGA、DVI-D 或 HDMI)。

答案3

对于我的 Radeon HD6670,只需安装(非免费)“firmware-amd-graphics”包并重新启动即可正常工作。

相关内容