Is it possible to enable DRI on an ATi Mobility M3 AGP 2x ?

nonstop301nonstop301 51° 27' 24.87" N // 0° 11' 38.91" W Member
edited June 2007 in Science & Tech
I'd just like to ask if anyone here has any experience when it comes to enabling DRI with a Linux system.

I'm using ubuntu 6.10 on a laptop that has the ATi Mobility M3 AGP 2x video card but direct rendering unfortunately isn't enabled after the installation of the operating system.

I have looked at a few HowTo's on the ubuntu forum but I haven't found the right solution yet.

If anyone knows how this can be done correctly I'd be most grateful.

Thanks in advance for any advice or comments you wish to provide.

Comments

  • drasnordrasnor Starship Operator Hawthorne, CA Icrontian
    edited February 2007
    Are you using the ATI binary drivers or the open source kernel drivers? If you don't know, open up a terminal window and type 'sudo lsmod | grep -i ati', 'sudo lsmod | grep -i radeon', and 'sudo lsmod | grep -i fglrx'. If either ati or radeon come back positive, you're using the open source kernel driver that doesn't support DRI on newer than R250 cores. If it comes back fglrx then you're using the ATI binary driver and we may be able to finagle it to work.

    -drasnor :fold:
  • nonstop301nonstop301 51° 27' 24.87" N // 0° 11' 38.91" W Member
    edited February 2007
    Hi drasnor and thanks for your reply,

    I checked lsmod for ati, radeon and fglrx but none of those returned any results :)

    In my earlier attempts to enable DRI, I followed a guide in the ubuntu forum that instructed me to install drm and mach64 so in the lsmod list I see drm and mach64 there and drm is associated with the agpgart.

    The xorg.conf file however, shows ati as the driver for device ATI Technologies, Inc. Rage Mobility M3 AGP 2x

    I believe it wasn't necessary to install drm and mach64 to enable DRI because even now that they are present there is no direct rendering so there's probably a different way to do so.

    Before I installed the drm and mach64, the lsmod listed ati

    Will it be necessary to remove the drm and mach64 and install fglrx instead in that case ?

    Thanks again for your responses and I appreciate any advice you can provide
  • drasnordrasnor Starship Operator Hawthorne, CA Icrontian
    edited February 2007
    Sorry, I thought you had a Radeon-derived chipset. According to the folks at Debian, the M3 is derived from the Rage 128 so you might have better luck with that driver. Try changing the 'ati' in your xorg.conf file to 'r128' and make sure that the lines 'Load "glx"' and 'Load "dri"' are in your Modules section of your xorg.conf file. If your X server fails to fire, please post any errors it generates along with a copy of the output from 'lspci'.

    -drasnor :fold:
  • nonstop301nonstop301 51° 27' 24.87" N // 0° 11' 38.91" W Member
    edited February 2007
    Hi again drasnor,

    I changed the entry for the driver to r128 in xorg.conf; the glx and dri entries were already present in the Modules section and the X server restarted without any problem.

    DRI still isn't enabled though and glxinfo | grep render shows

    direct rendering: No
    OpenGL renderer string: Mesa GLX Indirect

    I have attached the outputs for lspci, dmesg | grep r128, xorg.log and xorg.conf because dmesg and xorg.log indicate some sort of disagreements and unknown symbols.

    The lspci output doesn't appear to show any errors:

    00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03)
    00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)
    00:03.0 CardBus bridge: Texas Instruments PCI1420
    00:03.1 CardBus bridge: Texas Instruments PCI1420
    00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 02)
    00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
    00:07.2 USB Controller: Intel Corporation 82371AB/EB/MB PIIX4 USB (rev 01)
    00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
    00:08.0 Multimedia audio controller: ESS Technology ES1983S Maestro-3i PCI Audio Accelerator (rev 10)
    00:10.0 Ethernet controller: 3Com Corporation 3c556 Hurricane CardBus [Cyclone] (rev 10)
    00:10.1 Communication controller: 3Com Corporation Mini PCI 56k Winmodem (rev 10)
    01:00.0 VGA compatible controller: ATI Technologies Inc Rage Mobility M3 AGP 2x (rev 02)

    The dmesg, xorg.conf and xorg.log are attached at the end of the post

    I hope you can make better sense of this than I do and hopefully there's a solution.

    Thanks again for all the help
  • drasnordrasnor Starship Operator Hawthorne, CA Icrontian
    edited February 2007
    I'm concerned about the contents of your dmesg output and suspect that the build versions for drm and r128 aren't the same. Did you pull drm off of the web or install through one of Ubuntu's repositories? You might want to try a full Ubuntu update while I try to trace other causes.

    -drasnor :fold:
  • nonstop301nonstop301 51° 27' 24.87" N // 0° 11' 38.91" W Member
    edited February 2007
    Hi again drasnor,

    I downloaded the drm and mach64 from the DRI website

    http://dri.freedesktop.org/snapshots/

    I selected the latest snapshot for common and mach64. Do you think I should pick up the rage128 snapshot that is listed there as well ?

    The guide I followed in the ubuntu forum only pointed out I should choose the common and mach64 snapshot from this site. Then again, that guide is oriented towards cards with the mach64 chipset and I presumed mine uses that as well, but it looks like it's a rage128 chipset from what you've found.

    I had a look at the ubuntu repositories before I went to the DRI snapshots site, but Synaptic only found libdrm2 when I did a search for drm and the latest version of libdrm2 is already installed.
  • drasnordrasnor Starship Operator Hawthorne, CA Icrontian
    edited February 2007
    Yeah, you definitely have incompatible versions. The problem is that Xorg includes all those modules with install so you don't actually need to go looking for them elsewhere. The versions of the modules on your machine need to be matched across the board (kernel, Xorg). Ubuntu is great about that as long as you don't pull snapshots off the web. You really don't need the latest unstable snapshots from the DRI site since your card has been fully supported for a few years now. I think I found that Ubuntu guide you used and it's three years out of date and the X server and the kernel have changed quite a bit since then.

    Unfortunately you're now in the Linux equivalent of DLL hell. Tell Ubuntu to reinstall the Xorg server and all its modules and pull in the latest 686 kernel.

    -drasnor :fold:
  • nonstop301nonstop301 51° 27' 24.87" N // 0° 11' 38.91" W Member
    edited March 2007
    Got it working drasnor and you were right.

    I had to redo the entire X server and now I have set the driver to r128 and the monitor at a 16 bit depth with the resolution at 1280x1024 :)

    Success at last :)

    Do you think it's necessary to install fglrx now that rendering is enabled or will the fglrx driver just cause mayhem once more ?
  • drasnordrasnor Starship Operator Hawthorne, CA Icrontian
    edited March 2007
    fglrx doesn't support your card so it would be inadvisable to install it. Glad to hear you got it all sorted out and on behalf of the rest of the staff here we hope you stick around. Welcome to Short-Media!

    -drasnor :fold:
  • edited June 2007
    nonstop301 wrote:
    Got it working drasnor and you were right.

    I had to redo the entire X server and now I have set the driver to r128 and the monitor at a 16 bit depth with the resolution at 1280x1024 :)

    Success at last :)

    Do you think it's necessary to install fglrx now that rendering is enabled or will the fglrx driver just cause mayhem once more ?


    Nonstop301, could you post your working xorg.conf. I've just installed ubuntu 7.04 and even though r128 is the module it's loading, and the depth set to 16 bit, glxinfo still reports "direct rendering: No". Thanks.
  • nonstop301nonstop301 51° 27' 24.87" N // 0° 11' 38.91" W Member
    edited June 2007
    Hi kbidwell,

    This is what the relevant sections of the xorg.conf file look like in order to enable direct rendering for my video card.

    [html]Section "Module"
    Load "GLcore"
    Load "i2c"
    Load "bitmap"
    Load "dbe"
    Load "ddc"
    Load "dri"
    Load "extmod"
    Load "freetype"
    Load "glx"
    Load "int10"
    Load "type1"
    Load "vbe"
    Load "record"
    Load "v4l"
    Load "pex5"
    Load "xie"
    EndSection

    Section "Device"
    Identifier "ATI Technologies, Inc. Rage Mobility M3 AGP 2x"
    Driver "ati"
    BusID "PCI:1:0:0"
    VideoRam 8192
    Option "AGPMode" "2"
    EndSection

    Section "Screen"
    Identifier "Default Screen"
    Device "ATI Technologies, Inc. Rage Mobility M3 AGP 2x"
    Monitor "Generic Monitor"
    DefaultDepth 16
    SubSection "Display"
    Depth 1
    Modes "1400x1050"
    EndSubSection
    SubSection "Display"
    Depth 4
    Modes "1400x1050"
    EndSubSection
    SubSection "Display"
    Depth 8
    Modes "1400x1050"
    EndSubSection
    SubSection "Display"
    Depth 15
    Modes "1400x1050"
    EndSubSection
    SubSection "Display"
    Depth 16
    Modes "1024x768"
    EndSubSection
    SubSection "Display"
    Depth 24
    Modes "1400x1050"
    EndSubSection
    EndSection[/html]

    These changes are a little different to the ones I have written in my earlier posts because I managed to get direct rendering enabled using the ati module in the end and it's better than the r128 alternative when it comes to this video card.
  • edited June 2007
    It works! I just wish it would support a higher resolution. ;-) Thanks again.
  • nonstop301nonstop301 51° 27' 24.87" N // 0° 11' 38.91" W Member
    edited June 2007
    It's good to see you enabled it kbidwell :)

    I have managed to get it working at 1280x1024 as well but using the r218 module instead of ati. With the r128 though you get AGP 1x speed for some reason rather than the AGP 2x that this card supports.
Sign In or Register to comment.