ATI KMS 资源
时间:2009-04-22
来源:互联网
http://www.phoronix.com/scan.php?pag...item&px=NjYyMQ
http://airlied.livejournal.com/61839.html
http://airlied.livejournal.com/
http://airlied.livejournal.com/64271.html * 12/29/08 Kernel modesetting pull request sent
http://airlied.livejournal.com/63368.html * 11/30/08 KMS and AGP r300s
http://airlied.livejournal.com/62269.html ** 9/6/08 testing modesetting on radeon...
testing modesetting on radeon... So if you are feeling like testing modesetting on radeon cards, here are some methods. a) Install Fedora rawhide - remember nomodeset on the kernel commandline disables it. b) get some repos. You need to do a full kernel build for this stuff. git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-rawhide git://git.freedesktop.org/git/mesa/drm.git modesetting-gem If you already have a kernel with GEM bits in it (i.e. rawhide or you have intel stuff - you can pull this repo and build the kernel modules with make OS_HAS_GEM=1 radeon.o git://people.freedesktop.org/~airlied/xf86-video-ati radeon-gem-cs git://people.freedesktop.org/~airlied/mesa r300-bufmgr If you don't care about 3D you can ignore the mesa tree. You need to build a kernel and choose the radeon drm, and you can enable modesetting by default. You need to build libdrm from the modesetting-gem branch, and you need to build the ati driver against it. 3D only works with r300->r500 and even there has some bugs. 2D X.org may not work with render accel on r100/r200 as I need to add a lot of commands to the verifier. In theory rebooting into the kernel should give you modesetting. So far the systems I've tested this on are: PCIE: RV530 FireGL in a Thinkpad T60P - LVDS + VGA R580 X1900XTX - DVI + VGA RS690 - VGA RV370 in laptop - LVDS + VGA PCI: RN50 - vga - no render/3D RV100 - tmds - no render/3D AGP: RV250 on SIS AGP - DVI (Internal/External TMDS) + VGA - no render/3D So the two areas with problems most likely are AGP and LVDS. and I'm sure r420/rv410 will throw some curve balls as the usually do. If you are using Rawhide and/or enable modesetting by default you can add the "nomodeset" to the kernel command line to disable it. To debug bootup hangs etc you can 1. boot with command line options "nomodeset 3" 2. rmmod radeon drm 3. modprobe drm debug=1 4. modprobe radeon modeset=1 see if you get an oops.. you can fire the dmesg off to me if you want as well, an Xorg.0.log from a working -ati on the same machine may also help. I'll hopefully get some radeontool tests available to find regressions. |
http://aur.archlinux.org/packages/xf...i-kms/PKGBUILD
http://tirdc.livejournal.com/ *
http://tirdc.livejournal.com/23805.html * 12 January 2009 Gallium on Radeon coming along
January 2009 Gallium on Radeon coming along Corbin simpson has been working hard on getting Gallium to run after he finally managed to build it. Today we could read the following lines: 01:47 #dri-devel: < MostAwesomeDude> airlied: Awesome. Got my pipe to build, gonna start trying to get things drawing. So what does it do right now? Well, to be honest: Nothing. But it's the point at where the groundwork should be (mostly) done and development can focus on actually implementing features. You can watch Corbin's progress in his mesa branch. Source Branches Speaking of branches, radeon development is right now happening in many places. It's hard to tell where to start since different developers are working at different features at different places. This is even agreed by leading radeon developers like Jermone Glisse. 03:15 #dri-devel: < glisse> way too much branch in way too much place Radeon developers try to avoid conflicts with intel development (happening in the official mesa and drm trees) by using seperate private repositories. This avoids regressions in the intel side but increases complexity of the development process. The nouveau project does it's development in the official trees, too. 00:49 #dri-devel: < pq> with Nouveau it's easy: just use drm.git drm.ko and nouveau.ko, and Nouveau's latest DDX Let's hope the work being done is sooner getting stable and will be slowly merged over to the official branches. Testing Gallium I'll try to explain how to play with Gallium/KMS/DRI2/GEM/TTM by choosing the right branches. Note that this is for testing and not every day usage. I can't tell if I get it right since I never did this myself. I can't test any of the commands listed below as I'm writing this on a win32 system. First of all you need a Radeon KMS and GEM capable kernel. These are not yet available in any kernel release (and won't be in 2.6.29) so you need to clone the following tree. mkdir /usr/src/linux-radeon cd /usr/src/linux-radeon git clone git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git . git checkout --track -b drm-rawhide origin/drm-rawhide Now you need to build and install this kernel. Note that it's a 2.6.28-rc9 (IIRC) so it's not recommend for every day usage. You might also need to install GEM-capable kernel headers. There might be specific instructions for you distribution. After that you need a modesetting capable libdrm. mkdir /usr/src/drm cd /usr/src/drm git clone git://anongit.freedesktop.org/mesa/drm . git checkout --track -b modesetting-gem origin/modesetting-gem Now you need a GEM aware DDX (2D X.org driver). I'm not sure which one is the correct one. mkdir /usr/src/xf86-video-ati-airlied cd /usr/src/xf86-video-ati-airlied git clone git://anongit.freedesktop.org/~airlied/xf86-video-ati . git checkout --track -b radeon-gem-cs2 origin/radeon-gem-cs2 mkdir /usr/src/xf86-video-ati-glisse cd /usr/src/xf86-video-ati-glisse git clone git://anongit.freedesktop.org/~glisse/xf86-video-ati . git checkout --track -b radeon-gem-cs-dri2 origin/radeon-gem-cs-dri2 Both should be more or less the same, i.e. DRI2, KMS and GEM capable. This work will likely be done for xf86-video-radeonhd at a later point, too. Finally you need a Gallium Mesa tree. mkdir /usr/src/xf86-video-ati-glisse cd /usr/src/xf86-video-ati-glisse git clone git://anongit.freedesktop.org/~csimpson/mesa . git checkout --track -b gallium-0.2-radeon origin/gallium-0.2-radeon This might lead you the right way, or might eliminate your whole disk. There are no guarantees on this guide. |
作者: 聚焦深空 发布时间: 2009-04-22
arch 版先行者 http://www.linuxsir.org/bbs/thread348479.html
作者: 聚焦深空 发布时间: 2009-04-22
注意:楼主帖子里的DDX驱动和Mesa驱动都已过时。
ddx请用git://anongit.freedesktop.org/~airlied/xf86-video-ati radeon-gem-cs3
mesa请用git://anongit.freedesktop.org/mesa/mesa radeon-rewrite.重写了整个radeon系列的驱动并支持r300的gallium模式
作者: iamfool 发布时间: 2009-04-24
我的2600xt一直是SUSE系统默认,真的很心动。。。
作者: linux_pro 发布时间: 2009-04-24
作者: iamfool
ddx请用git://anongit.freedesktop.org/~airlied/xf86-video-ati radeon-gem-cs3
mesa请用git://anongit.freedesktop.org/mesa/mesa radeon-rewrite.重写了整个radeon系列的驱动并支持r300的gallium模式 |
Mesa 偶现在使用的是您给出的版本,忘了从那找到的。
radeon 驱动使用的是 radeon-gem-cs2,没驱动起来。
把您消息来源也一并给出来吧!
作者: 聚焦深空 发布时间: 2009-04-24
http://www.phoronix.com/scan.php?pag...item&px=NzA2MA
http://airlied.livejournal.com/65755.html
dri2 and/or kms status
http://www.phoronix.com/forums/showthread.php?t=15945
楼主能上livejournal吗?我这里可是被和谐了。要用google快照才行
作者: iamfool 发布时间: 2009-04-24
和手机上的opera mini很像!
还有,我用的就是ls所说的那几个,也是着了很久,全是看最近更新的编译的额,嘿嘿
作者: jarryson 发布时间: 2009-04-24
linux-kernel:
git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-rawhide
偶这里为简便,把 KMS 支持编译进内核;
不能、也不需要安装内核头文件,升级内核头文件,有必要更新整个编译工具链。
libdrm:
git://git.freedesktop.org/git/mesa/drm.git modesetting-gem
Mesa:
git://people.freedesktop.org/~airlied/mesa radeon-rewrite
有时间会试试 Mesa 官方源,看看效果。
xf86-video-ati:
git://people.freedesktop.org/~airlied/xf86-video-ati radeon-gem-cs3
偶机器上很稳定,ATI radeon X1400,3D 正常,glxgears 有微量提升。
偶原来对 KMS 与 framebuffer 有些误解:启用 KMS 时,无法使用 video=xxx vga=xxx 的内核启动参数,KMS 内核模块会自动设置 framebuffer 工作模式,使用 framebuffer 的程序应能正常工作。
下图为证:工作在 KMS 上的 fbterm + ucimf
0.png (9.4 KB, 835 次查看) |
作者: 聚焦深空 发布时间: 2009-04-24
作者: iamfool
楼主能上livejournal吗?我这里可是被和谐了。要用google快照才行
|
google 快照 偶 这里倒是一直不能直接访问。
作者: 聚焦深空 发布时间: 2009-04-24
还有,使用kms在console下的显示性能下降很多,特别时在翻屏时,不知道各位有没有这个感觉
另:google快照只有google.cn的能上,google.com的是不能上的。
不知道几位有没有用mplayer,我这里使用opengl后端来放fullhd的片子时显示会崩溃,xv就没事,不知道是否是kms驱动的问题。
作者: iamfool 发布时间: 2009-04-25
编译不同版本内核的模块使用该内核自带头文件就是,但不能直接用其头文件覆盖系统中的内核头文件,否则出问题没法查清的。
如果真的依赖另一个版本的内核头文件,偶的安装方式会出问题的,事实是没有问题。
对 KMS 的工作方式,不是太清楚,但一般情况下,内核里的东西对用户空间程序应该是透明的,内核空间 用户空间 交流要通过 设备文件(内核设备驱动)、系统调用(libc作中介)。
需要 读源代码 或 找 KMS 文档资料。
想运行 3D 游戏,出现问题,无法改变分辨率、刷新率,整个被内核接管了,不知少配置什么东西 或 少装什么用户空间工具。
作者: 聚焦深空 发布时间: 2009-04-25
作者: iamfool
就是console下字符显示性能明显比radeonfb要慢。
|
作者: 聚焦深空 发布时间: 2009-04-25
作者: iamfool 发布时间: 2009-05-02
Kernel:
git clone git://people.freedesktop.org/~glisse/drm-next
cd drm-next
git branch drm-next-radeon origin/drm-next-radeon
git checkout drm-next-radeon
Then usual kernel configuration just enable fbcon,ttm and radeon kernel modesetting.
git clone git://anongit.freedesktop.org/git/mesa/drm
cd drm
git branch modesetting-gem origin/modesetting-gem
git checkout modesetting-gem
./autogen.sh --prefix=/usr --libdir=/usr/lib64
(libdir is only needed if on x86-64)
make
sudo make install
git clone git://people.freedesktop.org/~glisse/xf86-video-ati
cd xf86-video-ati
git branch radeon-gem-cs3 origin/radeon-gem-cs3
git checkout radeon-gem-cs3
./autogen.sh --prefix=/usr --libdir=/usr/lib64
(libdir is only needed if on x86-64)
You also need the Xorg dev package from you distribution sudo yum-builddep xorg-x11-drv-ati.x86_64 (on fedora)
make
sudo make install
git clone git://anongit.freedesktop.org/git/mesa/mesa
cd mesa
git branch radeon-rewrite origin/radeon-rewrite
git checkout radeon-rewrite
./autogen.sh --prefix=/usr --libdir=/usr/lib64 --with-dri-drivers=radeon,r200,r300
(libdir is only needed if on x86-64)
make
sudo make install
其他都一样但是内核比git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-rawhide要新一点,而且patch列表里内容不一样,可能是用不同的内存管理模型。有没有人试验一下。
作者: iamfool 发布时间: 2009-05-04
只等其正式进入稳定版,进入 linux-2.6.31 的希望还是满大的。
作者: 聚焦深空 发布时间: 2009-05-07
搜索airlied的时候看到这个
linux/kernel/git/jbarnes/drm-2.6.git Core DRM repo while airlied is on vacation owner Jesse Barnes
不知道该不该更新这个了
作者: jarryson 发布时间: 2009-05-15
不过看不出dri2在工作,因为cairo-dock的显卡加速模式下,背景还是黑的。
作者: jarryson 发布时间: 2009-06-06
提取出和2.6.29-rc8不同的地方?
或者git合并drm-rawhide到drm-linus?
airlied博客上说可以这样,但是我还是不知道怎么弄。
If you already have a kernel with GEM bits in it (i.e. rawhide or you have intel stuff - you can pull this repo and build the kernel modules with make OS_HAS_GEM=1 radeon.o |
还有:
http://airlied.livejournal.com/66706.html
airlied把mesa的radeon-rewrite分支合并到master里面去了。也就是不需要
git checkout --track -b radeon-rewrite origin/radeon-rewrite
可是我现在又想用2.6.30。。。纠结啊
作者: jarryson 发布时间: 2009-06-13
如果您写过内核模块并编译加载过,或编译过最新的(非内核自带) kvm、alsa 内核模块并查看过相关 Makefile,应该会比较容易理解。
我们需要当前内核配置后的源码,最好是内核安装后留下来的目录,免的手动生成 version.h。
之后要在包含 ati kms 内核源码树下直接编译 drm(不确定是否需要) radeon 两个模块,方法应该类似编译单个模块。
偶觉得配置包含 ati kms 新内核,之后 cd 到 ati kms 所在目录下,直接修改 Makefile,再编译会简单些,或者偶没理解 airlied 的要点。
没这样做过,纯属猜测,仅供参考。
作者: 聚焦深空 发布时间: 2009-06-13
http://www.kerneltravel.net/?p=70
作者: 聚焦深空 发布时间: 2009-06-13
直接gcc或者make radeon_drv.o等会提示找不到很多头文件。
水平有限,看来只能等了
作者: jarryson 发布时间: 2009-06-13
也有相应内核选项
可惜编译完成后,并不能使用ATI的KMS。radeon模块提示说没有modset这个参数
作者: jarryson 发布时间: 2009-06-13
首先,要编译一份能使用不同版本模块的内核。
[*] Enable loadable module support --->[*] Module versioning support
配置包含 ati kms 的内核源码,make allnoconfig,然后只配置 drm radeon 模块,编译,下面有两条路,
1、安装,拷贝 drm radeon 内核模块到当前内核模块目录树下,运行 depmod,用 modprobe radeon 加载
2、直接拷贝 drm radeon 内核模块到一个地方,用 insmod drm radeon 加载
作者: 聚焦深空 发布时间: 2009-06-13
打那个补丁编译,我弄到早上6点多,可惜失败。
补丁是从这里得到的http://git.kernel.org/?p=linux/kerne...or-glisse-only
我考虑是不是仍然寻找补丁,研究一下git。。。不理解不是for glisse only里面就是针对radeon KMS的补丁,为何不成功
作者: jarryson 发布时间: 2009-06-13
把 linux-2.6.30 源码树下的 include/drm drivers/gpu 分别用支持 radeon kms 的内核的同名目录替换,配置时有相应 radeon kms 选项,正常配置编译安装即可。
前面说的直接编译模块的方法不可行,能正常编译,但不能加载,提示缺少一堆 ttm 相关的 symbol。
打补丁也是可行的,但相对来说麻烦些。
偶的笨办法也算一种补丁方式,虽然不严谨。
作者: 聚焦深空 发布时间: 2009-06-13
可惜给2.6.30打上的时候太多的错误,我弄了一个下午还没弄完。虽然都不是很大的改动,但是我想就是打上应该也不能用。。太多了。。
这样替换的方法可以正常使用么?
作者: jarryson 发布时间: 2009-06-13
正在编译。看是否有效果
http://cvs.fedoraproject.org/viewvc/...?revision=1.82
----
成功。。。这个补丁有效,正常使用2.6.30内核并且开启ATI的KMS。。
这个应该是比较完美的方法了。。
fedora上有好多补丁啊。。
作者: jarryson 发布时间: 2009-06-13
作者: 聚焦深空 发布时间: 2009-06-14
地址也是如上,不过不能成功打上,不过稍微修改一下就可以了。附件是修改过的
应该是用来电源管理的吧。暂时没发现什么问题。
drm-radeon-pm-1.18.2.patch.tar.gz (4.7 KB, 2 次查看) |
作者: jarryson 发布时间: 2009-06-14
看到一大堆加锁解锁操作,不知目的是修正bug,还是提高稳定性。
貌似是 x86_64 用的相关补丁,不知 x86 是否适用。
作者: 聚焦深空 发布时间: 2009-06-14
xset dpms force off关闭了。
xfce4-power-manager也不能关闭显示器。
如果要除去这个补丁,我又要编译一次内核。晕。
---------------
我直接反打这个补丁,然后编译,内核默认只是编译修改过的几个模块。没有关系把应该。
可是我还是没有办法关闭屏幕了。2.6.29-rc8那个可以。。天哪。。这个补丁看来并不完美,或者drm-radeon-pm.patch就是搞这个的,只是我修改的有问题。
作者: jarryson 发布时间: 2009-06-15
比如内核,只需要备份 /boot /lib/modules /lib/firmware 下相应部分。
作者: 聚焦深空 发布时间: 2009-06-15
不知道您有没有这样的情况,无法关闭屏幕。还有分辨率是否可调。
作者: jarryson 发布时间: 2009-06-15
作者: jarryson
那倒是无所谓,有pacman包管理器,包都还在。只不过是arch第3次编译了,因为打上官方补丁,我也得3次编译。
|
作者: jarryson
不知道您有没有这样的情况,无法关闭屏幕。还有分辨率是否可调。
|
分辨率不可调,只能看到 1280x800 一项,查 dmesg 发现加载 drm 模块时已经给设置过,不解。
不知再接个显示器会怎样。
作者: 聚焦深空 发布时间: 2009-06-16
Okay radeon TTM/KMS has landed in Linus tree under staging. To enable it you need to enable CONFIG_DRM_RADEON_KMS, which relies on CONFIG_STAGING being set. please read the CONFIG_STAGING warnings, esp the "Please note that these drivers are under heavy development, may or may not work, and may contain userspace interfaces that most likely will be changed in the near future." Now to get a userspace that can use this code you need to get git://git.freedesktop.org/git/mesa/libdrm master branch and build it with --enable-radeon-experimental-api and install that. git://git.freedesktop.org/git/xorg/driver/xf86-video-ati kms-support branch build that second git://git.freedesktop.org/git/mesa/mesa.git master branch build this with libdrm_radeon somewhere that pkgconfig can find it. You should either have KMS + DRI2, or a pile of smoking trash. Please report any mode type issues on #radeon or dri-devel mailing list. If you can't compile or configure your system to use this please wait until you have a distro do it for you. If you are using Fedora 11, grab the latest xf86-video-ati from koji and all you need is the new kernel bits. Known issues: My DDX reports something about DRM 2.0.0 and wanting 1.2.x or something like that, you messed up setting up the DDX or are still using the system DDX. Xv might be broken on resize (or normally) r600/r700 doesn't work (no surprise its not ready yet) |
作者: jarryson 发布时间: 2009-06-18
http://cvs.fedoraproject.org/viewvc/...patch?view=log
http://cvs.fedoraproject.org/viewvc/...patch?view=log
http://cvs.fedoraproject.org/viewvc/...patch?view=log
http://cvs.fedoraproject.org/viewvc/...patch?view=log
作者: jarryson 发布时间: 2009-06-18
作者: 聚焦深空 发布时间: 2009-06-18
不知道您更新了没
- drm-connector-dpms-fix.patch - allow hw to dpms off
- drm-dont-frob-i2c.patch - don't play with i2c bits just do EDID
- drm-intel-tv-fix.patch - fixed intel tv after connector dpms
- drm-modesetting-radeon-fixes.patch - fix AGP issues (go faster) (otaylor)
- drm-radeon-fix-ring-commit.patch - fix stability on some radeons
- drm-radeon-new-pciids.patch - add rv770/790 support
- drm-intel-vmalloc.patch - fix vmalloc patch
而且libdrm,mesa,xf86-video-ati的git树也变了。
-------------------------
不需要drm-connector-dpms-fix.patch, drm-radeon-fix-ring-commit.patch,drm-intel-vmalloc.patch,不然有错误
不过dpms那个也不是修正ATI卡的,是用来给intel用的,已经包含在2.6.30里了,我的问题还是没能解决。。浪费我时间啊。。
作者: jarryson 发布时间: 2009-06-18
不急,慢慢来。
作为一懒人,偶仅在发现感兴趣的东西时才会升级。
作者: 聚焦深空 发布时间: 2009-06-19
感觉2D性能稍微有提升,gtkperf体现出来的。但是glxgears没什么变化
作者: jarryson 发布时间: 2009-06-19
作者: 聚焦深空
偶现在用的是 14 楼 iamfool 给出的内核,参考您前几帖该升级到官方 git 内核。
不急,慢慢来。 作为一懒人,偶仅在发现感兴趣的东西时才会升级。 |
BTW:现在用着GNOME,开compiz时间长了会死机,不敢用。对比过gnome&xfce&kde还是觉得kde比较顺手,听说QT4.5性能还提高不少,不过kde4.2和qt4.5有兼容性问题。所以等4.3。
另外xfce项目里的midori浏览器很好,基于webkit,不知道有没有人用,我觉得比epiphany要好,才400多K,一般的浏览已经可以满足了。
作者: iamfool 发布时间: 2009-06-19
不知道因为config的原因还是什么,一样的做法git内核开启不了KMS。我真是折腾。
主要是因为感觉用2.6.30+KMS,什么地方内存有泄漏,就一直涨。但是就是没发现程序占用内存什么地方有问题。所有加起来哪有800m那么大。注销也不能解决问题
作者: jarryson 发布时间: 2009-06-20
进入X后,3D可用。开始compiz几乎是不能动,我还以为死机了,搞半天是compiz里面必须选中indirect rendering。但是这样就透明有问题。唉
不过DPMS可用,内存正常。还是不错的
作者: jarryson 发布时间: 2009-06-20
http://www.linuxsir.org/bbs/thread352642.html
现在基本完美了。就是效率远不如不用KMS的时候,XV画面变形只能用X11
作者: jarryson 发布时间: 2009-06-25
还存在的问题:分辨率仍然不可调
glxgears分数更低了。。。
war3但是感觉差不多。
作者: jarryson 发布时间: 2009-07-04
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28