linux双显卡问题.docx
- 文档编号:9259651
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:21
- 大小:30.59KB
linux双显卡问题.docx
《linux双显卡问题.docx》由会员分享,可在线阅读,更多相关《linux双显卡问题.docx(21页珍藏版)》请在冰点文库上搜索。
linux双显卡问题
自己的笔记本是Y460,ati的hd5650独显和intel集显。
现在是debiansqueeze&&win7
双显卡问题一度让我头痛,曾经于最受不了的时候一气之下删了linux,当然后来又装上了。
进入系统会自动识别到intel显卡并使用它,但是不会关掉ati独显,并且没有驱动,导致风扇呼啦啦的转个不停,温度很高,估计60度了吧。
于是安装ati显卡驱动,版本还是10.x反正是不支持双显卡切换的。
重启,想看一下什么效果,结果迟迟未出现图形界面,没错,黑屏了。
(原因是当时的内核还不支持双显卡(2.6.32刚开始的版本),直接进不了界面了,后面的内核就不会黑屏,只会出错,并进入低画质模式。
)进bios关闭集显后,开机,能进入图形界面了,3D什么的也很好,但是实际上在linux里不需要很高的3d效能,至少我是这样的。
ati的独显耗电量明显比集显高,温度也比用集显高,而且进win7如果不想经常调bios的话也只能用独显了,心里总是感觉有点憋屈。
在2.6.34内核的时候,据说出来了显卡切换的功能。
当时立马就编译内核,换上之后,通过控制/sys/kernel/debug/vgaswitchroo/switch文件来控制显卡的开关。
打开双显卡通过
代码:
echoOFF>/sys/sys/kernel/debug/vgaswitchroo/switch
关闭没有使用的独显。
关闭之后果然是好了,风扇不乱转了,耗电量也低了,但是又出问题了,在关机的时候会出现一个error提示,好像是atoms什么的在1s内没响应,重复弹出,关机时要卡很久,大概十几二十秒,无法忍受,看到一个用acpi_call来控制关闭独显的方法,同样会出现这样的现象。
而且注销或者采用别的方法重启X的时候也是会卡很久,当然不能忍受。
于是又改为关集显,用独显。
终于,在ati出11.3驱动的时候,换上,打开双显卡,打开控制中心,竟然看到了显卡切换的选项,何等的兴奋!
但是改成intel显卡之后,重启,完全不能用3d,界面也很卡,fglxinfo,glxinfo都是提示lib**.sotooshort,显卡切换不能用,只能看。
于是等到了11.4驱动出来,想要安装,结果安装不上,在编译的时候出错了,模块编译不出来。
内核是2.6.38的,打了个补丁(catalyst-generator里的2.6.38_console.patch),才能编译通过。
也有提示kernel_lock(记不清了)函数未定义,编译不过的情况,原来是内核编译的时候默认是取消了全局锁的,要自己重新编译内核开启全局锁才行,这个就得怪ati更不上节奏了。
总之是装上了,切换成intel集显,开机,很好,3d效果在,用起来不错,fglxinfo,glxinfo也不会出错了,但是还没有结束,用着用着就遇到了图形界面没响应的情况,比如在看土豆网看电影,看着看着,不知怎么的,突然真个界面卡住了,什么都动不了,但是电影的声音还在继续,alt+ctrl+fn也没用,界面一直卡着,只好重启了事。
终终于,11.5出来了,出来的这么早,而且从linuxtoy上看到,这个版本的驱动解决了xserver僵死的问题,改善了显卡切换,所以特意换上了此驱动,到如今为止用了一天多了,换成intel显卡,温度低,耗电低,也没有出现小server僵死情况,十分完美,经过近一年的时间跨度,终于,我可以在linux下舒服的用双显卡切换了,虽然切换要重启X,但是我基本就在linux下只用intel集显,3d什么的都很好了。
上面是一些经历下面说说怎么做:
第一步、从官网上下载11.5驱动,不要上中文的amd官网,那个上面linux版的驱动竟然还是11.3,上英文版的官网(把那个地址栏中的*/cn/*换成*/us/*),下载过来是一个ati***.run文件。
下载必要的编译环境,内核版本对应的头文件。
sudoapt-getinstalllinux-headers***,这个得自己用
代码:
uname-r
查看一下。
编译环境:
代码:
sudoapt-getinstallbuild-essentialautomakeautoconf
还要下载内核对应的头文件,因为编译fglrx.ko的时候需要,一般是
代码:
sudoapt-getinstalllinux-headers-****
与内核名相符即好。
比如通过uname-a得到
代码:
Linux***-1-02.6.32-5-amd64#1SMPThuNov303:
41:
26UTC2011x86_64GNU/Linux
可以看出内核是2.6.32-5-amd64,那么安装头文件就是
代码:
sudoapt-getinstalllinux-headers-2.6.32-5-amd64
有朋友没安装头文件编译不成功,我补充这条命令,希望对大家有帮助。
第二步、sudo/path2ati***.run/ati***.run,运行此文件,如果是在图形界面中运行此文件,会弹出一个图形界面的安装窗口,自己一步步点就行了。
如果是在纯console下,则会提示要要回答Y/n,都回答Y即可。
第三步(请看后面的补充)、这是要确定驱动是否正确安装,第二步后往往有人就以为驱动已经安装好了,结果重启却发现并没有安装好,就是因为没用这第三步。
细心的人会发现,在安装完后会有个提示安装记录文件的语句。
代码:
cat/usr/share/ati/fglrx-install.log|less
如果编译成功的话,这里面会没有错误提示,但是会让运行
代码:
/lib/modules/fglrx/make_install.sh
如果没有运行这个命令,那么很有可能fglrx并没有安装,只是编译好了,这就会导致重启后一点显卡的管理中心就重启x的情况。
还有,如果有错误,也都是通过这个文件来查看的。
注意:
如果之前有安装过ati闭源驱动,应先完全删除此驱动,否则会出现意想不到的问题。
代码:
sudo /usr/share/ati/fglrx-uninstall.sh--force
强制删除驱动。
代码:
sudorm-r/etc/ati
这个可以不删,但是删了更洁净,不删有可能出问题,可能性很小,但是我遇到过。
希望可以帮到同样为ati&&intel双显卡纠结的人。
补充:
据说此驱动对于gnome3的面板花问题任然存在,不过如果是双显卡,在驱动装好后直接改用intel的集显可能就不会有问题了。
再补充:
如果没有进行第三步就一切正常了,那就更好,实际上在安装时ait的安装程序会自动执行make_install.sh,但是不知道为什么,我安装的时候确实有这种情况:
不进行第三步,重启后没有问题,设为intel显卡后重启,一点控制中心就重启X,在终端运行amdccc也一样,所以如果有遇到此情况的就做一下第三步,没什么情况的就不必了。
春哥威武,ATI双显卡ubuntu下最新驱动安装小记
来源:
林晗的日志
前段时间安装了系统ubuntu11.04,虽然是新的版本,但是个人认为较不稳定,尤其是双显卡电脑。
我的是两个A卡。
传说A卡就是个悲剧~在春哥的威武协助下,折腾了很久这个,终于得到了较为满意的结果,把自己的经历贴出来供大家参考。
希望两家显卡巨头能在linux驱动上多下点功夫,我们这些平头百姓也能少些折腾。
感谢科大,感谢春哥。
。
。
首先要获得驱动——以及补丁。
新立得里的驱动版本比较低,我们选择直接去ATI官网上下载最新驱动。
可以参考下面的网址:
驱动下载
补丁下载http:
//aur.archlinux.org/packages/catalyst-generator/catalyst-generator.tar.gz
在寻找驱动的过程中,可能最先找到的是中国的下载地址
但其最近的驱动版本是11.5(x86_64).而在第一个老美的地址中有更新的11.6(下载速度可能慢一些)。
我们用的是最新的11.6.
科大校内IP可以考虑下面两个链接,速度很快。
驱动
补丁
------------------------------华丽的分割线,下面是本文的核心--------------------
*新立得包管理器中搜索安装linux-headers-[当前内核版本号]。
如linux-headers-[2.6.38]
(我的系统没有经过此步。
春哥说,可能是用附加驱动安装专有驱动时自动安装了。
我的那个驱动安装没有成功,又卸掉了。
)
1.解压缩驱动及补丁文件
sh./[驱动文件(.run)]--extract[指定目录名]
tarxf[补丁压缩包]
2.拷贝patch文件
进入补丁文件夹,将3个patcha文件(*.patch)移动到驱动文件夹下
3.打补丁(字母p后是数字1)
patch-p1<[patch文件1]
patch-p1<[patch文件2]
patch-p1<[patch文件3]
4.安装
sudo./ati-installer.sh[版本号]--install
(我下载的版本是8.61,在第1步解压缩时会有显示,不要弄错。
)根据提示操作即可。
或许会弹出图形界面,这样子谢天谢地;不能显示也无妨,只要按照提示的输入一路绿灯开下去便可。
之后会出现提示说在某目录下可以查看安装日志,可以看看,我看不懂。
在安装完成后建议切换到intel集成显卡(需重启)下工作,本人的本本在独立显卡下工作无法调整分辨率(死机。
比如Ctrl+Alt+F1会黑屏卡死),在集成显卡下可以正常切换。
还有一个问题,如果更新了新的内核,需要重新安装上述驱动,所以建议不要频繁更新系统,至少不要更新内核,那些有linux、kernel字样以及以X开头的更新都要慎重安装。
春哥说:
“如果你想这样多装几次练练手,也可以正常更新。
”……
-------------------------------华丽的分割线,核心就这么多----------------------
装个系统什么的真的是相当折腾。
11.04不够稳定。
我的经历是这样子的:
尝试了多种方式安装系统,光盘没刻进去;网络安装没有有线网;U盘安装不成功无法进入系统。
一番折腾之后,只好把MBR重写在WIN7下用WUBI进行了安装。
个人认为这还是比较靠谱的一种方式,另外比较靠谱的是光盘安装。
系统总算装好,但像往常一样,显卡驱动不给力。
在以前的版本中,如10.10,安装专有驱动后无法进入图形界面,有人说BIOS设置为不可交换显卡可以正常启动,我没有试过。
总之最普遍的办法是不安装专有驱动,只用集显。
但这样有一个问题,就是独显会满负荷运转,大夏天的很是烫手,而且对硬件也是一种损伤。
在新的内核中已经增加了双显卡模块,可以支持关闭一个显卡,使用如下命令(不装驱动才可以):
echoOFF>/sys/kernel/debug/vgaswitcheroo/switch
再用以下命令查看可以发现其中一个显卡已经关闭
cat/sys/kernel/debug/vgaswitcheroo/switch
如果要把关掉的显卡重新打开,就这么办:
echoON>/sys/kernel/debug/vgaswitcheroo/switch
注:
可能需要首先获取root权限,“sudo-s”。
以上也可以写成一个脚本,有兴趣的童鞋可以到网上查一查。
没错,如果一切顺利,就可以这么凑合着用,个人认为装专有驱动对双显卡电脑来说真的是“最后的选择”,不到万不得已不要采用。
可是,ubuntu11.04真的是不给力透了。
正常开机,大概只有三成的概率可以顺利进入ubuntu系统,每次进系统都要摁电源键重启三四次。
屏幕上会出现一些显卡驱动加载失败之类的信息,然后卡死。
于是干脆装专有驱动,用“附加驱动”软件。
装完重启,中途不会卡住,但只能用经典ubuntu界面登入,进入系统不能打开配置程序,显示“显卡驱动未正常工作”,独显还是转个不停,很烫。
卸掉重装,还是一样。
问题来了:
装驱动不能关显卡,烫手;不装驱动可以关显卡,但系统启动时有很大概率会卡死,BIOS设置为不可交换显卡也没用。
(PS.这个驱动安装后关掉BIOS里的双显卡或许可以用。
)
经过和春哥的长时间探讨,我们终于决定采用上面的办法,希望碰到同样问题的人可以从中得到一些启发。
源地址:
编译Linux2.6.38内核+ATI显卡驱动fglrx8.812
OnMarch19,2011,in编程开发,bybucunzai
Linux内核的最新稳定版2.6.38在本月15日(4天前)发布,带着据说能显著改善桌面性能的233行鸡血补丁。
为了尾行尾随大神们,借着Google、各种看不懂的文档、还有能看懂一点的blog,开始了自行编译Linux内核的尝试。
写本文的同时将编译工作重做一遍,尽量减少遗漏什么的
首先准备编译所需的相关软件包:
1
2
3
4
5
sudoapt-getinstallfakerootbuild-essential
sudoapt-getinstallcrashkexec-toolsmakedumpfilekernel-wedge
sudoapt-getbuild-deplinux
sudoapt-getinstallgit-corelibncurses5libncurses5-dev
sudoapt-getinstalllibelf-devasciidoc
结果asciidoc(生成linux-header-2.6.38-all等必须)自动推荐安装的texlive-latex-extra-doc有快200M。
暂时用不上,删
1
sudoaptitudepurgetexlive-latex-extra-doc
一、尝试从kernel.org下载的源代码编译2.6.38内核
按照文档5基本很顺利生成了两个安装包,内核也才9M不到
1
2
72377762011-03-1713:
20linux-headers-2.6.38-pae_1_i386.deb
89514082011-03-1713:
18linux-image-2.6.38-pae_1_i386.deb
二、尝试从Ubuntukernel源代码编译内核
因为上述安装包的源代码来自Linux官方,装完之后重启尽管顺利进入图形界面,显卡驱动(安装最后讲)也正常。
有些报错行,查Google后发现可能是因为Ubuntu的内核需要一些它自带软件包的内核补丁,比如ureadahead什么的(介绍文点这里),而这样的补丁在官方(kernel.org)的源代码显然是没有的。
主要跟着文档2和文档3,但中间走了些弯路(比如编辑了1个多小时的内核配置文件忘了备份,又被gitreset–hard干掉什么的,泪流),根据笔记堆砌如下。
下载最新Ubuntukernel源代码,并准备大约4G的硬盘空间,版本选最新,当然是现在natty(11.04)的2.6.38内核啦,因为本机网络太慢,ssh到VPS上用Git下载并打包,再把打包的压缩文件拖回本地(一个小时过去了………….
1
2
gitclonegit:
//
tarczfubuntu-natty.tar.gzubuntu-natty
把用电话线拖回来的ubuntu-natty.tar.gz在本地解压,之后的操作大多在解压后的目录进行
1
2
tarxzfubuntu-natty.tar.gz
cdubuntu-natty
在本地新建一个分支,查看最新版本号(目前是Ubuntu-2.6.38-7.36),从该版本号checkout,取名为core2(意为IntelCore2)
1
2
lessdebian.master/changelog
gitcheckoutUbuntu-2.6.38-7.36-bcore2
生成配置,因为32位操作系统+4G内存这样奇葩的共存,所以参考文档中复制generic的相关配置文件的操作改成从generic-pae复制,然后本地清理、更新配置文件
1
2
3
cpdebian.master/config/i386/config.flavour.generic-paedebian.master/config/i386/config.flavour.core2
fakerootdebian/rulesclean
debian/rulesupdateconfigs
按需修改配置文件,大部分可以按n跳过,在Doyouwanttoeditconfig:
i386/config.flavour.core2?
[Y/n]后回车确认修改刚才自制的配置文件
1
debian/ruleseditconfigs
我主要改了CPU类型(在Processortypeandfeatures——Processorfamily选择Core2/newerXeon),内核时钟频率(在Processortypeandfeatures——Timerfrequency)选了1000HZ,降频方案(PowermanagementandACPIoptions——CPUFrequencyscaling——DefaultCPUFreqgovernor选了笔记本用的conservative或者ondemand),去掉内核调试信息(Kernelhacking——Compilethekernelwithdebuginfo)将大大降低源代码目录大小。
备份修改过的配置文件,切记,切记,不然好多分钟的辛苦工作马上就会被下面gitreset给抹杀了
1
cpdebian.master/config/i386/config.flavour.core2../
清理本地gittree
1
2
gitreset--hard
gitclean-xdf
准备编译,详细修改可见文2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#复制配置文件
lsdebian.master/abi
cddebian.master/abi/2.6.38-7.35
cpi386/generic-paei386/core2
cpi386/generic-pae.modulesi386/core2.modules
cd-
#修改配置文件getabis,将getalli386genericgeneric-paevirtual改为
#getalli386genericgeneric-paevirtualcore2
vimdebian.master/etc/getabis
#修改配置文件i386.mk,将flavours=genericgeneric-paevirtual改为
#flavours =genericgeneric-paevirtualcore2
vimdebian.master/rules.d/i386.mk
#复制配置文件
cddebian.master/control.d
cpvars.generic-paevars.core2
#修改配置文件vars.core2,这里的描述将会在aptitudeshowPackageName的时候出现
#可以根据喜欢将支持的CPU类型即supported="Generic"改为supported="Core2"什么的
vimvars.core2
cd-
#挪回刚才备份的配置文件
cp../config.flavour.core2debian.master/config/i386
#在本地gitcommit提交刚才的修改
gitadd.
gitcommit-a-m"Core2modifications"
开始编译
1
2
3
4
#开始前先清理一下(前戏什么的……
fakerootdebian/rulesclean
#生成四个依赖包,这个很快的,几分钟就好了
skipabi=trueskipmodule=truefakerootdebian/rulesbinary-indep
在上级目录可以看到刚才生成的4个包,安装时用到了第二个
1
2
3
4
42683862011-03-1914:
09linux-doc_2.6.38-7.36_all.deb
111688862011-03-1914:
10linux-headers-2.6.38-7_2.6.38-7.36_all.deb
564422011-03-1914:
09linux-source-2.6.38_2.6.38-7.36_all.deb
974122011-03-1914:
09linux-tools-common_2.6.38-7.36_all.deb
好了,开始编译Linux2.6.38内核,在笔记本的Intel(R)Core(TM)2DuoCPU T5850 @2.16GHz上耗时70mins,最后源代码目录2.1G左右
1
skipabi=trueskipmodule=trueno_dumpfile=truefakerootdebian/rulesbinary-core2
在上一级目录可以看到新增2个安装文件,内核大小34M:
1
2
8254322011-03-1915:
20linux-headers-2.6.38-7-core2_2.6.38-7.36_i386.deb
349244182011-03-1915:
20linux-image-2.6.38-7-core2_2.6.38-7.36_i386
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 显卡 问题