SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Distribution: Slackware (personalized Window Maker), Mint (customized MATE)
Posts: 1,309
Original Poster
Rep:
Now I run the machine with DRI enabled and I observe how frequently it'll hang up. Since I installed 6.12.4 version of ati driver my machine hung up once.
I don't want to downgrade the system so I have to learn to live with open source drivers. The current 6.12.4 version of ati driver is much better than 6.8.0 version provided with Slackware 12.1 -- my first Slackware with kernel 2.6.x. It was impossible to work with radeon driver and ATI Mobility Radeon X1300 in those times so I was forced to use fglrx driver. Now I can get rid of the proprietary ATI driver. The current generic ati driver isn't perfect but it's acceptable.
The current generic ati driver isn't perfect but it's acceptable.
This is a mixed blessing to me. At least progress has been made.
Be sure to follow the driver development. Their mailing list is active. If you don't want to subscribe with your email address, you can always use Gname.org and your news reader (Pan ) by adding news.gmane.org to the servers list. http://gmane.org/faq.php
Distribution: Slackware (personalized Window Maker), Mint (customized MATE)
Posts: 1,309
Original Poster
Rep:
Quote:
Originally Posted by disturbed1
This is a mixed blessing to me. At least progress has been made.
In comparison to the old 6.8.0 version driver it's a great progress. That old driver was useless with X1300 -- new radeon driver is usable. With Slackwares 12.1 and 12.2 I was forced to use fglrx driver. Now I can use radeon driver with acceptable results.
Distribution: Slackware (personalized Window Maker), Mint (customized MATE)
Posts: 1,309
Original Poster
Rep:
I edited the message #12 according to the suggestions by BrZ. Now to compile xf86-video-ati driver you have to put in the desired directory xorg-server.
***
I tested new video driver once again.
As before I started Window Maker on two accounts. Both instances used a few dockable applications including wminfo. To perform the tests I started Midnight Commander in xterm window.
I did three attempts with each Mesa version. I counted the time from the moment when I pressed and kept Enter key after typing mc command to the moment when the machine hung up. The following results are the numbers of the seconds from pressing Enter to hang up the machine:
Take it easy, you do not need to rebuild x, only the structure to compile any lib or driver. Even to compile some of them standalone. But only xf86-video-ati maybe not the solution for your libdri.so being taged as old...
Slackware 13 came with a good working set. My Xpress1100, and ati 9600, 8500 and 7500 had zero problems with mesa 7.5 and ati-6.12.2.
Try this combo: Mesa-7.5.1 (current) and ati-6.12.2 and don't mess with xorg-server, please.
I built mine fresh just to play with radeon now taht I'm free from fglrx =]
Then I tried once again default Slackware versions of programs:
● xf86-video-ati 6.12.2, mesa 7.5 -- 3, 12, 10
The result for default program's version is significantly worse in my case. The results for mesa 7.5.1 (with different ati driver versions) and for ati driver 6.12.4 (with different mesa versions) are similar. Maybe I have to test each configuration not three but ten times...
I don't know but it's possible you might have some luck with newer drm modules. The drm code has kernel modules like radeon.ko and drm.ko as well as the libdrm, which comes in the slackware package.
I build it all at once but your slackbuild script (or do it manually) will need to go into the linux-core subdirectory and make the drivers you want. This will include drm, radeon.
Below is the working portion of my build script. You will have to change it for your setup. In this I build for 64 bit and I don't tar the source. If you do the git clone method you will get a drm subdirectory but the prgnam is libdrm so manually change that after you git the code. Backup your radeon.ko and drm.ko for the /lib/...kernel you are using. I build drm, then mesa, then xfree...ati. If it is worse then replace the kernel modules from the backups you make and post at phoronix and devs might respond. Give feedback. Good luck.
Edit: You also might need symlink from /usr/X11R6/lib/xorg/modules/dri to /usr/lib/dri. I can't remember but I have something like this with the 64 bit (but then its .../lib64/...). This is for mesa drivers which should provide radeon_drv.so, and r300_drv.so for the X1300.
Code:
PRGNAM=libdrm
VERSION=${VERSION:-2.4.13}
ARCH=${ARCH:-x86_64}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
#tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 #if using tarred src
#since not tarred, we will just copy our src directory
cd $TMP
rm -rf $PRGNAM
cp -r $CWD/$PRGNAM .
cd $TMP/$PRGNAM
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh \
--prefix=/usr \
--libdir=/usr/lib64
make
make install DESTDIR=$PKG
#now build radeon and drm.
TLIB=lib/modules/`uname -r`/kernel/drivers/gpu/drm
TLIB2=$TLIB/radeon
cd $TMP/$PRGNAM/li*core
make drm.o radeon.o
mkdir -p $PKG/$TLIB2
cp $TMP/$PRGNAM/li*core/drm.ko $PKG/$TLIB/drm.ko
cp $TMP/$PRGNAM/li*core/radeon.ko $PKG/$TLIB2/radeon.ko
# no current man files in the git
# No useful docs in the git
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz
OK but in drm did you specifically go into linux-core and tell it to make drm.o and radeon.o?
That does not happen with the simple configure, make, make install. The .ko kernel modules it makes need to be put in your /lib/modules/<your kernel number>/kernel/drivers/char/drm area.
What errors are you getting in mesa? I had to disable and limit what was built or I got errors. Try adding the following to your script in the configure or autogen part:
(II) AIGLX: enabled GLX_MESA_copy_sub_buffer
(II) AIGLX: enabled GLX_SGI_make_current_read
(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/xorg/modules/dri/r300_dri.so
When I try to compile mesa 7.6 the compilation ends with these errors messages:
Code:
radeon_screen.c: In function 'radeonCreateScreen':
radeon_screen.c:1025: error: 'R600_SCRATCH_REG_OFFSET' undeclared (first use in this function)
radeon_screen.c:1025: error: (Each undeclared identifier is reported only once
radeon_screen.c:1025: error: for each function it appears in.)
gmake[5]: *** [radeon_screen.o] Error 1
gmake[5]: Leaving directory `/tmp/Mesa-7.6/src/mesa/drivers/dri/r200'
gmake[4]: *** [subdirs] Error 1
gmake[4]: Leaving directory `/tmp/Mesa-7.6/src/mesa/drivers/dri'
gmake[3]: *** [default] Error 1
gmake[3]: Leaving directory `/tmp/Mesa-7.6/src/mesa/drivers'
gmake[2]: *** [driver_subdirs] Error 2
gmake[2]: Leaving directory `/tmp/Mesa-7.6/src/mesa'
make[1]: *** [subdirs] Error 1
make[1]: Leaving directory `/tmp/Mesa-7.6/src'
make: *** [default] Error 1
Distribution: Slackware (personalized Window Maker), Mint (customized MATE)
Posts: 1,309
Original Poster
Rep:
It seems I finally solved the problem of DRI and DRI2 causing random system hang ups. The solution is to use the newest GIT version of xf86-video-ati driver. I described it here.
I tried that driver with both current mesa 7.5.1 and default mesa 7.5 (build 2). I used the same method of forcing hang ups as described here and I wasn’t able to hang up the system mangling Midnight Commander for 300 seconds. So I assume the problem is solved.
In result I can load DRI* without causing random system hang ups.
Distribution: Slackware (personalized Window Maker), Mint (customized MATE)
Posts: 1,309
Original Poster
Rep:
I found simpler method of avoid random system hang ups and I described it here. In short: it's enough to put Option "AccelMethod" "EXA" line into Section "Device" of xorg.conf. It works with default xf86-video-ati 6.12.2 build 2 driver.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.