全新安装 12.04.1 LTS x86-64、Sapphire Flex HD6950 显卡。
- 我最初启动时连接了一个显示器,添加了另外四个,并且它们都正常工作(克隆)
- 我可以将它们设置为“多显示器桌面”,并获得五个独立显示器,但每个显示器都有自己的 Unity 条。(我最终想将其中四个合并为一个工作区,作为一个显示器处理)
- 为了实现 Xinerama,我将它们设置为“单显示桌面(多桌面)”,这需要重新启动。在后续启动过程中,X 无法启动。
/var/log/Xorg.0.log 末尾有一段有趣的内容:
[ 14.517] (II) fglrx(4): [uki] DRM interface version 1.0
[ 14.517] (II) fglrx(4): [uki] created "fglrx" driver at busid "PCI:1:0:0"
[ 14.517] (II) fglrx(4): [uki] added 8192 byte SAREA at 0x2000
[ 14.517] (II) fglrx(4): [uki] mapped SAREA 0x2000 to 0x7fb706a97000
[ 14.518] (II) fglrx(4): [uki] framebuffer handle = 0x3000
[ 14.518] (II) fglrx(4): [uki] added 1 reserved context for kernel
[ 14.518] (II) fglrx(4): swlDriScreenInit done
[ 14.518] (EE) fglrx(4): Not enough video memory to allocate primary surface (frame buffer).
[ 14.518] (II) fglrx(4): Shutdown CMMQS
[ 14.518] (II) fglrx(4): [uki] removed 1 reserved context for kernel
[ 14.518] (II) fglrx(4): [uki] unmapping 8192 bytes of SAREA 0x2000 at 0x7fb706a97000
[ 14.518] (WW) fglrx(4): ***********************************************************
[ 14.518] (WW) fglrx(4): * DRI initialization failed *
这句话特别引起了我的注意:fglrx(4): Not enough video memory to allocate primary surface (frame buffer).
该卡有 2GB 的内存。
我正在使用 AMD 最新的稳定驱动程序 (12.8),并根据本指南构建 .debs: 直接从 AMD 安装专有 ATI Catalyst 视频驱动程序(fglrx)的正确方法是什么?
遇到此错误的其他人使用“nopat”内核参数解决了该问题;我尝试过,但没有帮助(https://bugs.launchpad.net/ubuntu/+source/fglrx-installer/+bug/1004546)
我也对 xorg.conf 中的 ServerLayout 进行了一些调整,想知道 9600 个水平像素是否太多了:
Section "ServerLayout"
Identifier "aticonfig Layout"
Screen 0 "aticonfig-Screen[0]-0" 0 0
Screen "amdcccle-Screen[1]-1" 1920 0
Screen "amdcccle-Screen[1]-2" 3840 0
Screen "amdcccle-Screen[1]-3" 5760 0
# my failure occurs with either of these lines:
Screen "amdcccle-Screen[1]-4" 5760 1200
# Screen "amdcccle-Screen[1]-4" 7680 0
EndSection
更新:3840 限制?
当我使用 Ubuntu 显示器配置器而不是 AMD 的配置器时,它似乎告诉我整个虚拟桌面的硬限制为 3840x3840:
requested position/size for CRTC 149 is outside the allowed limit: position=(3840,3840), size=(1920, 1200), maximum=(3840,3840)
谷歌搜索后,我发现其他人遇到了同样的错误,并且有各种最大限制 - 这个数字是如何得出的?我该如何增加它?
目前,作为一种解决方法,我可以重新排列此对话框中的屏幕以适合 3840x3840 的正方形,但这并不能反映我的显示器的物理布局。
我在这堆栈交换站点嵌入图像,但这是具有 3840 限制的对话框:https://i.stack.imgur.com/CKAld.png
答案1
我联系了 AMD 支持人员,很高兴地报告“视频内存不足以分配主表面(帧缓冲区)”问题已在 Catalyst 12.11 中得到修复。