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

Thinkpad 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

这个页面提供了一个脚本(), 解决这个问题.

我把脚本改了一下, 符合我的机器的设置, 但是还有一个问题, 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启动的时候会自动注册, 所以只要留出来这段就行了, 这行代码可以注释掉.

x61 linux 驱动 无线网卡,Linux环境Thinkpad X61 4G内存Mtrr表错误相关推荐

  1. Linux——Linux驱动之基本理论常识总结(什么是Linux驱动?Linux驱动需要掌握哪些?ARM处理体系架构及前世今生)

     [系列专栏]:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! <QT开发实战> <嵌入式通用开发实战> <从0到1学习嵌入式Linux开发> 目录 0 ...

  2. (轉貼) Ubuntu 7.10 Linux on ThinkPad X61 安裝筆記 (NB) (ThinkPad) (X61) (Linux) (Ubuntu)

    Abstractmezl在Mobile01所發表的安裝心得,我本人也還沒試過,提供給有需要的人參考. Introduction 轉貼自http://www.mobile01.com/topicdeta ...

  3. linux驱动 无线网卡,realtek 8179无线网卡linux驱动,rtl8188eu

    linux下使用无线网卡时,开始无法识别,查看dmesg和lsusb后发现realtek的id为8179,在网上查找后需要的驱动为rtl8188eu,官网上没有此驱动,网络上有提供此驱动的,但是有的内 ...

  4. 华为网卡linux驱动安装,Linux Nvidia显卡驱动安装

    1 概述 因为某些需要需要在Linux上安装显卡驱动,这里记录一下安装过程. 2 环境 Manjaro RTX 2060 3 下载驱动安装包 到官网上搜索下载即可,可以戳这里: 选择自己的显卡型号即可 ...

  5. linux驱动内核,Linux内核设备驱动之Linux内核基础笔记整理

    1. Linux内核驱动模块机制 静态加载, 把驱动模块编进内核, 在内核启动时加载 动态加载, 把驱动模块编为ko, 在内核启动后,需要用时加载 2. 编写内核驱动 #include #includ ...

  6. wifi linux 驱动分析,Linux 下wifi 驱动开发(二)—— WiFi模块浅析

    一.什么是wifi 模块百度百科上这样定义: Wi-Fi模块又名串口Wi-Fi模块,属于物联网传输层,功能是将串口或TTL电平转为符合Wi-Fi无线网络通信标准的嵌入式模块,内置无线网络协议IEEE8 ...

  7. 【Linux驱动】linux内核模块简介

    一. 摘要 这篇文章主要介绍了Linux内核模块的相关概念,以及简单的模块开发过程.主要从模块开发中的常用指令.内核模块程序的结构.模块使用计数以及模块的编译等角度对内核模块进行介绍.在Linux系统 ...

  8. linux驱动大全,linux驱动

    1. jiffies简介 首先,操作系统有个系统专用定时器(system timer),俗称滴答定时器,或者系统心跳. 全局变量jiffies取值为自操作系统启动以来的时钟滴答的数目,在头文件中定义, ...

  9. 操作系统课程设计:Linux系统调用/基于模块的文件系统/Linux驱动/统计Linux系统缺页的次数 整合

    目录 一.可选题目 题目1:新增Linux系统调用 题目2:实现基于模块的文件系统 题目3:新增Linux驱动程序 题目4:统计Linux系统缺页的次数 二.操作顺序 附录:参考资料 题1 题2 题3 ...

最新文章

  1. T-SQL Cstr函数
  2. cornerMinEigenVal函数
  3. Android获取手机型号,系统版本,App版本号等信息
  4. tbc服务器状态,魔兽怀旧服:TBC上线近俩月,玩家心态改变,开始涌入60级服务器...
  5. 部署shiro官方源码时,执行maven命令出错
  6. EMNLP杰出论文 | 当注意力遇到RNN,五倍以上训练加速!
  7. 30个Oracle语句优化规则详解(1)
  8. Maven项目有红叉,文件却没有错误,已解决
  9. 每天一算法(一)——用链表实现加减乘运算
  10. windows 8授权概览
  11. vcpkg 详细介绍
  12. UE4_Shader Compile 停在某一帧或者新建材质出现卡死
  13. 搜索引擎算法研究(一)
  14. WUST-CTF2020(武汉科技大学第一届WUST-CTF网络安全竞赛)WP
  15. 云原生的进一步具象化
  16. Photoshop for Mac(图像处理软件)破解版安装
  17. javascript/js 判断是否安装flash player插件,提示安装方法。
  18. 锐龙r7 5800x怎么样 相当于什么水平
  19. Tomcat下载安装教程
  20. Java Poi word 插入图片并添加边框

热门文章

  1. Android之十七 进度条和Hanlder
  2. 从401航班事故调查看项目总结
  3. 无偏移谷歌瓦片地址_[转]OpenStreetMap/Google/百度/Bing瓦片地图服务(TMS)
  4. Python+OpenGL使用鼠标选择模型不同组成部分
  5. Python+tkinter实现超时无键盘操作自动退出
  6. java xml 合并_Java中合并XML文档的合并
  7. 离职通知邮件主题写什么好_(原创)拿到了企业的offer后要注意什么?
  8. criteria 排序_产品需求挖掘与排序的2大利器:文本挖掘与KANO模型
  9. Linux 进程优先级以及环境变量
  10. linux三个命令模式切换,ubuntu16.04命令行模式和图形界面互相切换的两种解决办法,...