Announcement

Collapse
No announcement yet.

Open-Source ATI Driver Achieves 3D Success

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • phoronix
    started a topic Open-Source ATI Driver Achieves 3D Success

    Open-Source ATI Driver Achieves 3D Success

    Phoronix: Open-Source ATI Driver Achieves 3D Success

    While the RadeonHD developers have been busy working on Radeon HD 3200 / 780 Series support and other features for this open-source ATI R500/600+ driver, the DRM (Direct Rendering Manager) support has been lagging behind. Earlier this month Matthias Hopf was successful in getting DRM working on an RS690 GPU and he has published RadeonHD DRM code into his personal development tree, but no code has yet to reach master. Meanwhile, as the xf86-video-ati driver is using AtomBIOS, they are able to spend more time working on the 3D features and other areas and less time "banging on registers" or even waiting on register documentation to arrive. David Airlie has been working on the R500 3D support along with Alex Deucher and Corbin Simpson. The trio has been making some great headway towards open-source 3D goodness for Radeon X1000 and HD 2000/3000 GPUs. Their most recent efforts have focused around the R500 fragment program code and today they have reached a monumental milestone.

    http://www.phoronix.com/vr.php?view=12399

  • reavertm
    replied
    Originally posted by slacker View Post
    I did install mesa from sources, git master...
    But not manually, with a gentoo ebuild: maybe there's something wrong with it. I will try to get more info.
    thanks
    Have you compiled mesa with VIDEO_CARDS="radeon" set and xorg-server with "dri" USE flag enabled?
    Maybe using xorg-server from git is not necessary but it won't hurt either - you may need to fix osdeps.h file in its's source code to make it compile on Gentoo box.
    Last edited by reavertm; 08-27-2008, 09:29 PM.

    Leave a comment:


  • Scias
    replied
    Originally posted by tormod View Post
    Yes, this is because you didn't follow the instructions on the web site to download the libdrm source package corresponding to the libdrm2 binary package that you installed. I patched the date to easier identify if they are installed correctly. If you instead just downloaded drm sources from git for compiling modules, you'll get the old date.
    Yeah, i had forgotten this step ! Thanks.
    Now it's the good version, bug there's no additional improvement.

    I've noticed that these xorg.conf lines :

    Option "EnablePageFlip" "1"
    Option "ColorTiling" "1"
    Option "AccelDFS" "1"
    give some small improvements with Compiz.

    xf86-video-ati power !

    Leave a comment:


  • tormod
    replied
    Originally posted by Scias View Post
    But, i've still the drm version to 20060810 and drm radeon at 20080528...
    Yes, this is because you didn't follow the instructions on the web site to download the libdrm source package corresponding to the libdrm2 binary package that you installed. I patched the date to easier identify if they are installed correctly. If you instead just downloaded drm sources from git for compiling modules, you'll get the old date.

    Leave a comment:


  • bridgman
    replied
    Nice to see that XPress 200 really working...

    Leave a comment:


  • Scias
    replied
    Originally posted by tormod View Post
    It seems you didn't install the updated drm kernel modules, it should say "1.29.0". dmesg|grep drm should show 20080610git.
    You were right.

    I've removed all Xorg, mesa, dri, drm, ati.
    I've retried all the steps by 0.
    And now, it's working very well !!
    But, i've still the drm version to 20060810 and drm radeon at 20080528...

    scias@ORION-LINUX:~$ dmesg|grep drm
    [ 64.514698] [drm] Initialized drm 1.1.0 20060810
    [ 64.520732] [drm] Initialized radeon 1.29.0 20080528 on minor 0
    [ 65.259867] [drm] Setting GART location based on new memory map
    [ 65.260017] [drm] Loading R300 Microcode
    [ 65.260041] [drm] Num pipes: 2
    [ 65.260049] [drm] writeback test succeeded in 1 usecs
    But now, it's really working !!!! And With EXA acceleration !

    scias@ORION-LINUX:~$ glxinfo
    name of display: :0.0
    display: :0 screen: 0
    direct rendering: Yes
    ...
    OpenGL vendor string: DRI R300 Project
    OpenGL renderer string: Mesa DRI R300 20060815 x86/MMX+/3DNow!+/SSE2 NO-TCL
    OpenGL version string: 1.3 Mesa 7.1 rc1
    ...
    3 GLX Visuals
    visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
    id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
    ----------------------------------------------------------------------
    0x21 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
    0x22 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
    0x6d 32 tc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None

    16 GLXFBConfigs:
    visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
    id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
    ----------------------------------------------------------------------
    0x6e 0 tc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
    0x6f 0 tc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow
    0x70 0 tc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
    0x71 0 tc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow
    0x72 0 tc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
    0x73 0 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
    0x74 0 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
    0x75 0 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
    0x76 0 dc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
    0x77 0 dc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow
    0x78 0 dc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
    0x79 0 dc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow
    0x7a 0 dc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
    0x7b 0 dc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
    0x7c 0 dc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
    0x7d 0 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
    Xorg.0.log

    (II) LoadModule: "dri"

    (II) Loading /usr/lib/xorg/modules/extensions//libdri.so
    (II) Module dri: vendor="X.Org Foundation"
    compiled for 1.4.99.902, module version = 1.0.0
    ABI class: X.Org Server Extension, version 1.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.4.99.902, module version = 1.0.0
    ABI class: X.Org Server Extension, version 1.0
    (II) Loading extension DRI2
    (II) LoadModule: "ati"

    (II) Loading /usr/lib/xorg/modules/drivers//ati_drv.so
    (II) Module ati: vendor="X.Org Foundation"
    compiled for 1.4.99.902, module version = 6.8.0
    Module class: X.Org Video Driver
    ABI class: X.Org Video Driver, version 4.0
    (II) LoadModule: "radeon"

    (II) Loading /usr/lib/xorg/modules/drivers//radeon_drv.so
    (II) Module radeon: vendor="X.Org Foundation"
    compiled for 1.4.99.902, module version = 4.3.0
    Module class: X.Org Video Driver
    ABI class: X.Org Video Driver, version 4.0

    ....

    (II) RADEON(0): [dri] Found DRI library version 1.3.0 and kernel module version 1.29.0
    (II) RADEON(0): Direct rendering experimental on RS400/Xpress 200 enabled

    ....

    (**) RADEON(0): Using EXA acceleration architecture
    (II) Loading sub module "exa"
    (II) LoadModule: "exa"

    (II) Loading /usr/lib/xorg/modules//libexa.so
    (II) Module exa: vendor="X.Org Foundation"
    compiled for 1.4.99.902, module version = 2.4.0
    ABI class: X.Org Video Driver, version 4.0

    ...

    (==) RADEON(0): Using accelerated EXA DownloadFromScreen hook

    ...

    (II) RADEON(0): [DRI] installation complete
    ...
    (II) RADEON(0): Direct rendering enabled
    (II) RADEON(0): Render acceleration enabled for R300/R400/R500 type cards.
    ...
    (II) RADEON(0): Acceleration enabled
    ...
    (II) RADEON(0): Set up overlay video
    (II) RADEON(0): Set up textured video
    ...
    (II) AIGLX: enabled GLX_MESA_copy_sub_buffer
    (II) AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control
    (II) AIGLX: enabled GLX_texture_from_pixmap with driver support
    (II) AIGLX: Loaded and initialized /usr/lib/dri/r300_dri.so
    (II) GLX: Initialized DRI GL provider for screen 0
    glxgears is smooth with 800FPS and 20% CPU (fglrx : 970FPS and 100% CPU)

    I've Xv and Textured Videos and they're working with Compiz ! (but Textured takes a lot of CPU):







    3D games are working like Nexuiz (around 20 FPS in 640*480 lowest mode) :



    Scrolls in Firefox are smooth, also with Compiz. GUI is smooth, window replacing is very smooth !!
    The best, is to see that CPU is not longer needed, example the Compiz Cube with fglrx, is smooth but takes 100% of CPU, with radeon is very smooth and takes max 15% when there are a lot of windows.

    there's no problem except a little with gksu. There's no instabilities.

    I'm glad to see the improvements of xf86-video-ati, mesa, dri, drm and Xorg. It's close to the target of a good and performant driver. There's still a few steps for increasing 3D performance but i'm sure that one day, these problems will be resolved.

    .... if only fglrx became OpenSource...

    Thanks for your help ! Compiz is now my default window manager !

    Leave a comment:


  • tormod
    replied
    Originally posted by Scias View Post
    (II) RADEON(0): [dri] Found DRI library version 1.3.0 and kernel module version 1.28.0
    It seems you didn't install the updated drm kernel modules, it should say "1.29.0". dmesg|grep drm should show 20080610git.

    Leave a comment:


  • Scias
    replied
    Originally posted by tormod View Post
    You can try it out from a live CD and if it works, you can try to install those Ubuntu packages on Debian unstable.
    (sorry for my bad english)

    Thanks !

    I've tried your method, installed these packages (ati, mesa, etc...) ans updated my Xorg.conf directly on my installed Ubuntu.

    With XAA Acceleration, there's no DRI or 3D Acceleration but the graphical interface is as or more faster than fglrx, the scroll is smooth also in Firefox !

    Window resizing is much faster than fglrx (but not smooth).
    However, With Composite enabled (metacity), scroll is a bit slower (as fglrx).
    Xvideo seems working correctly. I've tested with a 720p video (the magnificient big buck bunny) and it's smooth, no tearing, no corruption, and with composite enabled. It takes less CPU than fglrx !! (~40% fullscreen with ati, 80%+ with fglrx).
    I'll try if textured Xv works with ati.

    My 2D games such as wormux or the gxmame emulator are working as faster than fglrx, but are taking less CPU than fglrx (The King of Fighters 98' : fglrx : ~80%, ati : ~35%).
    3D games aren't working or are very slower than fglrx ! Nexuiz works (~3 FPS), others like Balazar crashes X.
    Glxgears is working but not smoothly and takes 100% of CPU (320 FPS with ati | 950 FPS with fglrx).

    With EXA acceleration, all is very very SLOW.
    scrolling and resizing are very slow !!
    Xv doesn't work (black video).
    DRI and 3D are not enabled.
    With composite, it's slower.

    Here are some lines of Xorg.0.log :

    Loading ati module
    (II) LoadModule: "ati"
    (II) Loading /usr/lib/xorg/modules/drivers//ati_drv.so
    (II) Module ati: vendor="X.Org Foundation"
    compiled for 1.4.0.90, module version = 6.8.0
    Module class: X.Org Video Driver
    ABI class: X.Org Video Driver, version 2.0
    Detection successful
    (--) Chipset ATI Radeon XPRESS 200 5954 (PCIE) found
    Setting Accel on EXA and loading
    (**) RADEON(0): Option "AccelMethod" "EXA"
    .....
    (**) RADEON(0): Using EXA acceleration architecture
    (II) Loading sub module "exa"
    (II) LoadModule: "exa"
    (II) Loading /usr/lib/xorg/modules//libexa.so
    (II) Module exa: vendor="X.Org Foundation"
    compiled for 1.4.0.90, module version = 2.2.0
    ABI class: X.Org Video Driver, version 2.0
    ....
    (==) RADEON(0): Using accelerated EXA DownloadFromScreen hook
    Loading DRI
    (II) RADEON(0): [dri] Found DRI library version 1.3.0 and kernel module version 1.28.0
    (II) RADEON(0): Direct rendering experimental on RS400/Xpress 200 enabled
    Huh ?? Acceleration disabled or enabled at all ?

    (==) RADEON(0): Backing store disabled
    (WW) RADEON(0): Direct rendering disabled
    (II) RADEON(0): EXA Composite requires CP on R5xx/IGP
    ....
    (II) RADEON(0): Acceleration enabled
    ....
    (II) AIGLX: Screen 0 is not DRI capable
    At all, i'll delete fglrx and use ati with XAA Acceleration.
    3D isn't important for me, i'll wait for a stable release, i just want a smooth GUI.
    However, i'll try some options on my xorg.conf file.
    Last edited by Scias; 06-11-2008, 07:19 PM.

    Leave a comment:


  • oibaf
    replied
    Originally posted by bridgman View Post
    There were also some suggestions on IRC about turning off some game options to match what the driver supported.

    I imagine it was you posting on IRC so you already know this, but it might be useful to someone else
    Yes, I was. Just returned from a little holiday

    Update for sauerbraten (thanks to adamk):

    sauerbraten should then run with no shaders (otherwise you'll get an all grey screen):
    Code:
    sauerbraten -f0
    the game should now work. To make it faster disable water refraction/reflection in the shaders tab in the in game options.

    It also has some corruption problems (some wrong triangle flashing):
    Last edited by oibaf; 07-03-2008, 09:17 AM.

    Leave a comment:


  • goffrie
    replied
    Originally posted by slacker View Post
    you'll need xorg-server from git too.
    Good luck with that
    Thanks a lot for the advice! With xorg-server from git (and tons of other things from git as well) everything works fine. Compiz works well, firefox scrolls smoothly, I get to enjoy (at least more than before of) my X1900GT on Linux!

    Leave a comment:

Working...
X