Radeon kms works!
At first I was very upset with ATI Radeon support in linux. But after a little bit of magic - it works!!! And the performance is really good.
Let me share my experience. 1) we need kernel 2.6.32-rc3. I just got config-general-2.6.30.5 from /testing. Made oldconfig. Then I enabled radeon_kms from Device Drivers/Staging 2) because I use LVM and luks, the driver failed to initialize properly during boot. This happens because driver initialises before root is mounted and cannot load proper firmware. Thus I had to blackist driver in /etc/modprobe.d/blacklist, and load it later (I load it from /etc/rc.modules). 3) we need to make an proper environment for X to work with KMS. We need to build (in this order): 1) libdrm - from git git clone git://cgit.freedesktop.org/mesa/drm configure it with --enable-radeon-experimental-api 2) mesa - from git git clone git://cgit.freedesktop.org/git/mesa/mesa do not specify DRI DRIVERS it will automaticaly detect. 3) xf86-video-ati - from git git clone git://cgit.freedesktop.org/git/xorg/driver/xf86-video-ati I use this scripts for that (modified from original .Slackbuilds) get-libdrm.sh: Code:
rm -rf libdrm Code:
PKGNAM=libdrm Code:
rm -rf mesa Code:
PKGNAM=mesa Code:
rm -rf xf86-video-ati Code:
PKGNAM=xf86-video-ati The performance is really goot. Switching between VT and X is momental. All the GL staff works. Hope this could be useful for anyone. |
Thanks for sharing =]
|
Hi,
Yes, thanks for sharing. I would suggest that you place your lists, SlackBuilds and/or long data within the vbcode tags # or quote with identification within. A experienced user will be able to pick things out but the novice will not. Plus it makes things cleaner therefore easier to read. |
Thank you very much, specially for SlackBuilds!:) I was looking for them 2 days ago, had plans to experiment with KMS. No need for that now, since you already did all hard work.;)
|
Thank you dolphin77 for your scripts. Thanks to them I was able to solve my problem with Random system hang ups as well as the last of my Three MPlayer and Xine issues.
|
Just to add a little bit to the above.
KDE desktop effects - works great Big TFT Sony TV (47") connected via VGA cable - detected automaticaly - works great native resolution work and looks great in "text" console mode output from dmesg: Code:
[drm] Initialized drm 1.1.0 20060810 Code:
X.Org X Server 1.6.3 |
It's not just KMS that's starting to run with these, but even more importantly 3D for r600/r700 chips. I have an integrated motherboard with, I believe, RS780 chip, and KWin Desktop effects now works smoothly in OpenGL. On the whole, it's quite stable for me right now and if performance can certainly be improved, it's already enough for a composited desktop.
|
Hello there.
I figured out that with kernel 2.6.32-rc5, rc6 there were a lot of "noise" produced in X under KDE. So for a while I had to stick to -rc3. But today 2.6.32-rc7 was released. It looks like they fixed this issue with "noise production". There are also a lot of various improvements for radeon driver. So for thous who are not afraid of bleeding edge, and who wants to get reasonable performance of radeon opensource driver, there is a good reason to update. best regards, Vladimir |
Nice! I was thinking it came from Mesa or the xfree86-video-ati driver. :-)
Will compile it tonight. |
Quote:
libdrm from git://anongit.freedesktop.org/mesa/drm compile like the Slackware source SlackBuild with an extra option on configure: --enable-radeon-experimental-api The extra flag should give you another library libdrm_radeon xf86-video-ati from git://anongit.freedesktop.org/xorg/driver/xf86-video-ati You can either hack out most of the unneeded stuff from the x11.SlackBuild script, or just make a complete new one from piecing together the configure calls and the like. The configure should find the new library libdrm_radeon automatically. mesa from git://anongit.freedesktop.org/mesa/mesa Using the stock source SlackBuild, make sure to add r600 to the list of dri drivers to build. The configure script should also find libdrm_radeon automatically. I copied and modified the original source SlackBuilds to just rsync from the git directory instead of untarring a source tarball. rsync -aC $CWD/drm/ $PKGNAM-$VERSION One last thing: if you use an initrd to boot, blacklist the radeon module from automatically loading (unless you build in the radeon module and firmware you need.) Manually load it in later (perhaps in rc.local) with a call like /sbin/modprobe radeon modeset=1 Good luck. |
thanks alot for posting this, I've been struggling with intel drivers, but recently noticed there is KMS option for the intel video options in a kernel recompile recently. I am trying some things out with your scripts here + some tweaks, trying to get it working on my ancient intel g45 hardware. anyways, I am in no way trying to thread-jack here, simply want to thank you publicly for posting this, it is very helpful to me in my troubleshooting!
peace |
Quote:
|
An updated info& scripts:
1) KERNEL PART: In order to make this work, we will need a kernel 2.6.32-rc7 (or later). It should be compiled with this options in .config: Code:
CONFIG_DRM_RADEON=m Code:
Device Drivers ---> Graphics support ---> <M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support ---> <M> ATI Radeon Code:
blacklist radeonfb Code:
/sbin/modprobe radeon In order to get as much as we can from our ATIs with opensource drivers, it is reasonable to play with GIT version of this packages. Code:
# git clone git://cgit.freedesktop.org/mesa/drm libdrm.SlackBuild Code:
#!/bin/sh Code:
#!/bin/sh Code:
#!/bin/sh Code:
./libdrm.SlackBuild && upgradepkg --reinstall libdrm-`date +%Y%m%d`_git-x86_64-1.t?z |
Hi,
I've been working on this Dell Inspiron 1501 problem for ages now. I've compiled the 2.6.32-rc7 kernel with your suggested settings. Followed the Thread/posts, especially #13. I used the recipe to the 'T'. I did include all drivers. Still no joy! Code:
lspci -vv; Code:
xorg.log what it should be; Heads UP: I noticed in the script '/Soft/dri' that if you setup the directory some users may not be aware that the rest of the scripts should be in that directory. No checking. I reverted to my original kernel, packages and configurations. I think that a separate install will be easier to see if this can be worked out. |
Quote:
First of all I should say that I am not an expert in graphics, programming and etc. I just spent few crazy weeks with my laptop not working properly (it has ATI Mobility Radeon HD 3400 - R600 chip). I almost got a nail in my head. But after a lot of googling, reading and etc I finally found workaround for my card. A little bit later all the required things were included in the development version of the kernel. That what I was trying to report and to share with the community. And I think that if it will help at least to one person, my target is reached. If someone spent a lot of time on figuring out something - why should others do the same? they can do something else. I do not know what kind of chipset is used in your card and the level of its support in kernel driver. But I do not think this is a very new card. And I think it should be supported. What you still can try to do is to remove all the vga options from lilo. As I understand,there could be interference between "old" framebuffers and the new features of radeon driver. Try also too look on phoronix forums. PS I removed this /Soft/dri from the above. You right it can confuse people. Good luck |
Quote:
Yes, you are correct that the Xpress GPU should be supported by KMS (in fact, at this point *all* radeon GPUs prior to the HD5*** series cards should be supported at this point). I would stress that KMS is undergoing nearly constant development in a git tree called drm-next. This is regularly (or semi-regularly) merged into the linux kernel tree. If someone is having problems with one of the 2.6.32 RCs, it might be worth trying drm-next. There are directions here: http://wiki.x.org/wiki/radeonBuildHowTo . Specifically, under the "Kernel mode setting and 3D for r600/r700" section (which is not accurately titled, as that pertains to KMS for all radeon GPUs). Unfortunately, even that wiki isn't completely up to date. It refers to cloning the linux stable tree, when users actually want to use the development tree: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Otherwise, when you get to the last step, merging in drm-next, it will fail. Finally, #radeon is (usually) a very helpful channel on freenode if users run into problems with the radeon driver. Adam |
dolphin77:
I just wanted to say that yesterday I followed your instructions & installed all of this on my Toshiba laptop. I had to do some massaging on the SlackBuilds, as I got a couple of errors, but that was a minor detail. Everything works well. I am (favorably) impressed. Regards, Bill |
Hi,
Quote:
|
onebuck:
Quote:
Regards, Bill |
Not sure this will have same effect for all the chipsets, but tested on my hardware so I think this should be mentioned.
If I enable vga=791 in my lilo.conf, than some noise is produced on the screen while initializing radeon module and when X started. But the worth is that DRI doesn't work. Thus I assume that any vga= options should be disabled in /etc/lilo.conf (don't forget to run lilo after edditing). I do not have any /etc/X11/xorg.conf The system initialise everything automatically. PS just checked 2.6.32-rc8 - runs well. |
dolphin, did you do anything different with the kernel firmware options?
I normally have these set, I think as they default, to not build firmware in kernel. But that might be needed for kms to work. Some problems resolved when I enabled the firmware settings by removing * for Select only... and Prevent firmware... Also * for Include in-kernel... as below. Not sure what is minimum required. From kernel configuration: make menuconfig Code:
Device Drivers-> Edit: I should point out that with the kernel config changes, kms and 3D on AMD 780g (integrated HD3200) does work and at least one or more of the firmware changes discussed above was needed, or maybe can be done in initrd. |
Quote:
Code:
vladimir@darkstar:~$ grep FIRMWARE /usr/src/linux/.config I am not sure, this is caused by the KMS, but maybe someone can explain. I had a problem with pm-suspend on my Sony Vaio VGN-SR11MR. I tried a lot of different quirks etc. Nothing really worked. Actually machine went to sleep very fast (2-3 seconds). But when I tried to wake it up, it didn't work. Just black screen and no keyboard. Since I use 64 bit system, I didn't know how to trace the problem. (http://hal.freedesktop.org/quirk/qui...-advanced.html) Till today I decided to spent some time on this issue. Firstly I tried to dump a little bit, if this is a correct word for this. what I did is: Code:
# rmmod `lsmod` Not all the modules were removed by this 'stupid strait away method'. So I created a list of potential client among modules and started to remove half of list. I started with 58 modules and after few reboots only 4 left. I started to remove them one by one. It was module 'video' which caused problems with pm-suspend. So now if I manualy do: Code:
# rmmod video PS could you please check and report here if this issue only corresponds to radeon kms - or it is just an issue with my sony laptop. Thank you. |
Did any of you get an error with git?
I have not used it before and am not sure what this means. Quote:
|
When did this appear? If during one of the get-*.sh scripts, you probably already have the master branch installed, under the directory ".git".
Regards, Bill |
Hey All,
Thanks for all your posts everyone. This is my first post here on LQ - at least with this tag (wirelessmc). All this explains a great deal. I am new to kms. So onto my issue: No X in either SW 12.2 (stock kernel 2.6.26.?) or 12.2 with 13.0 kernel 2.6.29.6. I rebuilt this kernel (2.6.29.6) last night (on my 12.2 install) but haven't tried booting it yet. I suspect after reading this that this (2.6.29.6 rebuild) is not the answer. New mobo is Asus M3A76-CM (Radeon 3000). X is working fine on this hardware with a fresh install of Ubuntu 9.10/kernel 2.6.31-14 using radeon driver (although frlgx non-free driver was offered after boot). I am thinking that latest kernel snapshot "2.6.32-rc8-git1" will likely fix everything or... Will I still need to use above Slack build script to rebuild libdrm, then blacklist radeon & radeonfb and enable radeon module from rc.modules? Seems like much hassle to get a radeon driver working properly under SW. |
Hi,
Tweaking the system via 'git' is sometimes the only way to get your 'ATI' card/subsystem functional. Especially if your card has been dropped. What do you mean by 'No X'? You should be able to use the 'vesafb' to test things. You can use 'SlackBuilds' since it would be easier but you could install manually if desired. Look at the Xorg Wiki. :hattip: |
What I mean by no X is I've tried every conceivable permutation of Xorg.conf including the vesafb driver and I can seem to get X started. I am not at my machine to give you the gory details of my /var/log/Xorg.0.log, but something about not knowing the 9616 chipset if I recall.
I thought about something in my lilo that could have been an issue (like vga=791 or whatever I have it set to). So booting from the SW13 CD (with boot: hugesmp.s root=/dev/[myrootdev] rdinit=ro) should eliminate that yes? |
Hi,
Quote:
If you can provide more information about the confiuration along with any error messages. Then we can possibly help you. |
Quote:
I guess it has something to do with "git checkout -t -b master origin/master". No .git in my home dir Quote:
|
Oh yea second question. I am not sure how to find the chipset.
Quote:
|
Hi,
Quote:
:hattip: |
Hello again.
Just wanted to report, that if you tried the above recipe (http://www.linuxquestions.org/questi...75#post3758275) in the period 24.11.2009-04.12.2009, probably you got a wrong impression that it doesn't work stable enough. There were an issue in mesa git. Some new code was introduced which caused wrong behavior of Kwin and other 3d apps. There were missing parts of screen and many many other buggy stuff. But do not give up. Mesa developing team is still working hard. They reverted the buggy part of code and now everything works very nice. And of course it is reasonable to update kernel to recently released 2.6.32. I've installed it the next day it was released. so far so good. No negative impressions. Best regards, Vladimir |
Hi,
I'm still working with the '2.6.32' kernel on an experimental basis. I'll continue to work with 'git' for mesa, drm and 'ATI' on the separate install just to get an idea of adjusting things in hopes of getting things shook out. :hattip: |
Not going to kms now, just trying to gain some fps but I'm learning with this thread. My weak rs482 is giving almost 1400 fps with glxgears. It's running with kernel-2.6.32, patched mesa-761rc2, ddx-6.12.14, libdrm-2.4.15. Except the kernel, all of them was built with SlackBuilds.
I'm tempted to build libdrm-2.4.16, ddx patched with some code from git and mesa761rc3 to see if this mess will work and sustain 1300+ fps. Please, keep sharing your findings. Thanks. |
Quote:
This is running on an ATI HD 2600 Pro. |
i tried kms with kernel 2.6.32 and the bleeding edge mesa, drm and ati from git. Didn't work at first then i removed the "vga" line from lilo.conf and works fine. Performance in kwin dropped however, as they were visible stuttering in a couple of effects compared to running in non-kms. I'm sure these will improve in future releases though. Btw im running on an ATI Mobility Radeon x1700 (R500).
|
I am not sure that glxgears is giving a good measuring. It is very relative measurements. I have 1000-1200 fps with desktop effects switched on and if I switch it off while glxgears running, I can get 1800-1900 fps. Kernel 2.6.32, mesa, libdrm and xf86-video-ati from git of yesterday.
01:00.0 VGA compatible controller: ATI Technologies Inc Mobility Radeon HD 3400 Series (prog-if 00 [VGA controller]) Subsystem: Sony Corporation Device 9033 I think it is actually HD3470 |
I'm trying to get kms working with kernel 2.6.32.2. Upgraded libdrm, mesa and xf86-ati-video as per above.
The screen blanks when drm should be loaded. When I boot with radeon.modesetting=0 I find the following in Xorg.0.log: Code:
$ grep drm /var/log/Xorg.0.log Code:
$ lspci|grep VGA |
Please show us the full /var/log/Xorg.0.log file. I have a feeling that you still have fglrx at least partially installed.
As for your KMS issues (which is probably not related)... Did you compile the radeon DRM into the kernel or as a module? How about framebuffer console support? Adam |
1 Attachment(s)
Quote:
Code:
$ grep RADEON build/linux-2.6.32.2/.config Cheers, Leon. |
Alright, well let's start with the easiest thing:
Code:
(II) LoadModule: "glx" Code:
(II) LoadModule: "ati" As for your console issues. I would personally recommend building with CONFIG_FB=y and removing CONFIG_FB_RADEON altogether, but first it's probably worth just getting those other two parts working and seeing if it improves the console situation any. Adam |
Quote:
Code:
(II) LoadModule: "glx" Quote:
Thanks for the help! Cheers, Leon. |
there is a bug in 2.6.32.2. I've seen a patch for it somewhere, but I am to busy for now. Try Googling if you want, or better stick to 2.6.32 or 2.6.32.1 for a while.
|
Quote:
The xf86-video-ati package hadn't been build at all because xorg macros were not updated. Was in too much hurry to notice the obvious error message... Following this guide solved that. Will now downgrade to 2.6.32.1 and see what it all brings. Cheers, Leon. |
Solved!
Although I get the following when running glxgears: Code:
$ glxgears And: Code:
$ grep WW /var/log/Xorg.0.log |
Quote:
libtxc_dxtn.so can be had from here: http://homepage.hispeed.ch/rscheidegger/dri_experimental/s3tc_index.html Now glxgears and the likes report Code:
$ glxgears Now on to the 'vblank_mode configuration'... |
IRQs are not supported unless you are using the latest/greatest code in drm_next and have downloaded some extra firmware. Without that support you can't sync-to-vblank. It's really safe to ignore that message.
As for the DXTn stuff... That's actually completely broken on r6xx/r7xx cards, even with the libtxc_dxtn library. |
Solved!
Quote:
|
Compiling in 2.6.32.2:
from ./autogen.sh in xf86-video-ati/ - Code:
configure.ac:35: error: xorg-macros version 1.3 or higher is required but 1.2.2 found |
Quote:
(Copy/pasted from Xorg.wiki) The build macros module contains a set of macros used by the build scripts across X.org modules. They are needed by both the Xserver and the drivers, if you are compiling from git. Code:
$ git clone git://anongit.freedesktop.org/git/xorg/util/macros Bash: Code:
$ export ACLOCAL="aclocal -I /opt/xorg/share/aclocal" Code:
$ setenv ACLOCAL "aclocal -I /opt/xorg/share/aclocal" |
All times are GMT -5. The time now is 05:14 AM. |