VELMI doporučujeme skontrolovat, zda jsou MTRR registry správně nastaveny, jelikož mohou velice zvýšit výkon.
Proveďte cat /proc/mtrr:
--($:~)--
cat /proc/mtrr
reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9
reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1
Takto to správně ukazuje má Matrox G400 se 16MB paměti. Provedl jsem to z XFree 4.x.x, které nastavuje MTRR registry automaticky.
Pokud nic nefunguje, budete to muset udělat ručně. Nejprve musíte najít bázovou adresu. Máte tři možnosti, jak ji zjistit:
ze startovacích informací X11, například:
(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000 (--) SVGA: Linear framebuffer at 0xD8000000
z /proc/pci (použijte příkaz lspci -v ):
01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525 Memory at d8000000 (32-bit, prefetchable)
ze zpráv jaderného modulu mga_vid (použijte dmesg):
mga_mem_base = d8000000
Pak zjistěte velikost paměti. Je to velmi snadné, stačí převést velikost video RAM do hexadecimální soustavy, nebo použijte následující tabulku:
1 MB | 0x100000 |
2 MB | 0x200000 |
4 MB | 0x400000 |
8 MB | 0x800000 |
16 MB | 0x1000000 |
32 MB | 0x2000000 |
Pokud znáte bázovou adresu a velikost paměti, začněme nastavovat MTRR registry!
Například pro výše uvedenou kartu Matrox (base=0xd8000000
)
s 32MB RAM (size=0x2000000
) stačí spustit:
echo "base=0xd8000000 size=0x2000000 type=write-combining" > /proc/mtrr
Ne všechny procesory mají MTRR. Například starší CPU K6-2 (okolo 266MHz, stepping 0) nemají MTRR, ale stepping 12 je mají (pro ověření spusťte cat /proc/cpuinfo).