# Radeon 7500 and direct rendering. [solved...somehow]

## PMT

EDIT: ...WTF.

I fixed it, but I don't know why.

I tried several recompiles of X and the modules. Then I got fed up, and rather than recompiling XFree, I decided to do what I've meant to do for awhile: try Xorg.

So I did. And then I install the radeon modules.

Here's my glxinfo, first 5 lines:

name of display: :0.0

display: :0  screen: 0

direct rendering: Yes

server glx vendor string: SGI

server glx version string: 1.2

I'm as confused as anybody, but I'm getting about 1000 FPS in glxgears now, so I'm not arguing! On an interesting note, attempting to use opengl-update to switch implementations breaks it, and hangs X, and I must reinstall the modules for Radeon before X will boot again.	

Okay. I believe I posted about this before, and received the response of "modprobe radeon", possibly because I didn't convey my problem accurately.

In short, my Radeon 7500, while I do have the radeon module configured and installed [and XF86Config does have glx, dre, and Section DRI], I have no direct rendering under X. And while this may not be a problem for some people...averaging 300 FPS in glxgears is not something I enjoy.

I have attempted Googling this problem repeatedly. The link I found with a concise guide to this suggested I get copies of DRI common and radeon snapshots from the site, and install them.

No luck. Still no direct rendering.

If anyone has any advice, please, tell me.

And YES, I have tried opengl-update ati. YES, I installed the modules.

Thank you.

----------

## soviet/funk

If this is a laptop, you've probably got a Radeon 7500 Mobility, which has no hardware 3d.  I have the same card and fiddled around with the same stuff as you many a wasted workday before learning (remembering, actually) the sad truth about my card.

----------

## PMT

Sadly, it's true.

Shoot me now.

----------

## PMT

I'm now confused.

I've looked online, and found various references to the Radeon Mobility getting direct rendering support, yet I have yet to find any success. Has anyone besides my unfortunate friend above found help with this?

----------

## soviet/funk

the unfortunate friend is very impressed by the perf boost described here... 

my glxgears - last time i bothered - was around 270 fps. 

so - xorg here i come, then, when i have the time

a pointer to a good howto on hasslefree sidestepping to xorg from XFree would be good here

kevin

----------

## soviet/funk

... and now i've got xorg too ...

but half the performance i used to have in glxgears 

 :Sad: 

while i search for more tips, exactly how did you get the radeon modules to work? xorg crashed when i tried the ways of old

and which xorg-x11 did you get? vanilla portage or the near 6.8 ebuilds other forum users are talking about?

k

----------

## soviet/funk

i guess i told a lie when i said there was no support in 7500 Mobility - but I'm quite sure i had that from a plausible source. anyway, sorry. 

I think my scores in gears were around 230fps in old xfree

After reading PMT, i removed xfree and emerged xorg stable

First experiences were quite disappointing - around 120fps before putting in my old conf from xf86.  then i got 190-220fps. then i generated a new conf with the xorg "wizard".  fps around 40-50 !!! i was ... wowed. felt like an epileptic watching things clunk and chug-chug around my screen.

And since then i've wasted many a workday trying to get this to work better.

And then a brief post from someone saying that he made it work by changing DefaultDepth in x config to 16.  

Then i got 400fps - switched opengl-update to xorg-x11 (was ati since that worked slightly better at 24 depth) - and   :Shocked:  voila: 1100 fps highscore.

now i'll waste many a workday going through xscreensaver-demo re-enabling those stoopid GL screensavers 

for the record: 

IBM T30 2366-91U 1800 pentium 4 M / 512 ram (256 extra died after a bike crash)

ATI Radeon 7500 Mobility 7500 M7 LW / 16 mb ram

Gentoo-dev-sources 2.6.7-r11

modules agpgart / intel_agp / radeon 

Kde 3.2.1 

Xorg 6.7.0-r1

And the magic 16 bit display depth, of course...

Reply to this post and i can post relevant confs

kevin

----------

## noathustra

Thank you for the 16 depth trick. Doubled my glxgears score. The problem that I have with the Radeon Mobile 7500 is that it sometimes fails to load GL extensions when I start X. It is bizarre because there is nothing in the log to explain the problem. 

Has anyone else experienced this sort of intermittent problem?

----------

## soviet/funk

do you mean the glx x module or dri?  

as you can see above i'm quite fresh with working dri, but i've already had some brushes with a similar problem.  

glxgears scores 190-200 and glxinfo says NO dri

then i restart X and i've got 1000+ and YES dri

so i've got glx (or no swish with the gears, no?) but sometimes no dri

last time this happened (7 mins ago) Xorg log said 

```
(WW) RADEON(0): [agp] AGP not available
```

and the next time - when dri was working - it made many happy AGP messages.  

this could be related to the problem mentioned in other radeon topics, with the agpgart and agp bridge modules loaded after the radeon module? so how do i change the order of module loading? 

kevin

----------

## soviet/funk

Yes, i think i can say that module interdependencies is my problem

i've now done several reboots and x restarts and the thing that always works is none of those. 

if i do this

```
modprobe -r radeon

modprobe radeon
```

and restart x then i do get dri YES from glxinfo and snazzy gears and this desire not to work so i can see a neat screensaver again soon 

so it seems that the radeon driver must be loaded last or at least after agpgart and intel_agp (or other chipsets in other cases)

i have a genkerneled kernel and agpgart and intel_agp are always loaded, while radeon is loaded by modules.autoload.d

the question i ask then is where to edit so that the radeon module is loaded last? but before x starts?

thanks, 

kevin

----------

## noathustra

I know that you are not supposed to compile the radeon dri driver into the kernel to get direct rendering working, but following up on the idea that the problem is the timing of the module loading I figured that I would try it anyway. Surprisingly, it works. 

After make menuconfig I selected Character devices like so:

 *Quote:*   

> <*> /dev/agpgart (AGP Support)                                       │ │
> 
>   │ │< >   ALI chipset support                                            │ │
> 
>   │ │< >   ATI chipset support                                            │ │
> ...

 

I am using xorg 6.7 and mm-sources 2.6.8.1-r4

My glxgears score is around 1000fps

----------

## soviet/funk

I tried a few times with the radeon modules compiled into the kernel but it never worked - i got a black screen when the BIOS data check after lilo was done, heard no hard drive activity and had to assume that everything was locked up. 

anyways i've had a couple of successful restarts now with dri working every time.  i added intel_agp and agpgart to /etc/modules.autoload.d/kernel-2.6 above/before the radeon module.  it might be a bit clumsy - my boot sequence tells me that something is calculating module dependencies (i understand that this is a genkernel thing?) - and agpgart and intel_agp seem to get loaded in this step.  but entering them in modules.autoload seems to work as an insurance so they're always in place before radeon. (i'm still assuming that loading order is the gist here)  i get different error messages from time to time but hey it seems to do the trick so far...

educate me, i'm still a n00b...

kevin

----------

## tapted

This bugged me for ages, and I've finally got it going.

One of:

opengl-update xorg-x11

or reordering /etc/modules.autoload.d/kernel-2.6 from

radeon

agpgart

intel_agp

to

agpgart

intel_agp

radeo

fixed it..

That's all I did between the last two reboots.

I'm leaning towards the latter, because glxinfo still dumped out a whole lotta stuff before opengl-update.

I now get a slightly more satisfying 537.000 fps in glxgears

----------

## soviet/funk

that score seems a little low..

y'know, i'd like to know what the theoretical roof of glx fps with a 16mb radeon 7500 M7 is - but i'm getting an average round 1000fps. It drops a bit if i'm running a bunch of other tasks, but it's nowhere near as processor-intensive as it used to be w/out dri. i've also had a fluke score up close to 1100, but i think i have a memory clog somewhere (next issue to resolve) and i've only seen that score once.  

some information about your system and i'm sure someone here can help you boost that performance...

both of the changes you listed had an impact on my system:

- before i did opengl-update xorg-x11 i had ~400fps with ati's opengl implementation VS ~1000+ afterwards

- adding intel_agp and agpgart (both must be loaded but i think it might be enough to just list one as the other is loaded as a dependency - on my system at least) before/above radeon in m.a.d/kernel-2.6 seems to ensure that dri is in place everytime i restart 

kevin

----------

## dsat

Thanx to tapted and all others,

who tried to get direct rendering to work!!

I have also a R7500, and now my direct rendering also works!

(change the load of the modules - radeon at last, restarting X - it works:) )

----------

## tapted

Well I finally discovered the joys of adding more options to my xorg.conf.

Adding AGPMode, BusID, AGPFastWrite and EnablePageFlip to

```

Section "Device"

    Identifier  "Radeon7500"

    Driver      "radeon"

    BusID       "AGP:01:00:0"

    Option      "AGPMode" "4"

    Option      "DPMS"

    Option      "AGPFastWrite" "on"

    Option      "EnablePageFlip" "on"

    VideoRam    32768

    # Insert Clocks lines here if appropriate

EndSection

```

Brought my glxgears score up to 702 fps (from 537).

Changing the colour depth from 24 to 16 blew it out to 1282!!

This is on a 32MB Radeon Mobility 7500 in an IBM Thinkpad T41 (1.6GHz PentiumM w/ 512MB RAM), using xorg-x11's libGL.so.

Now I've just got to figure out how to get may desktop to span monitors and whether

a) It will detect automatically when X starts whether I've got a monitor plugged in as well

b) It can run that monitor at 1280x1024 and my laptop at 1024x768 and still span the desktop

c) It can offset the monitor to be above my craptop panel

d) fluxbox will like it

All I've managed so far is getting cloning to work -- either at 1280 and my craptop running a virtual desktop or at 1024 with my 1280-native TFT monitor being all blurry.

Any suggestions?

For the benefit of anyone else with a T41, I currently I have (interesting Sections only):

```

Section "Module"

    Load        "dbe"   # Double buffer extension

    SubSection  "extmod"

      Option    "omit xfree86-dga"   # don't initialise the DGA extension

    EndSubSection

    Load        "type1"

    Load        "speedo"

    Load        "freetype"

    Load        "radeon"

    Load       "glx"

    Load       "dri"

    Load        "synaptics"

    Load        "drm"

EndSection

```

```

Section "InputDevice"

    Driver      "synaptics"

    Identifier  "Touchpad"

    Option      "Device"       "/dev/input/event0"

    Option      "Protocol"     "event"

    Option      "LeftEdge"     "1900"

    Option      "RightEdge"    "5400"

    Option      "BottomEdge"   "1800"

    Option      "TopEdge"      "3900"

    Option      "FingerLow"    "25"

    Option      "FingerHigh"   "30"

    Option      "MaxTapTime"   "180"

    Option      "MaxTapMove"   "220"

    Option      "VertScrollDelta" "100"

    Option      "MinSpeed"     "0.02"

    Option      "MaxSpeed"     "0.18"

    Option      "AccelFactor"  "0.0010"

#    Option      "Repeater"     "/dev/ps2mouse"

#    Option      "SHMConfig"    "on"

EndSection

```

```

Section "Monitor"

    Identifier  "Laptop Panel"

    HorizSync   31.5 - 48.5

    VertRefresh 50-90

    Option "DPMS"

EndSection

Section "Monitor"

    Identifier  "VGA"

    HorizSync   31.5 - 64.3

    VertRefresh 50-90

    Option "DPMS"

EndSection

```

```

Section "Device"

    Identifier  "Radeon7500"

    Driver      "radeon"

    BusID       "AGP:01:00:0"

    Option      "AGPMode" "4"

    Option      "DPMS"

    Option      "AGPFastWrite" "on"

    Option      "EnablePageFlip" "on"

    VideoRam    32768 #this is ignored..

    # Insert Clocks lines here if appropriate

EndSection

```

```

Section "Screen"

    Identifier  "Screen 1"

    Device      "Radeon7500"

    Monitor     "Laptop Panel"

    DefaultDepth 24

    Subsection "Display"

        Depth       8

        Modes       "1024x768" "800x600" "640x480"

        ViewPort    0 0

    EndSubsection

    Subsection "Display"

        Depth       16

        Modes       "1024x768" "800x600" "640x480"

        ViewPort    0 0

    EndSubsection

    Subsection "Display"

        Depth       24

        Modes       "1024x768" "800x600" "640x480"

        ViewPort    0 0

    EndSubsection

EndSection

Section "Screen"

    Identifier  "Screen 2"

    Device      "Radeon7500"

    Monitor     "VGA"

    DefaultDepth 24

    Subsection "Display"

        Depth       8

        Modes       "1280x1024" "1024x768" "800x600" "640x480"

        ViewPort    0 0

    EndSubsection

    Subsection "Display"

        Depth       16

        Modes       "1280x1024" "1024x768" "800x600" "640x480"

        ViewPort    0 0

    EndSubsection

    Subsection "Display"

        Depth       24

        Modes       "1280x1024" "1024x768" "800x600" "640x480"

        ViewPort    0 0

    EndSubsection

EndSection

```

```

Section "ServerLayout"

    Identifier  "Simple Layout"

    Screen 0 "Screen 1" 0 0

    Screen 1 "Screen 2" RightOf "Screen 1"

    InputDevice "Mouse1" "CorePointer"

    InputDevice "Touchpad" "SendCoreEvents"

    InputDevice "Keyboard1" "CoreKeyboard"

    Option "StandbyTime" "20"

    Option "SuspendTime" "40"

    Option "OffTime"    "60"

EndSection

Section "DRI"

   Mode 0666

EndSection

```

Suggestions, anyone?

----------

## snowpatch

I have an Inspiron 4150 with a Radeon Mobility M7 LW, 16MB RAM. I had the xorg radeon driver working fine with xorg-6.7.0. Since the update to xorg-6.8.0, resume from suspend-to-ram totally locks up my laptop. Not even a ping response.

I have tried generating a new config, switching to vt 2 before suspending; I am not even using direct rendering. The only thing I had changed is the keyboard driver from "Keyboard" to "kbd" so that X would work.

Any suggestions?

----------

