我在一台旧电脑上安装了 Ubuntu 9.10,它基本可以正常工作,除了每次开始拖动窗口或在窗口或菜单内滚动时都会出现一些严重的绘图缺陷。看起来视频驱动程序将要移动的矩形复制到了错误的位置。
我查看了一下/var/log/Xorg.0.log
,下面一行显示了检测到的视频卡:
(--) PCI:*(0:0:8:0) 102b:0519:0000:0000 Matrox Graphics, Inc. MGA 2064W [Millennium] rev 1, Mem@ 0xf9800000/16384, 0xfb000000/8388608, BIOS @0x????????/65536
(==) 使用默认内置配置(30 行) (==) ---
内置配置开始 ---
“设备”部分
标识符 “内置默认 mga 设备 0”
驱动程序 “mga”
结束部分
我该如何修复绘图缺陷?
事实证明,问题出在 24 位颜色深度(由 ubuntu 9.10 自动选择)上;显然 mga 驱动程序无法很好地处理内存较少的卡。我采取了以下步骤来解决这个问题(如果您已经有了一个半工作的 xorg.conf 文件,则可以跳过前三个步骤):
- 在恢复模式下重新启动 ubuntu,以获取未运行 X 的根控制台。
- 运行
Xorg -configure
生成xorg.conf.new文件 - 将文件复制到 /etc/X11/xorg.conf
cp xorg.conf.new /etc/X11/xorg.conf
(假设它尚不存在;这就是我生成它的原因) 打开新的配置文件
sudo nano /etc/X11/xorg.conf
并确保屏幕部分配置为 16 位色彩深度,如下所示:Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 16 SubSection "Display" Viewport 0 0 Depth 16 Modes "1024x768" EndSubSection EndSection
我不能保证这些是我所做的唯一重要更改 - 我尝试了一些方法来创建有效的 xorg.conf 文件。但我非常确定屏幕部分是最重要的部分。
答案1
这个线程有一个解决方案:http://ubuntuforums.org/showthread.php?t=878780
在您的 xorg.conf 文件中,它说
DefaultDepth 24
将其更改为DefaultDepth 16
,甚至可以尝试将其设置为 8,但我知道 16 也可以。该卡没有足够的内存在 24 深度下运行高于 800x600 的分辨率,因此通过更改深度,您将释放足够的内存以在更高的分辨率下运行