Page 4 of 4 FirstFirst ... 234
Results 31 to 39 of 39

Thread: The AMD R600 Gallium3D Driver Is Becoming Quite Fit

  1. #31
    Join Date
    Apr 2011
    Posts
    33

    Default

    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 :-)

  2. #32
    Join Date
    Feb 2011
    Location
    France
    Posts
    165

    Default

    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.

  3. #33
    Join Date
    Apr 2011
    Posts
    33

    Default

    Quote 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...

  4. #34
    Join Date
    Aug 2007
    Posts
    6,598

    Default

    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.

  5. #35
    Join Date
    Apr 2011
    Posts
    33

    Default

    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.

  6. #36
    Join Date
    May 2007
    Posts
    315

    Default

    Quote 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.

  7. #37
    Join Date
    Jun 2009
    Posts
    2,910

    Default

    Quote 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.

  8. #38
    Join Date
    Jul 2009
    Location
    Berlin, Germany
    Posts
    15

    Default

    Quote 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:
    Quote 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; 06-17-2011 at 08:50 AM.

  9. #39
    Join Date
    Feb 2011
    Location
    France
    Posts
    165

    Default

    Thanks for your feedback.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •