September 6th, 2008

face

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.