下一页 上一页 目录

6. 其他内容

6.1 设置 MTRR

        
                ** Note to Matrox video card owners **
                
                If you have matroxfb compiled into the kernel,
                chances are that your MTRR's are already set
                up.  You can probably just skip this section.

在某些情况下,设置 MTRR 可以显著提高视频性能,因此建议您进行此操作。首先,您需要通过输入以下命令来确保您的内核支持 MTRR:

           
           # ls /proc/mtrr

如果提示您不存在 /proc/mtrr,则需要重新编译内核并启用 MTRR 支持(该选项位于 menuconfig 的 “处理器类型和特性” 下)。

一旦您确认 MTRR 工作正常,您需要知道显卡的基本内存地址以及显存大小。最简单的方法是查看 X 启动时的输出。由于输出通常会滚出屏幕,并在切换到不同的 tty 时丢失,因此您需要将 X 的输出重定向到一个文件 (xoutput),以便您可以返回查看并获取所需的值。这可以通过输入以下命令来完成:

    
           # startx 2> xoutput

包含所需信息的行可能位于 xoutput 文件的中间位置附近,并且看起来应该类似于:

     
           (--) SVGA: PCI: NVidia Riva TNT2 rev 17, Memory @ 0xee000000, 0xe2000000

找到该行后,记下最后一个内存地址,在本例中为 0xe2000000。根据您的硬件,您可能会看到或看不到多个内存地址,所以如果您的输出看起来略有不同,请不要担心。记录下这些信息后,您可以删除 xoutput 文件。

接下来,您需要创建一个新的 MTRR。为此,您需要知道显卡的显存在十六进制中的大小。以下是一些常见值:

        
           4MB  -- 0x400000
           8MB  -- 0x800000
           16MB -- 0x1000000
           32MB -- 0x2000000

要添加 MTRR,请输入

        
           # echo "base=0xe2000000 size=0x2000000 type=write-combining" >| /proc/mtrr

将 “0xe2000000” 和 “0x2000000” 替换为您系统特定的基地址和显存大小。

现在您应该已经设置好 MTRR,为了确保一切正常,请输入

        
           # cat /proc/mtrr

您应该会得到与以下内容大致相似的输出:

        
           reg00: base=0x00000000 (   0MB), size= 128MB: write-back, count=1
           reg01: base=0xe2000000 (3616MB), size=  32MB: write-combining, count=1

同样,条目数量可能与这些示例不同,不必担心。


下一页 上一页 目录