PDA

View Full Version : Getting Open Source 3D graphics on R6XX/R7XX cards (NO FGLRX)


Neo_The_User
06-05-2009, 03:08 PM
NEW!!!: THIS GETS KERNEL MODESETTING WORKING AS WELL! :)

This guide will enable 3D acceleration on R6XX/R7XX (HD 2000 - HD 4000 series) graphics cards.

PLEASE NOTE: Do not run this source code on machines with old user space. If you are using Ubuntu 9.04, please check unsupported updates and proposed updates in System > Administration > Software Sources and run "sudo apt-get update && sudo apt-get dist-upgrade" without quotes.

PLEASE NOTE.. AGAIN: Compiling everything with GCC 4.4 latest snapshot or GCC 4.5 snapshot, the code runs faster. Please go to http://neo-technical.wikispaces.com/gcc-4.4 for instructions on how to fetch gcc code and compile it. Sorry for the external link.

1a.) Obtain the required development tools and programs to compile, install, and fetch the source code:

Ubuntu (9.04) / Debian (sid:)

sudo apt-get install git-core build-essential dh-make debconf debhelper automake autoconf libstdc++5 libstdc++6 xorg-dev gawk bison cdbs dkms && sudo apt-get build-dep libdrm mesa

Gentoo:

emerge -pv git automake autoconf xf86-video-ati mesa libdrm libpthread-stubs x11-proto/dri2proto x11-proto/glproto

Arch Linux:

sudo pacman -Syyu && sudo pacman -S xorg xf86-video-radeonhd base-devel ati-dri libgl dri2proto glproto

2a.) Obtain kernel source source code:

cd /usr/src && sudo git clone git:git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git && cd linux-2.6 && sudo git --global user.name "Neo"

You may replace "Neo" with whatever you like. "John Lennon," "Keanu Reeves," etc.

Pull from drm-linus:

sudo git pull git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-linus

Run any of the two commands to start editing the config. make xconfig looks nice but requires qt3 development headers and tools. make menuconfig uses the ncurses / screen interface.

sudo make xconfig
or
sudo make menuconfig

OPTIONAL: You may make changes to the config file regarding hard drives, firmware, wireless, bluetooth etc. to your preference.


REQUIRED SETTINGS: Under Graphics Support, compile "Lowlevel video output switch controls" INTO (Y) the kernel. "/dev/agpgart (AGP SUPPORT)" should be compiled INTO (Y) the kernel and your chipset (not graphics card) must be compiled INTO (Y) the kernel. Run lspci in a terminal to find out what chipset you have. If you can't tell, compile all the chipsets into the kernel (AGP_INTEL AGP_VIA etc.) Right below /dev/agpgart (AGP SUPPORT) is "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)" and you want that compiled INTO (Y) the kernel as well along with your graphics card (not chipset) INTO (Y) the kernel which is ATi Radeon. Right below that is "Support for frame buffer devices" and you want that compiled INTO (Y) the kernel. Within that, compile "Enable Firmware EDID" INTO (Y) the kernel. DO NOT COMPILE ANY ATI FRAME BUFFER SUPPORT COMPILED AS A MODULE OR INTO THE KERNEL!!!! Now you must turn on "Staging drivers" which is below HID Devices and USB support and the second option above "Firmware Drivers." Compile "Staging drivers" INTO (Y) the kernel and turn off 'Exclude Staging drivers from being built." Look for "Enable modesetting on radeon by default." It should be the 5th from the bottom. Last, you must compile firmware. You must turn on "CONFIG_FIRMWARE_IN_KERNEL" as this is extremely mandatory.

3a.) Compile the kernel:

sudo make all && sudo make modules_install && sudo make firmware && sudo make firmware_install && sudo make headers_check && sudo make headers_install && sudo make install

If sudo make install (only the last command) does not work:

sudo cp arch/x86/boot/bzImage /boot/vmlinuz-kms

Edit /boot/grub/menu.lst or /boot/grub/grub.cfg (which ever one exists) accordingly. I will not cover editing the file. Sorry. Please visit http://grub.enbug.org/grub.cfg and http://www.gnu.org/software/grub/manual/grub.html for more info. There should be some comments in that file to help you. An example all the way at the bottom is provided.

4a.) Restart your computer:

sudo reboot

You may also do "sudo telinit 6" without quotes depending on your preference. "sudo shutdown -r now" without quotes also works.

5a.) Clone all the required git repositories and switch to the required branches:

Radeon DDX driver and mesa:

mkdir devel && cd devel && git clone git://anongit.freedesktop.org/xorg/driver/xf86-video-ati && git clone git://anongit.freedesktop.org/mesa/mesa

6a.) Clone additional git repositories for compiling DDX:

git clone git://anongit.freedesktop.org/xorg/util/macros && cd macros && ./autogen.sh --prefix=/usr && make && sudo make install && cd ..

git clone git://anongit.freedesktop.org/xcb/pthread-stubs && cd pthread-stubs && ./autogen.sh --prefix=/usr && make && sudo make install && cd ..

1b.) dri2proto and glproto (Debian and Ubuntu only:)

git clone git://anongit.freedesktop.org/xorg/proto/dri2proto && cd dri2proto && ./autogen.sh --prefix=/usr && make && sudo make install && cd ..

git clone git://anongit.freedesktop.org/xorg/proto/glproto && cd glproto && ./autogen.sh --prefix=/usr && make && sudo make install && cd ..

7a.) Now you must compile and install libdrm_radeon:

git clone git:anongit.freedesktop.org/mesa/drm && cd drm && ./autogen.sh --prefix=/usr --enable-radeon-experimental-api && sudo make install && cd ..

So far, if you haven't gotten any errors, please proceed onto compiling the DDX and Mesa (the order of everything from here on out doesn't matter:)

8a.) Compiling radeon DDX:

cd xf86-video-ati && ./autogen.sh --prefix=/usr && make && sudo make install && cd ..

For Ubuntu, Debian, Gentoo, and Fedora:

cd mesa && ./autogen.sh --prefix=/usr --disable-gallium --with-dri-drivers=r600 && make && sudo make install

For ArchLinux and Slackware:

cd mesa && ./autogen.sh --prefix=/usr --with-dri-driverdir=/usr/lib/xorg/modules/dri --with-dri-drivers=r600 --disable-gallium && make && sudo make install

For some linux distributions, this will be needed in addition to get full 3D acceleration (Safe to do this just in case):

sudo mkdir /usr/local/lib/dri && sudo cp lib/*_dri.so /usr/local/lib/dri

10a.) Making your linux distribution use radeonhd over radeon:

You will need to generate an xorg.conf file that does not look very simple, so it is easier to modify:

If on KDE and on Kubuntu, Debian, or Gentoo (write all this down before proceeding on paper preferabbly:)
sudo /etc/init.d/kdm stop
Log in (If you see a black screen with white text, you're doing great)
sudo Xorg -configure
sudo mv xorg.conf.new /etc/X11/xorg.conf

If on KDE on ArchLinux:
sudo /etc/rc.d/kdm stop
Log in (Black screen blah blah blah)
sudo Xorg -configure
sudo mv xorg.conf.new /etc/X11/xorg.conf

If you are on Xfce, just do the above with your according linux distribution but replace "kdm" with "xdm" WITHOUT QUOTES!
If you are on gnome (Ubuntu by default) with GDM replace "kdm" with "gdm" without quotes.

1c.) Editing the config file:

Replace nano with kwrite, gedit, or whatever your favorite editor is (I perfer nano:)

sudo nano /etc/X11/xorg.conf

The config file should be relativley big now. Please take your time doing this to avoid problems. Find where the file says:

Section "Device"

Below those comments under that (lines that start with #) you should see the following:

Driver "radeonhd"

Where it says "radeonhd" it might already say "radeon" but if it does not say "radeon" change it now:

Driver "radeon"

Now hit Control O (its not a zero) to overwrite the /etc/X11/xorg.conf file. To exit, press Control X.

If you like to use vi or vim (I _LOVE_ vim) then you need to press, "i" with no quotes, and edit the file accordingly. To write and exit, press Escape (all the way on the top left of your keyboard) and press ":wq" without quotes.

I recommend that you restart your computer now using any of the following commands:

sudo telinit 6
sudo shutdown -r now
sudo reboot

You are now finished.

DanL
06-05-2009, 03:42 PM
Thanks for the guide. I'm going to try it on a fresh Sidux install.

Neo_The_User
06-05-2009, 04:01 PM
I didn't cover Sidux but you can try it. Your welcome.

agd5f
06-05-2009, 04:13 PM
Also, both radeon and radeonhd will work.

Neo_The_User
06-05-2009, 04:23 PM
Yes agd5f. You told me that in irc. :)

Fran
06-05-2009, 04:55 PM
I'm trying to do it the Gentoo Way (tm).

First problem, /usr/lib64/pkgconfig/libdrm.pc has:
...
Version: 2.3.1
...
and mesa of course says
Requested 'libdrm >= 2.4.3' but version of libdrm is 2.3.1

ERROR: media-libs/mesa-9999 failed.

That can be easily fixed by modifying the version in libdrm.pc by hand. But then mesa complains again, this time with:
configure: error: state tracker 'dri' doesn't exist

ERROR: media-libs/mesa-9999 failed.
Any clue? I have compiled other branches without problems.

(edit) Ok, sorry, inspecting the ebuild it seems it has a --with-state-trackers=glx,dri,egl line. I assume "dri" is not a state tracker anymore. I'll try without that.

Neo_The_User
06-05-2009, 05:14 PM
Well I guess you could try merging libdrm master with agd5f's 3D branch. Try giving this a shot (this is just a wild guess)

git clone git://anongit.freedesktop.org/~agd5f/drm && cd drm && git checkout -b r6xx-r7xx-3d origin/r6xx-r7xx-3d && git pull git://anongit.freedesktop.org/mesa/drm master

Start following the guide then from step 5a.

edit: ^Disregard that.

found a typo in the drm compilation process.

nanonyme
06-05-2009, 05:44 PM
Requested 'libdrm >= 2.4.3' but version of libdrm is 2.3.1

ERROR: media-libs/mesa-9999 failed.(edit) Ok, sorry, inspecting the ebuild it seems it has a --with-state-trackers=glx,dri,egl line. I assume "dri" is not a state tracker anymore. I'll try without that.You shouldn't be having any --with-state-trackers variables at all afaik. Libdrm from agd5f's repo should be enough. Be *very* careful that you don't have anything extra in the Mesa configure flags. Be minimal and it should work. :)

lucky_
06-05-2009, 05:53 PM
And is it worth the run ?
What is it's status ?

Neo_The_User
06-05-2009, 05:56 PM
I would say, yes. It is worth it. I don't know its status because I've never used it no have I looked into the source code that much. All I know is that if you want bleeding-edge code, this is your route.

lucky_
06-05-2009, 06:04 PM
Ok, because even if it looks like a long journey.
I certainly will give it a shot during the holidays hehe.
Is it worth writing a script to do the whole thing ?
And what about an update-thewholebunch option ?

nanonyme
06-05-2009, 06:41 PM
And is it worth the run ?
What is it's status ?Status is it doesn't really do much. It's still in quite early development phase. And if you want to actually use it for running OpenGL, no, it's not worth it yet. It's only worth for checking out if you're interested in seeing if the initial code breaks in the same way as yesterday or in new interesting ways. ;) (Seriosly speaking, the code is still mostly only useful if you're a developer. It's still missing a lot)

Fran
06-05-2009, 06:48 PM
I got it compiled using ebuilds (the problem I posted before with pkgconfig was because the ebuild was not using the r6xx-r7xx-3d branch).

When I launch glxgears, I get a kernel oops (or something similar). If I try a second time, the system freezes. So obviously not quite ready yet :P. I'll post the trace tomorrow, in case it helps.

nanonyme
06-05-2009, 07:21 PM
I got it compiled using ebuilds (the problem I posted before with pkgconfig was because the ebuild was not using the r6xx-r7xx-3d branch).

When I launch glxgears, I get a kernel oops (or something similar). If I try a second time, the system freezes. So obviously not quite ready yet :P. I'll post the trace tomorrow, in case it helps.Better try for simpler tests like redbook hello. It's available under progs/redbook under your Mesa source tree and probably got compiled along with your Mesa sources. It's a simple program that draws a white rectangle on a black background. Until it works properly, probably a waste of time running glxgears. :)

bridgman
06-05-2009, 08:03 PM
Yeah, this is roughly where we were with driver bring-up when we decided to jump across to the radeon-rewrite code base and define a new API for the mesa-to-drm interface.

There is code in the driver to do a lot more than glxgears, but we need to keep slogging through bringup work for a bit longer.

forum1793
06-05-2009, 09:09 PM
1. Does this work with 2.6.29 kernel?

2. Does this work with kde4.2, which seems to have qt4?

3. Does this work with 64 bit?

I'm trying all three and have not gotten any 3D with hd3200.

With radeon (ati) running, glxinfo or glxgears gives:
Error: couldn't get an RGB, Double-buffered visual

bridgman
06-05-2009, 09:41 PM
The current drm code seems to work best with 2.6.27 and 2.6.28 right now. I have seen problems reported with 2.6.29 and 64-bit. Not sure whether the devs are mostly working in 32- or 64-bit, will ask. In terms of working with KDE, all I can say is "I would be really surprised if it did".

The devs are going through the bringup activity now, starting with the basic Redbook tests and fixing each of those first.

SolidSteel144
06-05-2009, 10:42 PM
What exactly was implemented in kernel 2.6.30? Kernel modesettings?

Neo_The_User
06-05-2009, 11:25 PM
Kernel modesettings for Radeon was never actually implented in the upstream 2.6.30 kernel source.

bridgman
06-06-2009, 12:23 AM
Yep. What went into 2.6.30 was the drm calls used by the X server for EXA and Xv acceleration on 6xx/7xx.

Direct rendering clients (eg Mesa, the 3D driver) use a different set of API calls; those are not yet supported in the kernel tree. Not sure if they will make it into 2.6.31 or not; it depends on 3D driver progress. Until the 3D driver is at a point where we think the mesa-to-drm API can be frozen it is not considered appropriate to put the API support into the kernel tree. This seems like a rule which could use a tiny bit of fine-tuning :D

Fran
06-06-2009, 03:55 AM
Better try for simpler tests like redbook hello. It's available under progs/redbook under your Mesa source tree and probably got compiled along with your Mesa sources. It's a simple program that draws a white rectangle on a black background. Until it works properly, probably a waste of time running glxgears. :)

Nope, same oops with redbook hello:
Jun 6 11:30:58 quad klogd: PGD 13a9d5067 PUD 13aa2b067 PMD 0
Jun 6 11:30:58 quad klogd: CPU 0
Jun 6 11:30:58 quad klogd: Modules linked in: bttv ir_common videobuf_dma_sg videobuf_core btcx_risc tveeprom af_packet coretemp it87 hwmon_vid hwmon usbhid hid tuner snd_hda_codec_realtek snd_hda_intel tda9887 tuner_simple snd_hda_codec tuner_types snd_pcm v4l2_common videodev snd_timer v4l2_compat_ioctl32 sr_mod uhci_hcd snd ehci_hcd r8169 cdrom usbcore evdev soundcore snd_page_alloc mii [last unloaded: tveeprom]
Jun 6 11:30:58 quad klogd: Pid: 2231, comm: hello Not tainted 2.6.30-rc8-radeon #2 G33-DS3R
Jun 6 11:30:58 quad klogd: RIP: 0010:[<ffffffff804e04d3>] [<ffffffff804e04d3>] __mutex_lock_slowpath+0xb3/0x1b0
Jun 6 11:30:58 quad klogd: RSP: 0018:ffff88013a91fc60 EFLAGS: 00010246
Jun 6 11:30:58 quad klogd: RAX: 0000000000000000 RBX: ffff88013ea74e3c RCX: ffff88013a91fdc8
Jun 6 11:30:58 quad klogd: RDX: ffff88013c5f0240 RSI: ffff88013a91fdc8 RDI: ffff88013ea74e3c
Jun 6 11:30:58 quad klogd: RBP: ffff88013ea74e38 R08: ffffffff8040a960 R09: 00007f8bddca0720
Jun 6 11:30:58 quad klogd: R10: 000000000000013f R11: 0000000000000246 R12: ffffffffffffffff
Jun 6 11:30:58 quad klogd: R13: ffff88013ea74e40 R14: 0000000000000000 R15: ffff88013fa7d750
Jun 6 11:30:58 quad klogd: FS: 00007f8bddca0720(0000) GS:ffff880028022000(0000) knlGS:0000000000000000
Jun 6 11:30:58 quad klogd: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Jun 6 11:30:58 quad klogd: CR2: 0000000000000000 CR3: 000000013aa82000 CR4: 00000000000006e0
Jun 6 11:30:58 quad klogd: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Jun 6 11:30:58 quad klogd: DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Jun 6 11:30:58 quad klogd: Process hello (pid: 2231, threadinfo ffff88013a91e000, task ffff88013fa7d750)
Jun 6 11:30:58 quad klogd: ffff88013ea74e40 000000004a2a3752 ffff88013fbea500 0000000000000dbf
Jun 6 11:30:58 quad klogd: RSP <ffff88013a91fc60>
Jun 6 11:30:58 quad klogd: ---[ end trace f64472c6cfd2333f ]---
Jun 6 11:30:58 quad klogd: note: hello[2231] exited with preempt_count 3
Jun 6 11:30:58 quad klogd: Modules linked in: bttv ir_common videobuf_dma_sg videobuf_core btcx_risc tveeprom af_packet coretemp it87 hwmon_vid hwmon usbhid hid tuner snd_hda_codec_realtek snd_hda_intel tda9887 tuner_simple snd_hda_codec tuner_types snd_pcm v4l2_common videodev snd_timer v4l2_compat_ioctl32 sr_mod uhci_hcd snd ehci_hcd r8169 cdrom usbcore evdev soundcore snd_page_alloc mii [last unloaded: tveeprom]
Jun 6 11:30:58 quad klogd: Pid: 2231, comm: hello Tainted: G D 2.6.30-rc8-radeon #2
Jun 6 11:30:58 quad klogd: Call Trace:
Jun 6 11:30:58 quad klogd: [<ffffffff804df789>] ? thread_return+0x16c/0x683
Jun 6 11:30:58 quad klogd: [<ffffffff8023a72e>] ? vprintk+0x37e/0x420
Jun 6 11:30:58 quad klogd: [<ffffffff804dfcb8>] ? schedule+0x18/0x40
Jun 6 11:30:58 quad klogd: [<ffffffff802359fc>] ? __cond_resched+0x1c/0x50
Jun 6 11:30:58 quad klogd: [<ffffffff804dfdc7>] ? _cond_resched+0x37/0x40
Jun 6 11:30:58 quad klogd: [<ffffffff80284451>] ? unmap_vmas+0x801/0x980
Jun 6 11:30:58 quad klogd: [<ffffffff802897ca>] ? exit_mmap+0xda/0x1a0
Jun 6 11:30:58 quad klogd: [<ffffffff80237295>] ? mmput+0x25/0xc0
Jun 6 11:30:58 quad klogd: [<ffffffff8023b74e>] ? exit_mm+0xfe/0x140
Jun 6 11:30:58 quad klogd: [<ffffffff8023d7d6>] ? do_exit+0x676/0x6f0
Jun 6 11:30:58 quad klogd: [<ffffffff8023a093>] ? release_console_sem+0x1a3/0x1f0
Jun 6 11:30:58 quad klogd: [<ffffffff8020f922>] ? oops_end+0x72/0xa0
Jun 6 11:30:58 quad klogd: [<ffffffff80225fea>] ? no_context+0xfa/0x270
Jun 6 11:30:58 quad klogd: [<ffffffff802c0ba9>] ? block_write_end+0x39/0x90
Jun 6 11:30:58 quad klogd: [<ffffffff802262b5>] ? __bad_area_nosemaphore+0x155/0x220
Jun 6 11:30:58 quad klogd: [<ffffffff80319883>] ? __ext4_journal_stop+0x33/0x90
Jun 6 11:30:58 quad klogd: [<ffffffff8030b256>] ? ext4_da_write_end+0xe6/0x2d0
Jun 6 11:30:58 quad klogd: [<ffffffff8030f7d0>] ? ext4_da_get_block_prep+0x0/0x1f0
Jun 6 11:30:58 quad klogd: [<ffffffff804e251f>] ? page_fault+0x1f/0x30
Jun 6 11:30:58 quad klogd: [<ffffffff8040a960>] ? radeon_cs_ioctl+0x0/0x450
Jun 6 11:30:58 quad klogd: [<ffffffff804e04d3>] ? __mutex_lock_slowpath+0xb3/0x1b0
Jun 6 11:30:58 quad klogd: [<ffffffff804e035a>] ? mutex_lock+0x1a/0x40
Jun 6 11:30:58 quad klogd: [<ffffffff8040a990>] ? radeon_cs_ioctl+0x30/0x450
Jun 6 11:30:58 quad klogd: [<ffffffff80246027>] ? block_all_signals+0x37/0xa0
Jun 6 11:30:58 quad klogd: [<ffffffff8026f71e>] ? generic_file_aio_write+0x7e/0xf0
Jun 6 11:30:58 quad klogd: [<ffffffff803d24a0>] ? drm_ioctl+0x140/0x3c0
Jun 6 11:30:58 quad klogd: [<ffffffff8030658b>] ? ext4_file_write+0x4b/0x160
Jun 6 11:30:58 quad klogd: [<ffffffff8040a960>] ? radeon_cs_ioctl+0x0/0x450
Jun 6 11:30:58 quad klogd: [<ffffffff8029bac2>] ? do_sync_write+0xe2/0x120
Jun 6 11:30:58 quad klogd: [<ffffffff802aa2f2>] ? vfs_ioctl+0x82/0xb0
Jun 6 11:30:58 quad klogd: [<ffffffff802aa3a8>] ? do_vfs_ioctl+0x88/0x560
Jun 6 11:30:58 quad klogd: [<ffffffff802aa8c9>] ? sys_ioctl+0x49/0x80
Jun 6 11:30:58 quad klogd: [<ffffffff8029c78e>] ? sys_write+0x4e/0x90
Jun 6 11:30:58 quad klogd: [<ffffffff8020b3eb>] ? system_call_fastpath+0x16/0x1b
After that I still can use X, but if I try again with another demo, X hangs.

(edit) I forgot: I'm using 2.6.30-rc8 patched with this (http://cvs.fedora.redhat.com/viewvc/rpms/kernel/F-11/drm-modesetting-radeon.patch). Maybe that's the cause.

Neo_The_User
06-06-2009, 04:10 AM
Try following the exact guide with the kernel source tarball given.

Fran
06-06-2009, 04:49 AM
Nah, I don't like to pollute my system with custom compilations. I *always* use ebuilds so that the computer can be left in the exact same state it was before the tests; thanks to sandbox and collision-protect I know nothing else is touched during compilations or installations. A make install by hand with prefix=/usr can very easily bork a system (I do use my production system for these tests, I feel quite secure with portage taking care of things).

I'll simply wait until this can be tested in a 2.6.3X kernel. Or maybe I'll make an ebuild for agd5f's drm module, instead of using the in-kernel one in .30.

nanonyme
06-06-2009, 07:52 AM
The current drm code seems to work best with 2.6.27 and 2.6.28 right now. I have seen problems reported with 2.6.29 and 64-bit. Not sure whether the devs are mostly working in 32- or 64-bit, will ask.2.6.30 has a sysfs redesign which requires rewrite on quite a few kernel drivers including the DRM driver. (This leads to compilation issues with agd5f's DRM and an 2.6.30 kernel. I tried writing compat stuff to get it to work but it turned out to be Bloody Tricky (tm). Probably a good point to see after the 2.6.30 release whether or not it's enough for it to work to just solve the sysfs issue. Porting by breaking compatibility is semi-trivial since DRM in Linus' kernel tree already *is* compliant with the changes)
It seems to ~work on 2.6.29 (as in, it starts, rendering corruption, occasional hangups). I'm not a dev but I do all my testing with a 64-bit kernel.

nanonyme
06-06-2009, 07:54 AM
Nah, I don't like to pollute my system with custom compilations.This is why --prefix exists. ;) (Well, right. Apparently Neo told you to install under /usr. You should note that you don't have to as long as you pedantically install under the same prefix and make sure headers and libraries under the prefix are used in compiling and later on and tell OpenGL programs to load the right library with a variable. It's a bit more tricky but keeps your system clean)

nanonyme
06-06-2009, 08:01 AM
(edit) I forgot: I'm using 2.6.30-rc8 patched with this (http://cvs.fedora.redhat.com/viewvc/rpms/kernel/F-11/drm-modesetting-radeon.patch). Maybe that's the cause.Put nomodeset in Grub kernel line on a KMS kernel or you'll get really weird behaviour.

Fran
06-06-2009, 08:40 AM
Put nomodeset in Grub kernel line on a KMS kernel or you'll get really weird behaviour.
Yeah, I was disabling modesetting. Anyway, after my last message I tried with 2.6.29 and x11-drm from agd5f and got the same results as you: corruption with some demos and a X freeze after a while.

Neo_The_User
06-06-2009, 12:08 PM
I didn't know the correct enviornmental varibles to set so if anybody could state some exact examples on what to do when not installed to /usr that would be great!

edit: ^I have been asking that question everywhere for 2 years. Nobody never ever answers it.

Ant P.
06-06-2009, 12:35 PM
Nah, I don't like to pollute my system with custom compilations.

Since that's the *only* way to install a kernel in gentoo whether or not you use an ebuild, what's the problem?

Fran
06-06-2009, 01:25 PM
Since that's the *only* way to install a kernel in gentoo whether or not you use an ebuild, what's the problem?
I was talking about the "try following the exact guide" part. Obviously I don't have any problem with compiling my own kernels ;) (in fact after that message I tried with 2.6.29 + custom x11-drm ebuild).

nanonyme
06-06-2009, 01:38 PM
edit: ^I have been asking that question everywhere for 2 years. Nobody never ever answers it.You mean LD_LIBRARY_PATH? (At least iirc it should work)

tormod
06-06-2009, 07:18 PM
I didn't know the correct enviornmental varibles to set so if anybody could state some exact examples on what to do when not installed to /usr that would be great!

edit: ^I have been asking that question everywhere for 2 years. Nobody never ever answers it.

I'll break the curse:
For the OpenGL programs, set LIBGL_DRIVERS_PATH to the directory where you have the *_dri.so mesa drivers. This is actually documented on http://dri.freedesktop.org/wiki/TestingAndDebugging

nanonyme
06-07-2009, 08:50 AM
I'll break the curse:
For the OpenGL programs, set LIBGL_DRIVERS_PATH to the directory where you have the *_dri.so mesa drivers. This is actually documented on http://dri.freedesktop.org/wiki/TestingAndDebuggingNeat, I remembered wrong then. Thanks for correcting.

highlandsun
06-07-2009, 11:19 AM
I'm running a 2.6.29 kernel; for step 6a you should be using kernel/drivers/gpu/drm/ and gpu/drm/radeon/ instead of char/drm/, since that's where the existing drm and radeon modules got installed. I.e., you want to replace the stock modules with the ones you just built.

nanonyme
06-07-2009, 11:48 AM
I'm running a 2.6.29 kernel; for step 6a you should be using kernel/drivers/gpu/drm/ and gpu/drm/radeon/ instead of char/drm/, since that's where the existing drm and radeon modules got installed. I.e., you want to replace the stock modules with the ones you just built.Kinda right. To be exact, the path is irrelevant as long as you have one drm.ko and one radeon.ko under your modules tree. Running depmod -a sets it up anyhow. I recommend doing a find . -name drm.ko -o -name radeon.ko in the kernel module root directory to find out where they are. (or replace . with the directory under which to search)

MattH
06-28-2009, 07:54 AM
Hi,
I followed the directions for Ubuntu 9.04 (with stock 2.6.28-13 ubuntu kernel, etc), and I'm still not getting DRI/DRI2 accel?

from Xorg.0.log:
(--) PCI:*(0@2:0:0) ATI Technologies Inc RV770 [Radeon HD 4870] rev 0, Mem @ 0xd
0000000/268435456, 0xf3ee0000/65536, I/O @ 0x00007e00/256, BIOS @ 0x????????/131
072
(II) Open ACPI successful (/var/run/acpid.socket)
(II) System resource ranges:
[0] -1 0 0xffffffff - 0xffffffff (0x1) MX[B]
[1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B]
[2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B]
[3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B]
[4] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B]
[5] -1 0 0x00000000 - 0x00000000 (0x1) IX[B]
(II) LoadModule: "extmod"
(II) Loading /usr/lib/xorg/modules/extensions//libextmod.so
(II) Module extmod: vendor="X.Org Foundation"
compiled for 1.6.0, module version = 1.0.0
Module class: X.Org Server Extension
ABI class: X.Org Server Extension, version 2.0
(II) Loading extension MIT-SCREEN-SAVER
(II) Loading extension XFree86-VidModeExtension
(II) Loading extension XFree86-DGA
(II) Loading extension DPMS
(II) Loading extension XVideo
(II) Loading extension XVideo-MotionCompensation
(II) Loading extension X-Resource
(II) LoadModule: "dbe"
(II) Loading /usr/lib/xorg/modules/extensions//libdbe.so
(II) Module dbe: vendor="X.Org Foundation"
compiled for 1.6.0, module version = 1.0.0
Module class: X.Org Server Extension
ABI class: X.Org Server Extension, version 2.0
(II) Loading extension DOUBLE-BUFFER
(II) LoadModule: "glx"
(II) Loading /usr/lib/xorg/modules/extensions//libglx.so
(II) Module glx: vendor="X.Org Foundation"
compiled for 1.6.0, module version = 1.0.0
ABI class: X.Org Server Extension, version 2.0
(==) AIGLX enabled
(II) Loading extension GLX
(II) LoadModule: "record"
(II) Loading /usr/lib/xorg/modules/extensions//librecord.so
(II) Module record: vendor="X.Org Foundation"
compiled for 1.6.0, module version = 1.13.0
Module class: X.Org Server Extension
ABI class: X.Org Server Extension, version 2.0
(II) Loading extension RECORD
(II) LoadModule: "dri"
(II) Loading /usr/lib/xorg/modules/extensions//libdri.so
(II) Module dri: vendor="X.Org Foundation"
compiled for 1.6.0, module version = 1.0.0
ABI class: X.Org Server Extension, version 2.0
(II) Loading extension XFree86-DRI
(II) LoadModule: "dri2"
(II) Loading /usr/lib/xorg/modules/extensions//libdri2.so
(II) Module dri2: vendor="X.Org Foundation"
compiled for 1.6.0, module version = 1.0.0
ABI class: X.Org Server Extension, version 2.0
(II) Loading extension DRI2
(II) LoadModule: "radeonhd"
(II) Loading /usr/lib/xorg/modules/drivers//radeonhd_drv.so
(II) Module radeonhd: vendor="AMD GPG"
compiled for 1.6.0, module version = 1.2.5
Module class: X.Org Video Driver
ABI class: X.Org Video Driver, version 5.0
(II) RADEONHD: X driver for the following AMD GPG (ATI) graphics devices:
RV505 : Radeon X1550, X1550 64bit.
RV515 : Radeon X1300, X1550, X1600; FireGL V3300, V3350.
RV516 : Radeon X1300, X1550, X1550 64-bit, X1600; FireMV 2250.
R520 : Radeon X1800; FireGL V5300, V7200, V7300, V7350.
RV530 : Radeon X1300 XT, X1600, X1600 Pro, X1650; FireGL V3400, V5200.
RV535 : Radeon X1300, X1650.
RV550 : Radeon X2300 HD.
RV560 : Radeon X1650.
RV570 : Radeon X1950, X1950 GT; FireGL V7400.
R580 : Radeon X1900, X1950; AMD Stream Processor.
R600 : Radeon HD 2900 GT/Pro/XT; FireGL V7600/V8600/V8650.
RV610 : Radeon HD 2350, HD 2400 Pro/XT, HD 2400 Pro AGP; FireGL V4000.
RV620 : Radeon HD 3450, HD 3470.
RV630 : Radeon HD 2600 LE/Pro/XT, HD 2600 Pro/XT AGP; Gemini RV630;
FireGL V3600/V5600.
RV635 : Radeon HD 3650, HD 3670.
RV670 : Radeon HD 3690, 3850, HD 3870, FireGL V7700, FireStream 9170.
R680 : Radeon HD 3870 X2.
M52 : Mobility Radeon X1300.
M54 : Mobility Radeon X1400; M54-GL.
M56 : Mobility Radeon X1600; Mobility FireGL V5200.
M58 : Mobility Radeon X1800, X1800 XT; Mobility FireGL V7100, V7200.
M62 : Mobility Radeon X1350.
M64 : Mobility Radeon X1450, X2300.
M66 : Mobility Radeon X1700, X1700 XT; FireGL V5250.
M68 : Mobility Radeon X1900.
M71 : Mobility Radeon HD 2300.
M72 : Mobility Radeon HD 2400; Radeon E2400.
M74 : Mobility Radeon HD 2400 XT.
M76 : Mobility Radeon HD 2600;
(Gemini ATI) Mobility Radeon HD 2600 XT.
M82 : Mobility Radeon HD 3400.
M86 : Mobility Radeon HD 3650, HD 3670, Mobility FireGL V5700.
M88 : Mobility Radeon HD 3850, HD 3850 X2, HD 3870, HD3870 X2.
RS600 : Radeon Xpress 1200, Xpress 1250.
RS690 : Radeon X1200, X1250, X1270.
RS740 : RS740, RS740M.
RS780 : Radeon HD 3100/3200/3300 Series.
R700 : Radeon R700.
RV710 : Radeon HD4570, HD4350.
RV730 : Radeon HD4670, HD4650.
RV740 : Radeon HD4770. EXPERIMENTAL AND UNTESTED.
RV770 : Radeon HD 4800 Series; Everest, K2, Denali ATI FirePro.
RV790 : Radeon HD 4890.
M92 : Mobility Radeon HD4330, HD4530, HD4570. EXPERIMENTAL.
M93 : Mobility Radeon M93. EXPERIMENTAL AND UNTESTED.
M96 : Mobility Radeon HD4600.
M97 : Mobility Radeon HD4860. EXPERIMENTAL AND UNTESTED.
M98 : Mobility Radeon HD4850, HD4870.

(II) RADEONHD: version 1.2.5, built from git branch master, commit afc94a3b

(II) Primary Device is: PCI 02@00:00:0
(II) resource ranges after xf86ClaimFixedResources() call:
[0] -1 0 0xffffffff - 0xffffffff (0x1) MX[B]
[1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B]
[2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B]
[3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B]
[4] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B]
[5] -1 0 0x00000000 - 0x00000000 (0x1) IX[B]
(II) resource ranges after probing:
[0] -1 0 0xffffffff - 0xffffffff (0x1) MX[B]
[1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B]
[2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B]
[3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B]
[4] 0 0 0x000a0000 - 0x000affff (0x10000) MS[B]
[5] 0 0 0x000b0000 - 0x000b7fff (0x8000) MS[B]
[6] 0 0 0x000b8000 - 0x000bffff (0x8000) MS[B]
[7] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B]
[8] -1 0 0x00000000 - 0x00000000 (0x1) IX[B]
[9] 0 0 0x000003b0 - 0x000003bb (0xc) IS[B]
[10] 0 0 0x000003c0 - 0x000003df (0x20) IS[B]
(II) Setting vga for screen 0.
(==) RADEONHD(0): Depth 24, (--) framebuffer bpp 32
(**) RADEONHD(0): Selected ShadowFB.
(II) RADEONHD(0): Unknown card detected: 0x9440:0x174B:0x0851.
If - and only if - your card does not work or does not work optimally
please contact radeonhd@opensuse.org to help rectify this.
Use the subject: 0x9440:0x174B:0x0851: <name of board>
and *please* describe the problems you are seeing
in your message.
(--) RADEONHD(0): Detected an RV770 on an unidentified card
(II) RADEONHD(0): Mapped IO @ 0xf3ee0000 to 0x7fe5bfa79000 (size 0x00010000)
(II) RADEONHD(0): PCIE Card Detected
(II) RADEONHD(0): Getting BIOS copy from legacy VBIOS location
(II) RADEONHD(0): ATOM BIOS Rom:
SubsystemVendorID: 0x174b SubsystemID: 0x0851
IOBaseAddress: 0x7e00
Filename: S851GQIN.008
BIOS Bootup Message:
TXOFF2 WEKIVA RV770 B50701 BOARD

(II) RADEONHD(0): Analog TV Default Mode: 8
(II) RADEONHD(0): Found default TV Mode PAL
(II) RADEONHD(0): The detected amount of videoram exceeds the PCI BAR aperture.
(II) RADEONHD(0): Using only 262144kB of the total 1048576kB.
(--) RADEONHD(0): VideoRAM: 262144 kByte
(II) RADEONHD(0): Framebuffer space used by Firmware (kb): 20
(II) RADEONHD(0): Start of VRAM area used by Firmware: 0xfffec
(II) RADEONHD(0): AtomBIOS requests 20kB of VRAM scratch space
(II) RADEONHD(0): AtomBIOS VRAM scratch base: 0xfffec
(WW) RADEONHD(0): rhdAtomAllocateFbScratch: FW FB scratch area not located at th
e end of VRAM. Scratch End: 0x104fec VRAM End: 0x10000000
(II) RADEONHD(0): Cannot get VRAM scratch space. Allocating in main memory inste
ad
(II) RADEONHD(0): Default Engine Clock: 750000
(II) RADEONHD(0): Default Memory Clock: 900000
(II) RADEONHD(0): Maximum Pixel ClockPLL Frequency Output: 1200000
(II) RADEONHD(0): Minimum Pixel ClockPLL Frequency Output: 0
(II) RADEONHD(0): Maximum Pixel ClockPLL Frequency Input: 16000
(II) RADEONHD(0): Minimum Pixel ClockPLL Frequency Input: 6000
(II) RADEONHD(0): Maximum Pixel Clock: 400000
(II) RADEONHD(0): Reference Clock: 100000
(II) RADEONHD(0): Direct rendering not officially supported on R600 and up

(...)

(II) AIGLX: Screen 0 is not DRI2 capable
(II) AIGLX: Screen 0 is not DRI capable
(II) AIGLX: Loaded and initialized /usr/lib/dri/swrast_dri.so
(II) GLX: Initialized DRISWRAST GL provider for screen 0

My /etc/X11/xorg.conf, sans comments:
Section "Monitor"
Identifier "Configured Monitor"
EndSection

Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
SubSection "Display"
Virtual 3520 1200
EndSubSection
EndSection

Section "Device"
Identifier "Configured Video Device"
Driver "radeonhd"
EndSection

Here's dmesg output from the modprobe radeon (which I have to do manually, since it seems xorg isn't doing it?):
[ 1633.112005] [drm] Initialized drm 1.1.0 20060810
[ 1633.129370] radeon 0000:02:00.0: PCI INT A -> GSI 24 (level, low) -> IRQ 24
[ 1633.129374] radeon 0000:02:00.0: setting latency timer to 64
[ 1633.129554] [drm] Initialized radeon 1.29.0 20080613 on minor 0


Am I missing anything? I see drm/drm2 loading in the xorg log, but somehow it's not working with the radeonhd driver built from git source? It's certainly a pickle..

TIA!
- Matt

chithanh
06-30-2009, 09:39 AM
Hi,
I followed the directions for Ubuntu 9.04 (with stock 2.6.28-13 ubuntu kernel, etc), and I'm still not getting DRI/DRI2 accel?
Section "Device"
Identifier "Configured Video Device"
Driver "radeonhd"
EndSection
You don't have dri enabled in xorg.conf, enable it. (also see the radeonhd manpage)

nanonyme
06-30-2009, 05:35 PM
You don't have dri enabled in xorg.conf, enable it. (also see the radeonhd manpage)Yeah, for some odd reason while the ati driver has DRI enabled by default, radeonhd doesn't. :) Might run into some funny situations changing between the two if one doesn't keep that in mind.

Neo_The_User
08-22-2009, 11:56 PM
Hey guys sorry. This guide was out of date and I fixed some stuff. This works now. I tested it too now that I got a PCI E 4650! WOO!!!

DRI and EXA are both on by default in radeonhd thanks to yangman! :)

Best Regards! -Neo_The_User Playstation 3 developer

MùPùF
08-23-2009, 08:08 AM
For x86_64 archlinux users, I have a binary repo where you can grab the packages from :
http://mupuf.org/packages/mupuf64/

Here is the list of the packages you need:
drm-radeon-module-git-r6xx-r7xx-3d libdrm-git glproto-git mesa-git libgl-git ati-dri-r6xx-r7xx xf86-video-ati-git

I know I should recompile everything for 32bits users, just give me a few hours.

Neo_The_User
10-05-2009, 11:53 AM
OK well.. I left out some very important details that have now been updated and fixed. Firmware was not being built, therefor it would hard-lock the PC. :/ not good. Sorry about that.

Cheers mates! :)

AndyW
10-18-2009, 06:31 PM
I'm following the X.org wiki procedure for building a 2.6.31 + drm-next kernel (http://wiki.x.org/wiki/radeonBuildHowTo#head-a6271d23a9199673cea21478e0198d772a55fad3), which is pretty much the same as Neo's here. I am running Fedora 11, GPU is RV730 (Radeon HD 4670) and M/b chipset is ATI 780G.

When I try to pull the drm-next changes from Dave Airlied's tree I get a merge conflict in intel_sdvo.c:-
[andrew@localhost linux-2.6.31.y]$ git pull airlied_drm_remote drm-next
remote: Counting objects: 2129, done.
remote: Compressing objects: 100% (776/776), done.
remote: Total 1896 (delta 1428), reused 1538 (delta 1118)
Receiving objects: 100% (1896/1896), 559.58 KiB | 474 KiB/s, done.
Resolving deltas: 100% (1428/1428), completed with 145 local objects.
From git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6
* branch drm-next -> FETCH_HEAD
Auto-merging drivers/gpu/drm/i915/i915_drv.c
Auto-merging drivers/gpu/drm/i915/i915_gem.c
Auto-merging drivers/gpu/drm/i915/i915_gem_tiling.c
Auto-merging drivers/gpu/drm/i915/i915_reg.h
Auto-merging drivers/gpu/drm/i915/intel_bios.c
Auto-merging drivers/gpu/drm/i915/intel_crt.c
Auto-merging drivers/gpu/drm/i915/intel_display.c
Auto-merging drivers/gpu/drm/i915/intel_drv.h
Auto-merging drivers/gpu/drm/i915/intel_lvds.c
Auto-merging drivers/gpu/drm/i915/intel_sdvo.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_sdvo.c
Auto-merging drivers/gpu/drm/i915/intel_tv.c
Removing drivers/gpu/drm/mga/mga_ucode.h
Removing drivers/gpu/drm/radeon/r600_microcode.h
Removing drivers/gpu/drm/radeon/radeon_microcode.h
Removing drivers/gpu/drm/radeon/rs690r.h
Removing drivers/gpu/drm/radeon/rs780.c
Removing drivers/gpu/drm/radeon/rv515r.h
Automatic merge failed; fix conflicts and then commit the result.


I think I can get round the conflict by doing "git add <file>" on intel_sdvo.c. Will this matter, as I don't have i915 chipset? If it does, how can I resolve the conflict?

Thanks,

Andrew

Ant P.
10-18-2009, 09:06 PM
I don't remember the exact commands to fix it but it goes like this:

1. Create a new branch that tracks origin/master
2. `git checkout -f` that branch
3. Delete the old master branch
4. Rename the new branch back to "master"

Neo_The_User
10-18-2009, 10:24 PM
Sorry. Pull from drm-linus. Not drm-next. Will fix guide. Thanks.

edit: fixed.

git pull (airlied's tree) drm-linus

Cheers!

To fix your problem, run these commands in this exact order.

git reset --hard
git add .
git pull git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-linus

Dont forget the ending dot in the second line. :)

rmartinez
10-19-2009, 11:08 AM
Sorry. Pull from drm-linus. Not drm-next. Will fix guide. Thanks.

edit: fixed.

git pull (airlied's tree) drm-linus

Cheers!

To fix your problem, run these commands in this exact order.

git reset --hard
git add .
git pull git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-linus

Dont forget the ending dot in the second line. :)

Hello, my computer (ASUS M51Ta) has two graphic cards:
01:05.0 VGA compatible controller: ATI Technologies Inc RS780M/RS780MN [Radeon HD 3200 Graphics]
02:00.0 VGA compatible controller: ATI Technologies Inc Mobility Radeon HD 3650
And it is not possible to disable none of them from bios... I'm having troubles in installing drivers that will bring 3D acceleration, I tried almost everything I could (last fglrx with Ubuntu 9.10, radeonhd 1.3.0). Do you think that your guide will work with my hybrid configuration? Thanks!

Neo_The_User
10-19-2009, 11:43 AM
Hello, my computer (ASUS M51Ta) has two graphic cards:
01:05.0 VGA compatible controller: ATI Technologies Inc RS780M/RS780MN [Radeon HD 3200 Graphics]
02:00.0 VGA compatible controller: ATI Technologies Inc Mobility Radeon HD 3650
And it is not possible to disable none of them from bios... I'm having troubles in installing drivers that will bring 3D acceleration, I tried almost everything I could (last fglrx with Ubuntu 9.10, radeonhd 1.3.0). Do you think that your guide will work with my hybrid configuration? Thanks!

I don't see anything special in my guide that might fix it. Before you start compiling everything, run this command in the terminal and paste ALL output using the # / CODE button in this thread so I can look it over.

LIBGL_DEBUG=verbose glxinfo &> glxinfo.txt
cat /var/log/Xorg.0.log &> xorg.log
dmesg &> dmesg.txt

Open up those files and paste all output here after doing those exact commands (no typoes) Thanks.

bridgman
10-19-2009, 12:03 PM
There was a fix added to the -ati driver recently which might help with hybrid graphcs, so if the instructions involve pulling xf86-video-ati from git master they're probably worth a try.

rmartinez
10-19-2009, 12:34 PM
I don't see anything special in my guide that might fix it. Before you start compiling everything, run this command in the terminal and paste ALL output using the # / CODE button in this thread so I can look it over.

LIBGL_DEBUG=verbose glxinfo &> glxinfo.txt
cat /var/log/Xorg.0.log &> xorg.log
dmesg &> dmesg.txt

Open up those files and paste all output here after doing those exact commands (no typoes) Thanks.

OK, here are the output files:

glxinfo.txt
======

X Error of failed request: BadRequest (invalid request code or no such operation)
Major opcode of failed request: 135 (GLX)
Minor opcode of failed request: 19 (X_GLXQueryServerString)
Serial number of failed request: 16
Current serial number in output stream: 16
name of display: :0.0

rmartinez
10-19-2009, 12:40 PM
The xorg.log and dmesg.txt are to long to put them in a reply... It is possible to attach them in any way?

bridgman
10-19-2009, 12:43 PM
Use a service like pastebin then paste a link to the pastebin page.

rmartinez
10-19-2009, 01:00 PM
Here are all the files:

http://drop.io/cx8igr3

Let me know if you need something else. I have no problem in reinstalling all the system or trying anything. I just need 3D acceleration in linux for my work! Thanks a lot!! (of course I could keep going with win7... but I thinks its time to make the leap)

Neo_The_User
10-19-2009, 01:28 PM
PLEASE NOTE: BE SURE TO CHANGE THE LIBDIR ACCORDINGLY!

Problems with xorg log:

(EE) RADEON(0): [dri] RADEONDRIGetVersion failed to open the DRM
[dri] Disabling DRI.
(II) [KMS] drm report modesetting isn't supported.
(WW) Falling back to old probe method for vesa
(WW) Falling back to old probe method for fbdev

compile libdrm_radeon

git clone git://anongit.freedesktop.org/mesa/drm && cd drm && make distclean && ./autogen.sh --prefix=/usr --libdir=/usr/lib64/or/usr/lib --enable-radeon-experimental-api && sudo make install

now compile ati DDX

git clone git://anongit.freedesktop.org/xorg/driver/xf86-video-ati && cd *ati && make distclean && ./autogen.sh --prefix=/usr --libdir=/usr/lib64/or/usr/lib && make && sudo make install && sudo ldconfig

try that. :D:D:D:D:D:D

rmartinez
10-19-2009, 02:04 PM
PLEASE NOTE: BE SURE TO CHANGE THE LIBDIR ACCORDINGLY!

Problems with xorg log:

(EE) RADEON(0): [dri] RADEONDRIGetVersion failed to open the DRM
[dri] Disabling DRI.
(II) [KMS] drm report modesetting isn't supported.
(WW) Falling back to old probe method for vesa
(WW) Falling back to old probe method for fbdev

compile libdrm_radeon

git clone git://anongit.freedesktop.org/mesa/drm && cd drm && make distclean && ./autogen.sh --prefix=/usr --libdir=/usr/lib64/or/usr/lib --enable-radeon-experimental-api && sudo make install

now compile ati DDX

git clone git://anongit.freedesktop.org/xorg/driver/xf86-video-ati && cd *ati && make distclean && ./autogen.sh --prefix=/usr --libdir=/usr/lib64/or/usr/lib && make && sudo make install && sudo ldconfig

try that. :D:D:D:D:D:D

Hi, I had a problem while compiling libdrm_radeon:

make: *** No rule to make target `distclean'. Stop.

Neo_The_User
10-19-2009, 03:14 PM
Hi, I had a problem while compiling libdrm_radeon:

make: *** No rule to make target `distclean'. Stop.

dont do the make distcleans then. same for -ati DDX. i thought you already had it cloned. sorry

rmartinez
10-19-2009, 03:38 PM
dont do the make distcleans then. same for -ati DDX. i thought you already had it cloned. sorry

Hi Neo_The_User, I had this output error:

./autogen.sh --prefix=/usr --libdir=/usr/lib64/or/usr/lib --enable-radeon-experimental-api && sudo make install
Can't exec "libtoolize": No such file or directory at /usr/bin/autoreconf line 190.
Use of uninitialized value $libtoolize in pattern match (m//) at /usr/bin/autoreconf line 190.
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf
configure.ac:29: error: possibly undefined macro: AC_DISABLE_STATIC
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:30: error: possibly undefined macro: AC_PROG_LIBTOOL
autoreconf: /usr/bin/autoconf failed with exit status: 1

AndyW
10-19-2009, 05:53 PM
@Neo_The_User
There is what looks like an updated procedure on the X.Org wiki to get the drm-next source in one go:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git
cd drm-2.6
git checkout -b drm-next origin/drm-next
I am trying this now - do I still need to change "drm-next" in the last line to "drm-linus"? I tried the procedure in your earlier post, but still got (different) merge conflicts.

@martinez
I think you probably need a package like xorg-x11-util-macros - see here (http://wiki.x.org/wiki/radeonhd#head-d2ffccb02dd625f846dd8197bad71ee38109b876), para 11.2

Neo_The_User
10-20-2009, 12:35 AM
i think hes missing a tool called libtool

ftp://ftp.gnu.org/gnu/libtool

cheers mates!

edit: post the conflicts for the drm-linus tree and ill fix it.

rmartinez
10-20-2009, 04:48 AM
i think hes missing a tool called libtool

ftp://ftp.gnu.org/gnu/libtool

cheers mates!

edit: post the conflicts for the drm-linus tree and ill fix it.

You were right, I needed "libtools", and also needed "pthread-stubs" & "xutils-dev".
So, for the "libdrm_radeon" compilation all went OK, but for the "ati DDX" compilation, I get this message while trying "sudo make install" inside the "xf86-video-ati" folder:
make: *** No rule to make target `install'. Stop.

Any ideas? Do you need any output from the compilation?

Nille
10-20-2009, 07:06 AM
Has autogen.sh no problems found? And don't Copy&Paste Commands!!!!

and on Ubuntu you can Compile and install the ddx from git with


git-clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-ati
cd xf86-video-ati
./autogen.sh --prefix=/usr
make
sudo make install

rmartinez
10-20-2009, 10:23 AM
autogen.sh is giving the following error:

./configure: line 11526: syntax error near unexpected token `XINERAMA,'
./configure: line 11526: `XORG_DRIVER_CHECK_EXT(XINERAMA, xineramaproto)'

I tried installing every package it had something to do with xinerama... But it didn't work. I know I'm missing something... Thanks!

agd5f
10-20-2009, 12:30 PM
You were right, I needed "libtools", and also needed "pthread-stubs" & "xutils-dev".
So, for the "libdrm_radeon" compilation all went OK, but for the "ati DDX" compilation, I get this message while trying "sudo make install" inside the "xf86-video-ati" folder:
make: *** No rule to make target `install'. Stop.

Any ideas? Do you need any output from the compilation?

Did you run autogen.sh to create the makefiles? FOr more info on building, see this page:
http://wiki.x.org/wiki/radeonBuildHowTo

agd5f
10-20-2009, 12:32 PM
autogen.sh is giving the following error:

./configure: line 11526: syntax error near unexpected token `XINERAMA,'
./configure: line 11526: `XORG_DRIVER_CHECK_EXT(XINERAMA, xineramaproto)'

I tried installing every package it had something to do with xinerama... But it didn't work. I know I'm missing something... Thanks!

you need xorg macros. the package is usually called something like xorg-utils.

Neo_The_User
10-20-2009, 01:56 PM
Would you guys stop following only half my guide?

"6a.) Clone additional git repositories for compiling DDX:

git clone git://anongit.freedesktop.org/xorg/util/macros && cd macros && ./autogen.sh --prefix=/usr && make && sudo make install && cd ..

git clone git://anongit.freedesktop.org/xcb/pthread-stubs && cd pthread-stubs && ./autogen.sh --prefix=/usr && make && sudo make install && cd .."

Please people.. please... If you are only planning on doing half the work, don't do any of it at all. Your computer and yourself is just going to have problems.

rmartinez
10-23-2009, 06:51 AM
OK, finally I got the courage and started with your guide, but I had an error while compiling the kernel. May be you can tell me what I did wrong.
Here is exactly what I did:

0a.) Fresh install of Ubuntu 9.10beta x64bits

0b.) Update everything possible.

1a.) Obtain the required development tools and programs to compile, install, and fetch the source code:

sudo apt-get install git-core build-essential dh-make debconf debhelper automake autoconf libstdc++6 xorg-dev gawk bison cdbs dkms && sudo apt-get build-dep libdrm mesa

# without "libstdc++5", it's not a package in Ubuntu 9.10

2a.) Obtain kernel source source code:

cd /usr/src && sudo git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git && cd linux-2.6 && sudo git config --global user.name "Neo"

# it was missing "//" between "git:" & "git.kernel..." in your guide
# and also it was missing "config" between last "sudo git" & "--global user..." in your guide

2b.) Pull from drm-linus:

sudo git pull git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-linus

sudo apt-get install libncurses5-dev

sudo make menuconfig

Device Drivers ---> Graphics support ---> {*} Lowlevel video output switch controls
Device Drivers ---> Graphics support ---> <*> /dev/agpgart (AGP SUPPORT) ---> <*> Intel 440LX/BX/GX, I8xx and E7x05 chipset support
Device Drivers ---> Graphics support ---> <*> /dev/agpgart (AGP SUPPORT) ---> <*> SiS chipset support
Device Drivers ---> Graphics support ---> <*> /dev/agpgart (AGP SUPPORT) ---> <*> VIA chipset support
Device Drivers ---> Graphics support ---> <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
Device Drivers ---> Graphics support ---> {*} Support for frame buffer devices ---> Enable firmware EDID
Device Drivers ---> Graphics support ---> {*} Support for frame buffer devices ---> < > ATI Radeon display support
Device Drivers ---> Graphics support ---> {*} Support for frame buffer devices ---> < > ATI Rage128 display support
Device Drivers ---> Graphics support ---> {*} Support for frame buffer devices ---> < > ATI Mach64 display support
Device Drivers ---> Staging drivers ---> [ ] Exclude Staging drivers from being built
Device Drivers ---> Staging drivers ---> Enable modesetting on radeon by default

# Save an Alternate Configuration File -> ".config", OK & exit

3a.) Compile the kernel:

sudo make all

And I got the following Error:

drivers/staging/android/logger.c: In function ‘logger_read’:
drivers/staging/android/logger.c:165: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
drivers/staging/android/logger.c:165: error: (Each undeclared identifier is reported only once
drivers/staging/android/logger.c:165: error: for each function it appears in.)
drivers/staging/android/logger.c:178: error: implicit declaration of function ‘signal_pending’
drivers/staging/android/logger.c:183: error: implicit declaration of function ‘schedule’
drivers/staging/android/logger.c: In function ‘logger_aio_write’:
drivers/staging/android/logger.c:325: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:333: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:334: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:337: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:360: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:363: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:370: error: increment of pointer to unknown structure
drivers/staging/android/logger.c:370: error: arithmetic on pointer to an incomplete type
drivers/staging/android/logger.c:377: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
make[3]: *** [drivers/staging/android/logger.o] Error 1
make[2]: *** [drivers/staging/android] Error 2
make[1]: *** [drivers/staging] Error 2
make: *** [drivers] Error 2

Thanks for the guide and I hope I can finally have 3D... At least I'm learning great stuff!

Neo_The_User
10-23-2009, 11:40 AM
OK, finally I got the courage and started with your guide, but I had an error while compiling the kernel. May be you can tell me what I did wrong.
Here is exactly what I did:

0a.) Fresh install of Ubuntu 9.10beta x64bits

0b.) Update everything possible.

1a.) Obtain the required development tools and programs to compile, install, and fetch the source code:

sudo apt-get install git-core build-essential dh-make debconf debhelper automake autoconf libstdc++6 xorg-dev gawk bison cdbs dkms && sudo apt-get build-dep libdrm mesa

# without "libstdc++5", it's not a package in Ubuntu 9.10

2a.) Obtain kernel source source code:

cd /usr/src && sudo git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git && cd linux-2.6 && sudo git config --global user.name "Neo"

# it was missing "//" between "git:" & "git.kernel..." in your guide
# and also it was missing "config" between last "sudo git" & "--global user..." in your guide

2b.) Pull from drm-linus:

sudo git pull git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-linus

sudo apt-get install libncurses5-dev

sudo make menuconfig

Device Drivers ---> Graphics support ---> {*} Lowlevel video output switch controls
Device Drivers ---> Graphics support ---> <*> /dev/agpgart (AGP SUPPORT) ---> <*> Intel 440LX/BX/GX, I8xx and E7x05 chipset support
Device Drivers ---> Graphics support ---> <*> /dev/agpgart (AGP SUPPORT) ---> <*> SiS chipset support
Device Drivers ---> Graphics support ---> <*> /dev/agpgart (AGP SUPPORT) ---> <*> VIA chipset support
Device Drivers ---> Graphics support ---> <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
Device Drivers ---> Graphics support ---> {*} Support for frame buffer devices ---> Enable firmware EDID
Device Drivers ---> Graphics support ---> {*} Support for frame buffer devices ---> < > ATI Radeon display support
Device Drivers ---> Graphics support ---> {*} Support for frame buffer devices ---> < > ATI Rage128 display support
Device Drivers ---> Graphics support ---> {*} Support for frame buffer devices ---> < > ATI Mach64 display support
Device Drivers ---> Staging drivers ---> [ ] Exclude Staging drivers from being built
Device Drivers ---> Staging drivers ---> Enable modesetting on radeon by default

# Save an Alternate Configuration File -> ".config", OK & exit

3a.) Compile the kernel:

sudo make all

And I got the following Error:

drivers/staging/android/logger.c: In function ‘logger_read’:
drivers/staging/android/logger.c:165: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
drivers/staging/android/logger.c:165: error: (Each undeclared identifier is reported only once
drivers/staging/android/logger.c:165: error: for each function it appears in.)
drivers/staging/android/logger.c:178: error: implicit declaration of function ‘signal_pending’
drivers/staging/android/logger.c:183: error: implicit declaration of function ‘schedule’
drivers/staging/android/logger.c: In function ‘logger_aio_write’:
drivers/staging/android/logger.c:325: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:333: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:334: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:337: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:360: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:363: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:370: error: increment of pointer to unknown structure
drivers/staging/android/logger.c:370: error: arithmetic on pointer to an incomplete type
drivers/staging/android/logger.c:377: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
make[3]: *** [drivers/staging/android/logger.o] Error 1
make[2]: *** [drivers/staging/android] Error 2
make[1]: *** [drivers/staging] Error 2
make: *** [drivers] Error 2

Thanks for the guide and I hope I can finally have 3D... At least I'm learning great stuff!

Try going into Device Drivers > Staging Drivers and turn off everything except Radeon kernel mode setting. it should be somewhere near the bottom

rmartinez
10-23-2009, 01:43 PM
Try going into Device Drivers > Staging Drivers and turn off everything except Radeon kernel mode setting. it should be somewhere near the bottom

Hi, I did that exactly, but it gave exactly the same error (at least I didn't had to wait for the error). Sorry, no idea what to do...

Neo_The_User
10-23-2009, 03:34 PM
Hi, I did that exactly, but it gave exactly the same error (at least I didn't had to wait for the error). Sorry, no idea what to do...

be sure to always _always_ run "make clean" before re-compiling (without quotes)

rmartinez
10-24-2009, 12:42 PM
be sure to always _always_ run "make clean" before re-compiling (without quotes)

Thanks I didn't know that, now I did the cleaning and the compilation gave the same error:

drivers/staging/android/logger.c: In function ‘logger_read’:
drivers/staging/android/logger.c:165: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
drivers/staging/android/logger.c:165: error: (Each undeclared identifier is reported only once
drivers/staging/android/logger.c:165: error: for each function it appears in.)
drivers/staging/android/logger.c:178: error: implicit declaration of function ‘signal_pending’
drivers/staging/android/logger.c:183: error: implicit declaration of function ‘schedule’
drivers/staging/android/logger.c: In function ‘logger_aio_write’:
drivers/staging/android/logger.c:325: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:333: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:334: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:337: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:360: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:363: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:370: error: increment of pointer to unknown structure
drivers/staging/android/logger.c:370: error: arithmetic on pointer to an incomplete type
drivers/staging/android/logger.c:377: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
make[3]: *** [drivers/staging/android/logger.o] Error 1
make[2]: *** [drivers/staging/android] Error 2
make[1]: *** [drivers/staging] Error 2
make: *** [drivers] Error 2


What other information can I bring you to find what I'm doing wrong?

Neo_The_User
10-24-2009, 12:51 PM
Thanks I didn't know that, now I did the cleaning and the compilation gave the same error:

drivers/staging/android/logger.c: In function ‘logger_read’:
drivers/staging/android/logger.c:165: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
drivers/staging/android/logger.c:165: error: (Each undeclared identifier is reported only once
drivers/staging/android/logger.c:165: error: for each function it appears in.)
drivers/staging/android/logger.c:178: error: implicit declaration of function ‘signal_pending’
drivers/staging/android/logger.c:183: error: implicit declaration of function ‘schedule’
drivers/staging/android/logger.c: In function ‘logger_aio_write’:
drivers/staging/android/logger.c:325: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:333: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:334: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:337: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:360: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:363: error: dereferencing pointer to incomplete type
drivers/staging/android/logger.c:370: error: increment of pointer to unknown structure
drivers/staging/android/logger.c:370: error: arithmetic on pointer to an incomplete type
drivers/staging/android/logger.c:377: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
make[3]: *** [drivers/staging/android/logger.o] Error 1
make[2]: *** [drivers/staging/android] Error 2
make[1]: *** [drivers/staging] Error 2
make: *** [drivers] Error 2


What other information can I bring you to find what I'm doing wrong?

ok do this:

1a.) cd into your kernel source directory (cd /usr/src/linux-2.6)

2a.) sudo mkdir backup && sudo cp .config backup/

3a.) sudo make distclean

4a.) sudo cp backup/.config .config

5a.) sudo make menuconfig

6a.) MAKE SURE that everything except radeon KMS is off in the kernel in staging drivers.

7a.) Save to different file or something like that. As soon as you open up make menuconfig, you should see something about saving it to a custom directory. (on windows right now sorry)

8a.) save to "/usr/src/linux-2.6/.config" without quotes (or where ever your kernel source is)

8a.) sudo make all

zika
10-25-2009, 07:10 AM
Does mesa 7.7.0 and other stuff from xorg-edgers work with 2.6.31-14.48-generic (lateset Karmic)?
On ATI HD3650 I've upgraded my drivers from xorg-edgers and it works nicely (no compiz without radeon.modeset=1) but it seems to have problems with 2.6.31-14.48-generic. I will try it also with my 2.6.31-9-rt. It is not a big deal I just do not want to mess my box now because I have some stuff to do.
Update: 2.6.31-9-rt works. Problem with 2.6.31-14.48-generic might have been with external USB disk at boot time, ... I will investigate more myself.

Neo_The_User
10-25-2009, 12:02 PM
Does mesa 7.7.0 and other stuff from xorg-edgers work with 2.6.31-14.48-generic (lateset Karmic)?
On ATI HD3650 I've upgraded my drivers from xorg-edgers and it works nicely (no compiz without radeon.modeset=1) but it seems to have problems with 2.6.31-14.48-generic. I will try it also with my 2.6.31-9-rt. It is not a big deal I just do not want to mess my box now because I have some stuff to do.
Update: 2.6.31-9-rt works. Problem with 2.6.31-14.48-generic might have been with external USB disk at boot time, ... I will investigate more myself.

Mesa is kernel independent so yes. 7.7-devel will work. I've used it on 2.6.24 and it worked just fine. :)

zika
10-25-2009, 02:09 PM
Mesa is kernel independent so yes. 7.7-devel will work. I've used it on 2.6.24 and it worked just fine. :)I was asking because my upgrade to 7.7.0 several weeks ago messed up my box badly and it had to be reinstalled. It was OK and, once I tried upgrade to 7.7.0 out of sick curiosity it did it again. So I waited for several weeks and tried again. Now it seems to work, still I have to get it with 2.6.31-14-generic because it stalled this morning just after I wrote my message. So, there is a bit of doubt in my mind ...
Update: It works now. It seems that external USB disk does not start in some predesignated time sometime ... That disk was not here when the crashes happened so that is not the culprit for those experiences.

Neo_The_User
10-25-2009, 03:24 PM
Re-installing a distro because X is broken is never ever necessary nor recommended. Next time, post /var/log/Xorg.0.log, dmesg, and xorg.conf file to pastebin so I can help you (or anybody who knows the answer) for next time. Thanks.

zika
10-25-2009, 04:05 PM
Re-installing a distro because X is broken is never ever necessary nor recommended. Next time, post /var/log/Xorg.0.log, dmesg, and xorg.conf file to pastebin so I can help you (or anybody who knows the answer) for next time. Thanks.It was messed on the very low level. Fsck was unable to solve more that 100 screens of errors. And it happened almost the same way twice. I did not loose any data but it was beyond any kind of repair. It was perfectly working installation at one moment and after that upgrade ... And once I made all adjustments I was silly enough to do the same thing just to test what might be a source for these problems. I'm not blaming anybody just sharing my experience with readers of this Forum. I was brave enough, or stupid enough, several weeks later, few days ago, to do the same thing and it all went well. Thank You for Your kind offer but ... I've managed may crashes of X and solved them without resorting to re-install, if I count, in all of my experience with Ubuntu I did only 4 or 5 re-installs due to problems. I am a strong and stubborn oponent of re-install unless it is the only option. All other installs were merely to get everything clean once in a while. I love xorg-edgers and it is addictive so ... It was hard time these several weeks withholding myself not to upgrade. That is the same reason why I always have -999 kernel installed and why I am eagerly waiting to jump on the Lynx wagon ...

pvautrin
10-25-2009, 05:44 PM
zika,
Are you east of UTC (i.e. GMT +xx)? If so, it could be due to the bugs below. I'm in Australia and experienced them when I resized my Jaunty partition and installed Karmic alpha4 (or 5, I forgot).
https://bugs.launchpad.net/ubuntu/+source/e2fsprogs/+bug/427822
https://bugs.launchpad.net/ubuntu/+source/gparted/+bug/373409

zika
10-26-2009, 02:56 AM
zika,
Are you east of UTC (i.e. GMT +xx)? If so, it could be due to the bugs below. I'm in Australia and experienced them when I resized my Jaunty partition and installed Karmic alpha4 (or 5, I forgot).
https://bugs.launchpad.net/ubuntu/+source/e2fsprogs/+bug/427822
https://bugs.launchpad.net/ubuntu/+source/gparted/+bug/373409I am in Srbija so I think I am as of yesterday GMT+1, was GMT+2 at the time these things happened. The only scenario is that I forced shutdown and was bitten by the bug. That is a good point You made. So, I have to be more careful because I could be bitten any day again. Scary ... I'll investigate a bit further. In any case, thank You very much for a valuable insight.

zika
11-02-2009, 03:50 PM
Since I'm using xorg-edgers also with 2.6.32-999, what is going to happen to my graphics if I upgrade to Lucid at this stage when xorg-edgers does not have Lucid covered? Am I going to degrade my graphics experience or what?

tormod
11-02-2009, 06:23 PM
Since I'm using xorg-edgers also with 2.6.32-999, what is going to happen to my graphics if I upgrade to Lucid at this stage when xorg-edgers does not have Lucid covered? Am I going to degrade my graphics experience or what?
There are no Lucid packages at this point so don't worry :) And if the packages you have installed (from a PPA) have a higher version than the Lucid version, they will not be upgraded.

Note that xorg-edgers just tracks the development, it is not a guarantee of best performance or stability.

zika
11-03-2009, 12:36 PM
There are no Lucid packages at this point so don't worry :) And if the packages you have installed (from a PPA) have a higher version than the Lucid version, they will not be upgraded.

Note that xorg-edgers just tracks the development, it is not a guarantee of best performance or stability.Where can I find best performance and stability. I've searched around and came to xorg-edgers. When do You plan to open Lucid branch?

tormod
11-03-2009, 01:55 PM
Where can I find best performance and stability. I've searched around and came to xorg-edgers. When do You plan to open Lucid branch?
Well, in a perfect world, developers will only make improvements and only commit stuff with no regressions... Over the last months it has almost been like this in Xorg, so you're at the right place :)

As long as you are capable of identifying when things work or not, and know how to revert to an older set of packages, and can tolerate the odd hang or crash, there is not much problem in using xorg-edgers IMO.

The Lucid branch will start soon, as soon as there will be some new Lucid Xorg packages, next week probably. For now only the Lucid kernel has been updated for what the Xorg stack is concerned.

zika
11-03-2009, 02:56 PM
Well, in a perfect world, developers will only make improvements and only commit stuff with no regressions... Over the last months it has almost been like this in Xorg, so you're at the right place :)

As long as you are capable of identifying when things work or not, and know how to revert to an older set of packages, and can tolerate the odd hang or crash, there is not much problem in using xorg-edgers IMO.

The Lucid branch will start soon, as soon as there will be some new Lucid Xorg packages, next week probably. For now only the Lucid kernel has been updated for what the Xorg stack is concerned.Thank You for all the good work and effort You've made! I'll probably wait for the end of next week to embark on Lucid ship.

aljaz
11-04-2009, 08:45 AM
NEW!!!: THIS GETS KERNEL MODESETTING WORKING AS WELL! :)
7a.) Now you must compile and install libdrm_radeon:

git clone git:anongit.freedesktop.org/mesa/drm && cd drm && ./autogen.sh --prefix=/usr --enable-radeon-experimental-api && sudo make install && cd ..


Double "//" missing after "git:".

aljaz
11-04-2009, 09:55 AM
Ok, tried it (on Sapphire HD 4350), but it failed with

(II) RADEON(0): RADEONRestoreMemMapRegisters() :
(II) RADEON(0): MC_FB_LOCATION : 0x000f0000 0x00ef00e0
(II) RADEON(0): MC_AGP_LOCATION : 0x0003ffff
(EE) RADEON(0): Timeout trying to update memory controller settings !
(EE) RADEON(0): You will probably crash now ...

Tried on 2.6.32-rc6 with everything in your how-to, except the "pull from drm-linus". I assumed (probably wrongly) that the stuff is in the latest rc.

aljaz
11-13-2009, 01:01 PM
Ok, tried it (on Sapphire HD 4350), but it failed

With 2.6.32-rc7 it works! I just refreshed all gits and now there's a picture on both screens, with acceleration on multiple VT's.

The only thing that's different it's that displays are now switched - what used to be DVI-0 is now DVI-1 and vice versa. I updated the randr startup script and now everything is back to normal.

The VT switching is indeed fast. Only when I switch back to graphic mode the repaint is somewhat visibly slow. But once the picture is on the screen the speed is back to normal.

Thanks a bunch. It feels great that my wife can have acceleration in her session, which until now was not possible (the scrolling in web browser was really a pain).