`
zhoun
  • 浏览: 47714 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Thinkpad X61 4G内存Mtrr表错误

阅读更多

X61加到4G内存之后, Linux下面发现显卡速度比较慢, 性能明显下降. 最明显的是用wine运行星际争霸或者魔兽争霸的时候, 鼠标反应非常慢.

用dmesg命令可以看到

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

在/var/log/Xorg.0.log中也看到有同样的字样.

查看一下/proc/mtrr

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

其中在运行X的时候, 显卡需要在mtrr表中注册e0000000,10000000(256M大小)这段地址为write-combining, 这种模式会提升显卡速度2.5倍.
但是这段地址已经被注册为write-back模式, 所以造成这个问题.

关于这个bug, 见: https://bugs.launchpad.net/linux/+bug/210780
这个页面提供了一个脚本(http://launchpadlibrarian.net/13330029/fix-mtrrs.sh), 解决这个问题.

我把脚本改了一下, 符合我的机器的设置, 但是还有一个问题, Mtrr表最多支持8个记录, 我只好删掉一个overlap的项(不知道是否有更好的办法, 反正还没有出现别的问题), 来支持这段内存地址为write-combining模式. 运行fix脚本之后的mtrr:

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


修改后的脚本rc.mtrr(放在/etc/rc.d目录下, 在rc.local里面执行)如下:
#!/bin/bash

MTRR=/proc/mtrr

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

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

其中最后注释的一行就是显卡需要的一段地址, 因为X启动的时候会自动注册, 所以只要留出来这段就行了, 这行代码可以注释掉.



分享到:
评论

相关推荐

    IBM THINKPAD X61刷BIOS支持STAT2

    标题中的“IBM THINKPAD X61刷BIOS支持STAT2”指的是对IBM ThinkPad X61笔记本电脑的BIOS(基本输入输出系统)进行更新,以增加对SATA(串行ATA)第二代接口的支持。BIOS是计算机硬件与操作系统之间的一个低级程序,...

    Thinkpad X61安装Mac OS 10.6.6需要的文件

    在本文中,我们将深入探讨如何在Thinkpad X61笔记本电脑上安装苹果的Mac OS 10.6.6(Snow Leopard)系统,以及在这个过程中可能遇到的关键知识点。首先,我们要明白,Thinkpad X61是一款基于Windows操作系统的联想...

    thinkpad x61 BIOS升级文件 支持SATA2

    标题中的“thinkpad x61 BIOS升级文件 支持SATA2”意味着这是一份专为ThinkPad X61笔记本电脑设计的BIOS更新程序,其主要目的是使系统能够支持SATA2(Serial Advanced Technology Attachment第二代)接口的硬盘。...

    Thinkpad X61安装Mac Snowleopard需要的文件

    在本文中,我们将深入探讨如何在ThinkPad X61上安装Mac OS X Snow Leopard操作系统,以及所需的准备工作和关键步骤。Snow Leopard(Mac OS X 10.6)是苹果公司于2009年推出的一款操作系统,以其稳定性和效率而闻名。...

    绿色“不插电” ThinkPad X61引领PC潮流

    【绿色“不插电”ThinkPad X61】引领了PC行业的新潮流,这款由联想推出的笔记本电脑在电池续航能力和环保方面展现出了显著优势。它实现了超过12小时的电池续航,这得益于其采用的“电池延时技术”(Battery Stretch...

    IBM Thinkpad-X61详细拆解多图详解

    ### IBM ThinkPad X61 拆解详细分析 #### 一、拆解概述 IBM ThinkPad X61是一款经典的商务笔记本电脑,以其出色的性能、可靠的品质和优秀的用户体验著称。本文将通过一系列图片和文字描述,详细介绍X61的拆解过程...

    X61S BIOS 2.22

    【描述】"Thinkpad X61S X61 BIOS 2.22"强调了这是ThinkPad系列的X61S和X61模型的BIOS更新,尽管它们在型号上略有不同,但可能共享相同的BIOS平台。BIOS版本2.22通常包含错误修复、性能提升、硬件兼容性改进或新功能...

    X61S高分屏BIOS,包含SLC2.1

    标题中的“X61S高分屏BIOS,包含SLC2.1”指的是联想ThinkPad X61S笔记本电脑的高级分辨率屏幕所使用的特定版本BIOS,其中集成了SLC2.1固件。BIOS(基本输入输出系统)是计算机启动时首先运行的一段程序,它管理硬件...

    ThinkPad X61系列无线网络驱动程序 for Win2000XP

    ThinkPad X61系列无线网络驱动程序 for Win2000XP 解压密码:www.upcn.cn

    ThinkPad-X60X61屏幕换LED灯条教程.doc编程资料

    ThinkPad-X60X61屏幕换LED灯条教程.doc

    部件&用户手册:ThinkPad X61t HMM 硬件维护手册.pdf

    ### 知识点一:ThinkPad X60/X61 Tablet 硬件维护手册概述 #### 关于手册 该手册是针对ThinkPad X60 和 X61 平板电脑系列的硬件维护指南,发布于2007年6月。它提供了关于这些设备的全面维护指导,包括但不限于更换...

    X61T拆机手册

    在开始拆解ThinkPad X61 Tablet之前,首先要确保熟悉手册中的“注意事项”部分(第158页),这部分提供了关于设备维护和安全的重要信息。此外,在进行任何拆机或维护操作之前,还需要注意以下几点: 1. **策略性...

    Thinkpad X60 x61电源管理forwin8

    标题中的"Thinkpad X60 x61电源管理forwin8"指的是专为ThinkPad X60和X61笔记本电脑设计的一款适用于Windows 8操作系统的电源管理软件。这款软件旨在帮助用户更有效地管理和优化其设备的电源消耗,提高电池寿命,并...

    x61 最完美支持高分rom 2.22

    【标题】:“x61 最完美支持高分rom 2.22”指的是适用于ThinkPad X61笔记本电脑的一款优化的、支持高分辨率显示的BIOS(基本输入输出系统)固件版本2.22。BIOS是计算机硬件与操作系统之间的一层关键软件,它负责初始...

    x61图纸和点位图

    标题中的“x61图纸和点位图”指的是在IT领域中,可能是一个与机械设备或自动化控制相关的项目。"x61"可能是设备型号、软件版本号或者是某种特定的编码,具体含义需要根据上下文来确定。点位图通常是指在工业设计、...

    ibm x61电路图

    IBM X61支持两个200-pin DDR2 SODIMM插槽,可扩展至最大4GB的RAM,满足了企业用户对大内存容量的需求。它还配备了一个PCMCIA插槽和一个USB-based NewCard32接口,用于外设和存储卡的连接。此外,该机拥有一个Super I...

    x61t 拆机图片

    【x61t 拆机图片】是一个与IT硬件相关的主题,主要涉及ThinkPad X61t笔记本电脑的内部结构和组件布局。通过这些图片,我们可以深入理解这款经典商务笔记本的设计理念,以及如何进行硬件维护和升级。下面将详细讨论...

Global site tag (gtag.js) - Google Analytics