Announcement

Collapse
No announcement yet.

The AMD R600 Gallium3D Driver Is Becoming Quite Fit

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

  • whitecat
    replied
    Thanks for your feedback.

    Leave a comment:


  • LibertyZero
    replied
    Originally posted by whitecat View Post
    Just to know, what is your GPU and MEMORY timing while in 'low' mode ? And voltage ?
    Because, in my case (RV770), 'low' mode freeze my system. I want to know if there is a real difference between 'low' and 'mid'.
    mid profile:
    default engine clock: 850000 kHz
    current engine clock: 800000 kHz
    default memory clock: 975000 kHz
    current memory clock: 975000 kHz
    voltage: 1313 mV

    low profile:
    default engine clock: 850000 kHz
    current engine clock: 500000 kHz
    default memory clock: 975000 kHz
    current memory clock: 975000 kHz
    voltage: 923 mV

    but remember that my chip is RV790

    EDIT:
    Originally posted by whitecat View Post
    The power management is handled by kernel, nothing to do with Gallium3D.
    I guess nobody here would claim otherwise. But the shift of the topic over to power management in this thread is really nice too see, since this shows how high quality r600g has become.
    Last edited by LibertyZero; 17 June 2011, 08:50 AM.

    Leave a comment:


  • pingufunkybeat
    replied
    Originally posted by mark_ View Post
    I am using gentoo and there is emul-linux-x86-opengl for 32bit compatibility.
    That won't work, those libs are ancient and don't have all the flags enabled.

    You will need to compile the driver from scratch for 32 bits. This is an ugly process in gentoo. A friendly user here posted a rough way to do it, so I'll share it with you. You might have to update a few things (my builds are in /usr/local/portage). Don't do this unless you understand what you're doing, though!

    Code:
    cd /usr/local/portage//x11-libs/libdrm
    ebuild libdrm-9999.ebuild unpack
    cd /var/tmp/portage/x11-libs/libdrm-9999/work/libdrm-9999
    export CFLAGS="-m32"
    export CXXFLAGS="-m32"
    sh autogen.sh --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib32 --libdir=/usr/lib32 --disable-dependency-tracking --enable-shared --disable-static --disable-dependency-tracking --enable-udev --disable-intel --disable-nouveau-experimental-api --enable-radeon --disable-vmwgfx-experimental-api --enable-libkms
    make
    cp .libs/libdrm.so.2.4.0 /usr/lib32/
    cp ./libkms/.libs/libkms.so.1.0.0 /usr/lib32/
    cp ./radeon/.libs/libdrm_radeon.so.1.0.0 /usr/lib32/
    
    
    cd /usr/local/portage/media-libs/mesa/
    ebuild mesa-9999.ebuild unpack
    cd /var/tmp/portage/media-libs/mesa-9999/work/Mesa-9999
    ./autogen.sh --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib32 --libdir=/usr/lib32 --disable-option-checking --with-driver=dri --disable-glut --without-demos --enable-xcb --disable-debug --disable-glw --disable-motif --enable-glx-tls --enable-asm --with-dri-drivers=,swrast,r600 --enable-gallium --with-state-trackers=glx,dri,egl,vega --disable-gallium-llvm --disable-gles1 --disable-gles2 --disable-gles-overlay --disable-gallium-svga --disable-gallium-nouveau --disable-gallium-i915 --disable-gallium-i965 --disable-gallium-radeon --disable-gallium-r600 --disable-gallium-i915 --disable-gallium-i965 
    --disable-gallium-radeon --enable-gallium-r600 --enable-32-bit --enable-texture-float
    make
    
    cp lib32/libGL.so.1.2 /usr/lib32
    cp lib32/libGL.so.1.2 /usr/lib32/opengl/xorg-x11/lib/
    cp lib32/libGLU.so.1.3.071100 /usr/lib32/
    cp lib32/libEGL.so.1.0 /usr/lib32/
    cp lib32/libOpenVG.so.1.0.0 /usr/lib32/
    cp lib32/egl/* /usr/lib32/egl/
    cp lib32/r600_dri.so /usr/lib32/mesa/r600_dri.so
    cp lib32/gallium/r600_dri.so /usr/lib32/mesa/r600g_dri.so
    cp lib32/gallium/swrastg_dri.so /usr/lib32/mesa/
    cp lib32/swrast_dri.so /usr/lib32/mesa/
    rm /usr/lib32/dri/r600g_dri.so
    rm /usr/lib32/dri/r600_dri.so
    ln -s /usr/lib32/mesa/r600g_dri.so /usr/lib32/dri/r600g_dri.so
    ln -s /usr/lib32/mesa/r600g_dri.so /usr/lib32/dri/r600_dri.so
    I can report that Quake4, Shadowgrounds and Prey (all 32-bit games) work fine with r600g on Gentoo/amd64, but you need to compile the relevant functionality in.

    Leave a comment:


  • airlied
    replied
    Originally posted by mark_ View Post
    but I can play some of those games on my laptop with intel graphics and I did not need to compile mesa for 32bit there. I am using gentoo and there is emul-linux-x86-opengl for 32bit compatibility. On the laptop I use mesa 7.10.2, libdxbla 1.0.1, libdrm 2.4.25, the same wine version (compiled on my pc) and it simply works. So I conclude there must still be something missing in the radeon code somewhere (further: s3tc is WIP in the status matrix). That's why I asked how much is still missing.
    No you just have to build mesa to replace the 32-bit one, since the 32-bit one probably doesn't have the S3TC bits for r600 in it, and has them for intel.

    Leave a comment:


  • mark_
    replied
    but I can play some of those games on my laptop with intel graphics and I did not need to compile mesa for 32bit there. I am using gentoo and there is emul-linux-x86-opengl for 32bit compatibility. On the laptop I use mesa 7.10.2, libdxbla 1.0.1, libdrm 2.4.25, the same wine version (compiled on my pc) and it simply works. So I conclude there must still be something missing in the radeon code somewhere (further: s3tc is WIP in the status matrix). That's why I asked how much is still missing.

    Leave a comment:


  • Kano
    replied
    you need to compile mesa + s3tc for 32 bit. thats really tricky especially for r300g which wants llvm by default. when you use kanotix or pure debian you could try my scripts. i do not support ubuntu, there just use a ppa. the simple instructions to compile mesa are only for 32 bit or when you use only 64 bit apps with a 64 bit os. compiling 32 bit libs on a 64 bit system is much more tricky as you have to fullfill the depends of course there too. for wine you need of course 32 bit libs.

    Leave a comment:


  • mark_
    replied
    Originally posted by whitecat View Post
    S3TC is supported. I can play ETQW with r600g without major issue. There is some bug with textures (bug reported), but you can play!

    But you need the 2.6.39 kernel.
    Just to be sure:
    I use mesa, xf86-video-ati, libdrm from git, kernel 2.6.39.1, libtxc_dxtn 1.0.1, printenv says R600_ENABLE_S3TC=1, glxinfo says GL_S3_s3tc, GL_EXT_texture_compression_s3tc and OpenGL renderer string: Gallium 0.4 on AMD RV710 and the following files are present:
    /usr/include/txc_dxtn.h
    /usr/lib32/libtxc_dxtn.so
    /usr/lib64/libtxc_dxtn.so
    Is this all I have to do?

    Because no single wine game works with s3tc, though everything seems to be ok. (wine is from git and seems to support S3tc since 2004)
    In those games which don't check for S3tc I have severe graphical glitches and those which check tell me "texture compression support not detected".
    These games are 32bit Windows binaries, but I don't get it why they don't work...

    Leave a comment:


  • whitecat
    replied
    S3TC is supported. I can play ETQW with r600g without major issue. There is some bug with textures (bug reported), but you can play!

    But you need the 2.6.39 kernel.

    Leave a comment:


  • mark_
    replied
    Can someone tell me, how much there is left for full S3TC support in r600g? Every time it's needed, I have to switch from my pc to my laptop which uses intel graphics (not fast at all, but at least they show me a non-scrambled picture ^^).
    (Yes, I installed libtxc_dxtn, but r600g doesn't seem to be able to use it completely)
    It's my daily routine to check mesa for new patches regarding this topic :-)

    Leave a comment:


  • droidhacker
    replied
    Originally posted by pingufunkybeat View Post
    Well, that would be interesting to see, for sure. Powersaving and performance are the biggest remaining issues on r700 hardware, IMHO. Improved dynpm would be worth gold.
    I would love for dynpm to work on multiple monitors.

    Leave a comment:

Working...
X