Linux环境Thinkpad X61 4G内部存款和储蓄器Mtrr表错误

mtrr: type mismatch for e0000000,10000000
old: write-back new: write-combining

魔兽争霸 1

以此页面提供了三个本子(http://launchpadlibrarian.net/13330029/fix-mtrrs.sh),
化解这几个难题.

http://www.linuxidc.com/Linux/2008-08/15247.htm本条Linux下的二个玩耍模拟器的rpm包,进终端安装,然后把补丁打上就能设置游戏了

其间最终诠释的一行便是显卡供给的一段地址, 因为X运行的时候会自动注册,
所以只要留出来那段就行了, 那行代码能够注释掉.

魔兽争霸 2

翻开一下/proc/mtrr

此间只是演示Fedora
9下嬉戏无所无法,并不协助我们在Linux下玩游戏,也不反对,研商该不应当在Linux玩游戏的死远点,玩CS和魔兽能够用Wne直接玩,会有点卡,下载上面这一个工具

reg00: base=0xc0000000 (3072MB), size=1024MB: uncachable, count=1
reg01: base=0x13c000000 (5056MB), size= 64MB: uncachable, count=1
魔兽争霸,reg02: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1
reg03: base=0x100000000 (4096MB), size=1024MB: write-back, count=1
reg04: base=0xbf700000 (3063MB), size= 1MB: uncachable, count=1
reg05: base=0xbf800000 (3064MB), size= 8MB: uncachable, count=1

 

修改后的脚本rc.mtrr(放在/etc/rc.d目录下, 在rc.local里面实践)如下:

魔兽争霸 3

本人把脚本改了一晃, 符合本人的机器的设置, 不过还有一个难点,
Mtrr表最多扶助柒个记录, 笔者只好删掉几个overlap的项(不精通是还是不是有更好的法子,
反正还没有出现别的难题), 来支撑那段内部存款和储蓄器地址为write-combining方式.
运营fix脚本之后的mtrr:

必须小心的是要设置CS和魔兽争霸的安装包,也正是原exe文件,直接考的用持续若是直接考的话,必须在cedega中选游戏运转目录,CS1.5的机器人要团结丰盛

MTRR=/proc/mtrr

魔兽争霸 4

在/var/log/Xorg.0.log中也看出有一致的字样.

截图不是全屏,但自个儿电话上是全屏的,网上下1个bot2.5把文件放在cs目录的cstrike上面就能加上机器人了

reg00: base=0xc0000000 (3072MB), size= 512MB: uncachable, count=1
reg01: base=0x13c000000 (5056MB), size= 64MB: uncachable, count=1
reg02: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1
reg03: base=0x100000000 (4096MB), size=1024MB: write-back, count=1
reg04: base=0xf0000000 (3840MB), size= 256MB: uncachable, count=1
reg05: base=0xbf800000 (3064MB), size= 8MB: uncachable, count=1
reg06: base=0x80000000 (2048MB), size=1024MB: write-back, count=1
reg07: base=0xe0000000 (3584MB), size= 256MB: write-combining, count=1

魔兽争霸 5

Thinkpad X61 加到4G内部存款和储蓄器之后, Linux上边发现显卡速度相比慢, 质量显著降低.
最明显的是用wine运转星际争霸大概魔兽争霸的时候, 鼠标反应非常的慢.

至于这一个bug, 见: https://bugs.launchpad.net/linux/+bug/210780

echo “disable=0” > $MTRR
echo “disable=4” > $MTRR
echo “base=0xc0000000 size=0x20000000 type=uncachable” > $MTRR
#echo “base=0xe0000000 size=0x10000000 type=write-combining” >
$MTRR
echo “base=0xf0000000 size=0x10000000 type=uncachable” > $MTRR

#!/bin/bash

用dmesg命令能够看出

echo “disable=2” > $MTRR
echo “base=0x00000000 size=0x80000000 type=write-back” > $MTRR
echo “base=0x80000000 size=0x40000000 type=write-back” > $MTRR

个中在运转X的时候,
显卡供给在mtrr表中登记e0000000,10000000(256M分寸)那段地址为write-combining,
那种情势会升级显卡速度2.5倍.但是那段地址已经被登记为write-back方式,
所以造成那几个难题.

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website