LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 04-11-2004, 08:27 PM   #1
/bin/bash
Senior Member
 
Registered: Jul 2003
Location: Indiana
Distribution: Mandrake Slackware-current QNX4.25
Posts: 1,802

Rep: Reputation: 47
Direct Rendering Infrastructure DRI on VIA\S3 Savage


This is a HOWTO for enabling DRI on an VIA\S3 Savage graphics controller.

IMPORTANT: You must have kernel sources properly installed and your kernel must have DRI support enabled. At least run
make mrproper
Then configure the kernel and enable DRM. And if you are using 2.4.X kernel you should also run
make dep.

Since posting this, I have discovered a much simpler and quicker method. I put that method in Post #40 of this thread.

Did you ever try to play TuxRacer but it was too slow on your 2Ghz P4? Well I have! It's frustrating! I have never been able to run TuxRacer on any of the computers I have had. Chromium is another one, and MarbleBlast. The reason these games are soooo sloooow is because they require DRI.

How do you know if you have DRI enabled?
Code:
glxinfo
name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
Also you can run the utility glxgears and check the FPS rate in the standard window size. I used to get 150-170FPS max before I got DRI working. Now I get >350FPS, and I can now play all those games!

Direct Rendering Infrastructure (DRI) as you may know is not a standard Kernel option for VIA/S3 Savage. But did you know there is a savage branch of the DRI Open Source Project.
NOTE: As of kernel 2.6.14 there is now DRM support for Savage chips in the kernel. W00t!

NOTE: The DRI site is constantly changing and I would suggest you look at their documentation as it will be more current than this HOWTO.

I got most of my information from the above link but I will try to condense everything you need to do into one thread here for your convenience.

Step-by-step
First we download everything using cvs. NOTE everything includes XFree86, the savage branch of XFree86, drm and Mesa.
  • cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri login #Hit <Enter> at Password prompt.
  • cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri co xc #This will get the XFree86 sources
  • cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri co -rsavage-2-0-0-branch xc #This gets the savage branch
  • cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/dri co drm #This gets the Direct Rendering code (drm)
  • cvs -z3 -d:pserver:anonymous@dri.freedesktop.org:/cvs/mesa co Mesa #This gets the Mesa stuff
Now we will make a parallel build tree. This is done so our source tree will stay clean of build files. It makes it easier to update everything later on, if you choose to.
  • ln -s xc XFree40
  • mkdir build
  • cd build
  • lndir -silent -ignorelinks ../XFree40
Before we start building we can edit the config file xc/config/cf/host.def so we only build for the savage card and not all the others. Change XF86CardDrivers and DriDrivers to savage. This is found in 3 places in the config file. I changed all 3 just to be sure.
  • #define XF86CardDrivers savage
  • #define DriDrivers savage
Now from within the build/xc directory do this.
  • make World >& world.log &
  • tail -f world.log # This is so you can see whats happening. Once make is done hit <Ctrl>+c to escape.
  • make install #Warning this will overwrite your current XFree86 installation. Make sure you know how to undo this if it fails. Also you must be root to run make install.
  • ldconfig #This was not in original DRI documentation.
Now we will build the drm module. You must have kernel sources installed and you must at least run make mrproper for this to work. If we continue on from the previous build/xc directory.
  • cd ../../drm/linux
  • make DRM_MODULES="savage"
  • su
  • mkdir /lib/modules/`uname -r`/kernel/drivers/char/drm
  • cp savage.ko /lib/modules/`uname -r`/kernel/drivers/char/drm #NOTE: On 2.4 kernel the module will be savage.o
  • depmod -a

Now edit /etc/X11/XF86Config-4 and modify or add these sections:

Section "Module"
# ...
Load "glx"
Load "dri"
# ...
EndSection


Section "Device"
Driver "savage"
...
...
EndSection

Section "DRI"
Mode 0666
EndSection

Next edit /etc/modprobe.conf and add this line.

alias agpgart via-agp

Thats about it. You can now reboot and startx and hopefully you have a DRI enabled savage driver. Woot! Well I hope this helps someone cause that TuxRacer is sure worth the effort!

Please feel free to post anything I may have left out or just flat out got wrong.

Also note that this procedure should work on any of the dri supported cards by simply replacing savage with <your card>. Go to this page for a list of supported hardware.

<EDIT>
Changed drm code from cd ../drm to cd ../drm/linux
Changed make world directory to build/xc
Changed drm code from cd ../drm/linux to cd ../../drm/linux
As of 4-30-2004 we no longer use make -f Makefile.linux to build drm module.
Added IMPORTANT note at the beginning.
Added Driver Section to XF86Config-4/xorg.conf
NOTE This works with both XFree86 and Xorg sources.

Last edited by /bin/bash; 02-20-2006 at 04:25 AM.
 
Old 04-14-2004, 01:33 PM   #2
rmd5
LQ Newbie
 
Registered: Apr 2004
Location: Rhode Island
Distribution: Gentoo
Posts: 6

Rep: Reputation: 0
Hello,

I was hoping you could help in following the procedures you have posted. I am a baby to Linux, but I have made the conversion from windows and don't plan to go back.

In your procedure you said:

1 - make World >& world.log &
2 - tail -f world.log # This is so you can see whats happening. Once make is done hit <Ctrl>+c to escape.
3 - make install #Warning this will overwrite your current XFree86 installation. Make sure you know how to undo this if it fails.


Everything seems to go fine up until line 3 (line numbered 3 above)....when I type "make install" I get the following:

make: *** No rule to make target `install'. Stop.

Please advice, many thanks in advance
 
Old 04-14-2004, 08:50 PM   #3
/bin/bash
Senior Member
 
Registered: Jul 2003
Location: Indiana
Distribution: Mandrake Slackware-current QNX4.25
Posts: 1,802

Original Poster
Rep: Reputation: 47
OK I seem to have left out one step. You need to be in the build/xc directory when you do make world and make install. Sorry about that. I will make the corrections to the original post.
 
Old 04-14-2004, 10:39 PM   #4
rmd5
LQ Newbie
 
Registered: Apr 2004
Location: Rhode Island
Distribution: Gentoo
Posts: 6

Rep: Reputation: 0
ignore this please

Last edited by rmd5; 04-14-2004 at 10:42 PM.
 
Old 04-14-2004, 10:41 PM   #5
rmd5
LQ Newbie
 
Registered: Apr 2004
Location: Rhode Island
Distribution: Gentoo
Posts: 6

Rep: Reputation: 0
Hello again..

Many thanks for replying so promptly to my last question.

Just wanted to know if these error outputs are OK.

After typing:
make install

This is what I get (these are only the last couple lines):

make[4]: Leaving directory `/root/build/xc/lib/GL/mesa/src'
installing in lib/GL/glx...
make[4]: Entering directory `/root/build/xc/lib/GL/glx'
install in lib/GL/glx done
make[4]: Leaving directory `/root/build/xc/lib/GL/glx'
installing in lib/GL/dri...
make[4]: Entering directory `/root/build/xc/lib/GL/dri'
installing in lib/GL/dri/drm...
make[5]: Entering directory `/root/build/xc/lib/GL/dri/drm'
install in lib/GL/dri/drm done
make[5]: Leaving directory `/root/build/xc/lib/GL/dri/drm'
make[4]: Leaving directory `/root/build/xc/lib/GL/dri'
installing in lib/GL/GL...
make[4]: Entering directory `/root/build/xc/lib/GL/GL'
make[4]: *** No rule to make target `../../../lib/GL/glx/?*.o', needed by `libGL.so.1.2'. Stop.
make[4]: Leaving directory `/root/build/xc/lib/GL/GL'
make[3]: *** [install] Error 2
make[3]: Leaving directory `/root/build/xc/lib/GL'
make[2]: *** [install] Error 2
make[2]: Leaving directory `/root/build/xc/lib'
make[1]: *** [install] Error 2
make[1]: Leaving directory `/root/build/xc'
make: *** [install] Error 2

thanks again
 
Old 04-14-2004, 11:14 PM   #6
rmd5
LQ Newbie
 
Registered: Apr 2004
Location: Rhode Island
Distribution: Gentoo
Posts: 6

Rep: Reputation: 0
Hello once again,

you said:
cp savage.ko /lib/modules/`uname -r`/kernel/drivers/char/drm #NOTE: On 2.4 kernel the module will be savage.o

my drm/linux directory does not contain the savage.o or .ko file. I have the 2.4 kernel.
Have I done something wrong?


thanks
 
Old 04-15-2004, 08:12 PM   #7
/bin/bash
Senior Member
 
Registered: Jul 2003
Location: Indiana
Distribution: Mandrake Slackware-current QNX4.25
Posts: 1,802

Original Poster
Rep: Reputation: 47
Since you are getting errors during make install you need to check your make log (build/xc/world.log) to make sure there were no errors.

You should have a savage.o module in drm/linux if you got no errors when you ran the command
make -f Makefile.linux DRM_MODULES="savage"
Since you are using the 2.4 kernel sources you must run make mrproper and make dep from /usr/src/linux directory.
 
Old 04-24-2004, 09:23 PM   #8
jeffreylebowski
LQ Newbie
 
Registered: Apr 2004
Posts: 1

Rep: Reputation: 0
XOrg-XFree86-4.4.0RC2

I was wondering if anybody got this working with the latest version of the XOrg server (4.4.0 RC2; since the licensing split). I'd rather use the XOrg's server, but I don't know if there's a dri savage branch for it. Any help is appreciated.

Thanks,
~Matt
 
Old 04-30-2004, 10:53 AM   #9
rmd5
LQ Newbie
 
Registered: Apr 2004
Location: Rhode Island
Distribution: Gentoo
Posts: 6

Rep: Reputation: 0
Hello again,

Well, I finally got thru your procedures correctly and happy to say no errors were reported. But, its seems as if nothing has changed. When I do glxinfo, it reports that rendering is still off. When I do glxgears, my FPS has actually slowed down. Please advice

thanks again
 
Old 05-02-2004, 04:37 AM   #10
/bin/bash
Senior Member
 
Registered: Jul 2003
Location: Indiana
Distribution: Mandrake Slackware-current QNX4.25
Posts: 1,802

Original Poster
Rep: Reputation: 47
jeffreylebowski
Go to the DRI Open Source Project, click on Documentation, then click on Building, now look in the contents for Building for X.org and click on that. I'm afraid thats all the help I can offer as I have not used X.org's sources.

rmd5
Well I'm sorry to hear that. I'm starting to think there is something else related to this which I'm unaware of. I just upgraded my Mandrake-9.2 to 10.0 official and now I'm in the same boat as you. Everything works fine but no DRI? I even kept a backup of my Mandrake-9.2 and I can boot into that and it works? I am using the same kernel, the same kernel modules, the same XFree86 server, the same /etc/modprobe.conf and the same /etc/X11/XF86Config-4 file?

I would suggest you search through the mailing lists, as I plan on doing when I get time. It's Baseball/Softball season here in Indiana and I coach two youth teams 1 softball and 1 baseball so I have very little time to work on this right now and for the next couple months. But if I do find something I'll post it here.
 
Old 05-02-2004, 09:15 AM   #11
bgrudy
LQ Newbie
 
Registered: Apr 2004
Distribution: Mandrake 10.0
Posts: 27

Rep: Reputation: 15
hi, i'm building this for the mach64 module, following the instructions on http://dri.sourceforge.net/cgi-bin/moin.cgi/Building

first of all, under the editing host.def file, since i only want the mach64, should it look like this?
Code:
#define XF86CardDrivers mach64
 
#define DriDrivers mach64
after that, when in the step "Complining" i do
Code:
make World >& world.log & tail -f world.log
after this, the last couple of lines come up like this.

Code:
make[5]: Leaving directory `/usr/src/CVS/xc/xc/programs/Xserver/hw/xfree86/drivers'
make[4]: *** [clean] Error 2
make[4]: Leaving directory `/usr/src/CVS/xc/xc/programs/Xserver/hw/xfree86'
make[3]: *** [clean] Error 2
make[3]: Leaving directory `/usr/src/CVS/xc/xc/programs/Xserver'
make[2]: *** [clean] Error 2
make[2]: Leaving directory `/usr/src/CVS/xc/xc/programs'
make[1]: *** [clean] Error 2
make[1]: Leaving directory `/usr/src/CVS/xc/xc'
make: *** [World] Error 2
i followed the instructions from the build webpage, but now i'm stuck on that. anybody know what's going on? how can i fix this? any help is appreciated.
(i'm a newbie)
 
Old 05-04-2004, 12:24 AM   #12
/bin/bash
Senior Member
 
Registered: Jul 2003
Location: Indiana
Distribution: Mandrake Slackware-current QNX4.25
Posts: 1,802

Original Poster
Rep: Reputation: 47
bgrudy
Since you are working in /usr/src directory you would probably need to be root.

rmd5
Check your /dev directory and make sure you have an agpgart device and also a dri/card0 device:
Code:
crw-r-----  1 root root 10, 175 Dec 31  1969 /dev/agpgart

/dev/dri:
total 0
crw-rw-rw-  1 root root 226, 0 May  4 00:00 card0
You can make the devices like this:
mknod /dev/agpgart -m 0640 c 10 175
mknod /dev/dri/card0 -m 0666 c 226 0

When you startx you should have these modules loaded:
savage
agpgart
via_agp
 
Old 05-04-2004, 06:56 AM   #13
janfy_fr
LQ Newbie
 
Registered: May 2004
Location: France, Longpont sur Orge
Distribution: Debian
Posts: 14

Rep: Reputation: 0
Hello,

I'm trying to make DRI operate on my laptop, which features a VIA Apollo Pro 266 chipset (better known as VIA ProSavage DDR). And it's a tough work, for the newbie I am! ;o)
I'm running a debian 2.6.4.

I followed the above instructions (and many others), but I still don't succeed in getting the via_agp module. I've chosen the "VIA chipset support" option in the agpgart menu of menuconfig, compiled the kernel, but it doesn't operate. It seems me I don't have the source for this. Is it possible?

When I'm looking for AGP modules, I get :

When I look the full module list, I can't see any AGP module :
# modprobe -l | grep agp
........
# modprobe -l
/lib/modules/2.6.4/kernel/sound/soundcore.ko
/lib/modules/2.6.4/kernel/sound/drivers/mpu401/snd-mpu401-uart.ko
/lib/modules/2.6.4/kernel/sound/core/snd.ko
/lib/modules/2.6.4/kernel/sound/core/snd-timer.ko
/lib/modules/2.6.4/kernel/sound/core/seq/snd-seq.ko
/lib/modules/2.6.4/kernel/sound/core/seq/oss/snd-seq-oss.ko
/lib/modules/2.6.4/kernel/sound/core/seq/snd-seq-midi.ko
/lib/modules/2.6.4/kernel/sound/core/seq/snd-seq-midi-event.ko
/lib/modules/2.6.4/kernel/sound/core/seq/snd-seq-dummy.ko
/lib/modules/2.6.4/kernel/sound/core/seq/snd-seq-device.ko
/lib/modules/2.6.4/kernel/sound/core/snd-rtctimer.ko
/lib/modules/2.6.4/kernel/sound/core/snd-rawmidi.ko
/lib/modules/2.6.4/kernel/sound/core/snd-pcm.ko
/lib/modules/2.6.4/kernel/sound/core/snd-page-alloc.ko
/lib/modules/2.6.4/kernel/sound/core/oss/snd-pcm-oss.ko
/lib/modules/2.6.4/kernel/sound/core/oss/snd-mixer-oss.ko
/lib/modules/2.6.4/kernel/sound/pci/snd-via82xx.ko
/lib/modules/2.6.4/kernel/sound/pci/ac97/snd-ac97-codec.ko
/lib/modules/2.6.4/kernel/fs/vfat/vfat.ko
/lib/modules/2.6.4/kernel/fs/udf/udf.ko
/lib/modules/2.6.4/kernel/fs/smbfs/smbfs.ko
/lib/modules/2.6.4/kernel/fs/ntfs/ntfs.ko
/lib/modules/2.6.4/kernel/fs/nls/nls_utf8.ko
/lib/modules/2.6.4/kernel/fs/nls/nls_iso8859-15.ko
/lib/modules/2.6.4/kernel/fs/nls/nls_iso8859-1.ko
/lib/modules/2.6.4/kernel/fs/nls/nls_cp850.ko
/lib/modules/2.6.4/kernel/fs/nls/nls_cp437.ko
/lib/modules/2.6.4/kernel/fs/nfsd/nfsd.ko
/lib/modules/2.6.4/kernel/fs/nfs/nfs.ko
/lib/modules/2.6.4/kernel/fs/msdos/msdos.ko
/lib/modules/2.6.4/kernel/fs/lockd/lockd.ko
/lib/modules/2.6.4/kernel/fs/isofs/isofs.ko
/lib/modules/2.6.4/kernel/fs/fat/fat.ko
/lib/modules/2.6.4/kernel/fs/exportfs/exportfs.ko
/lib/modules/2.6.4/kernel/lib/zlib_inflate/zlib_inflate.ko
/lib/modules/2.6.4/kernel/lib/zlib_deflate/zlib_deflate.ko
/lib/modules/2.6.4/kernel/lib/crc32.ko
/lib/modules/2.6.4/kernel/net/sunrpc/sunrpc.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/iptable_nat.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/iptable_filter.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_ttl.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_tos.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_tcpmss.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_state.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_recent.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_pkttype.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_owner.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_multiport.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_mark.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_mac.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_limit.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_length.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_iprange.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_helper.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_esp.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_ecn.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_dscp.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_conntrack.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_ah.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_ULOG.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_TCPMSS.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_REJECT.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_REDIRECT.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_NETMAP.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_MASQUERADE.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ipt_LOG.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ip_tables.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ip_nat_irc.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ip_nat_ftp.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ip_conntrack_irc.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ip_conntrack_ftp.ko
/lib/modules/2.6.4/kernel/net/ipv4/netfilter/ip_conntrack.ko
/lib/modules/2.6.4/kernel/net/bridge/bridge.ko
/lib/modules/2.6.4/kernel/net/atm/pppoatm.ko
/lib/modules/2.6.4/kernel/net/atm/br2684.ko
/lib/modules/2.6.4/kernel/net/atm/atm.ko
/lib/modules/2.6.4/kernel/arch/i386/kernel/msr.ko
/lib/modules/2.6.4/kernel/arch/i386/kernel/microcode.ko
/lib/modules/2.6.4/kernel/arch/i386/kernel/cpuid.ko
/lib/modules/2.6.4/kernel/arch/i386/kernel/apm.ko
/lib/modules/2.6.4/kernel/crypto/twofish.ko
/lib/modules/2.6.4/kernel/crypto/sha512.ko
/lib/modules/2.6.4/kernel/crypto/sha256.ko
/lib/modules/2.6.4/kernel/crypto/sha1.ko
/lib/modules/2.6.4/kernel/crypto/serpent.ko
/lib/modules/2.6.4/kernel/crypto/md5.ko
/lib/modules/2.6.4/kernel/crypto/md4.ko
/lib/modules/2.6.4/kernel/crypto/des.ko
/lib/modules/2.6.4/kernel/crypto/deflate.ko
/lib/modules/2.6.4/kernel/crypto/crypto_null.ko
/lib/modules/2.6.4/kernel/crypto/cast6.ko
/lib/modules/2.6.4/kernel/crypto/cast5.ko
/lib/modules/2.6.4/kernel/crypto/blowfish.ko
/lib/modules/2.6.4/kernel/crypto/arc4.ko
/lib/modules/2.6.4/kernel/crypto/aes.ko
/lib/modules/2.6.4/kernel/drivers/media/video/videodev.ko
/lib/modules/2.6.4/kernel/drivers/media/video/v4l2-common.ko
/lib/modules/2.6.4/kernel/drivers/media/video/v4l1-compat.ko
/lib/modules/2.6.4/kernel/drivers/scsi/sr_mod.ko
/lib/modules/2.6.4/kernel/drivers/scsi/sg.ko
/lib/modules/2.6.4/kernel/drivers/scsi/sd_mod.ko
/lib/modules/2.6.4/kernel/drivers/scsi/scsi_mod.ko
/lib/modules/2.6.4/kernel/drivers/parport/parport_pc.ko
/lib/modules/2.6.4/kernel/drivers/parport/parport.ko
/lib/modules/2.6.4/kernel/drivers/char/rtc.ko
/lib/modules/2.6.4/kernel/drivers/char/nvram.ko
/lib/modules/2.6.4/kernel/drivers/char/n_hdlc.ko
/lib/modules/2.6.4/kernel/drivers/char/lp.ko
/lib/modules/2.6.4/kernel/drivers/input/joydev.ko
/lib/modules/2.6.4/kernel/drivers/ide/ide-cd.ko
/lib/modules/2.6.4/kernel/drivers/block/loop.ko
/lib/modules/2.6.4/kernel/drivers/block/floppy.ko
/lib/modules/2.6.4/kernel/drivers/usb/net/usbnet.ko
/lib/modules/2.6.4/kernel/drivers/usb/core/usbcore.ko
/lib/modules/2.6.4/kernel/drivers/usb/storage/usb-storage.ko
/lib/modules/2.6.4/kernel/drivers/usb/input/hid.ko
/lib/modules/2.6.4/kernel/drivers/usb/host/uhci-hcd.ko
/lib/modules/2.6.4/kernel/drivers/usb/host/ohci-hcd.ko
/lib/modules/2.6.4/kernel/drivers/usb/host/ehci-hcd.ko
/lib/modules/2.6.4/kernel/drivers/pcmcia/yenta_socket.ko
/lib/modules/2.6.4/kernel/drivers/pcmcia/pcmcia_core.ko
/lib/modules/2.6.4/kernel/drivers/pcmcia/ds.ko
/lib/modules/2.6.4/kernel/drivers/cdrom/cdrom.ko
/lib/modules/2.6.4/kernel/drivers/net/via-rhine.ko
/lib/modules/2.6.4/kernel/drivers/net/slhc.ko
/lib/modules/2.6.4/kernel/drivers/net/pppox.ko
/lib/modules/2.6.4/kernel/drivers/net/pppoe.ko
/lib/modules/2.6.4/kernel/drivers/net/ppp_synctty.ko
/lib/modules/2.6.4/kernel/drivers/net/ppp_generic.ko
/lib/modules/2.6.4/kernel/drivers/net/ppp_deflate.ko
/lib/modules/2.6.4/kernel/drivers/net/ppp_async.ko
/lib/modules/2.6.4/kernel/drivers/net/mii.ko
/lib/modules/2.6.4/kernel/drivers/net/bsd_comp.ko
/lib/modules/2.6.4/kernel/drivers/serial/serial_core.ko
/lib/modules/2.6.4/kernel/drivers/serial/8250_pci.ko
/lib/modules/2.6.4/kernel/drivers/serial/8250.ko

At boot time, AGPGART seems to load correctly :
#dmesg | grep agp
Linux agpgart interface v0.100 (c) Dave Jones
agpgart: Detected VIA Apollo Pro266 chipset
agpgart: Maximum main memory to use for agp memory: 176M
agpgart: AGP aperture is 64M @ 0xa0000000

But via_agp module is not found....
# modprobe agpgart
FATAL: Module via_agp not found.

The following lines surprise me a lot:
# more /boot/config | grep AGP
CONFIG_AGP=y
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_ATI is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD64 is not set
CONFIG_AGP_INTEL=y
# CONFIG_AGP_NVIDIA is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_SWORKS is not set
# CONFIG_AGP_VIA is not set
# CONFIG_AGP_EFFICEON is not set
Why do I get this, since I coched "VIA chipset support", ans not "Intel chipset support" before I compiled the Linux kernel?

The /dev/dri/card0 didn't exist, I created it as shown above.

/etc/modules file doesn't contain anything.

The only AGP line in modules.conf is the following :
# more modules.conf | grep agp
alias char-major-10-175 agpgart

I put the following line in modprobe.conf :
# more modprobe.conf
include /lib/modules/modprobe.conf
alias agpgart via-agp

...... and in modprobe.preload :
# more modprobe.preload
via-agp

How can I check easily if savage, DRM, agpgart and via_agp modules are correctly loaded. How can I make them load? Any help will be appreciated. Thanks.
 
Old 05-04-2004, 02:32 PM   #14
janfy_fr
LQ Newbie
 
Registered: May 2004
Location: France, Longpont sur Orge
Distribution: Debian
Posts: 14

Rep: Reputation: 0
Further informations to better understand my problem (sorry for the length) :

~$ lspci
0000:00:00.0 Host bridge: VIA Technologies, Inc. P/KN266 Host Bridge
0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8633 [Apollo Pro266 AGP]
0000:00:09.0 CardBus bridge: ENE Technology Inc CB1410 Cardbus Controller
0000:00:0b.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80)
0000:00:10.0 USB Controller: VIA Technologies, Inc. VT6202 [USB 2.0 controller] (rev 80)
0000:00:10.1 USB Controller: VIA Technologies, Inc. VT6202 [USB 2.0 controller] (rev 80)
0000:00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82)
0000:00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge
0000:00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C/VT8235 PIPC Bus Master IDE (rev 06)
0000:00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50)
0000:00:11.6 Communication controller: VIA Technologies, Inc. Intel 537 [AC97 Modem] (rev 80)
0000:00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 74)
0000:01:00.0 VGA compatible controller: S3 Inc. VT8375 [ProSavage8 KM266/KL266]

~$ lsmod
Module Size Used by
ds 16004 2
apm 18092 2
via_rhine 21256 0
mii 5056 1 via_rhine
crc32 4352 1 via_rhine
hid 24960 0
snd_via82xx 25280 2
snd_pcm 99940 2 snd_via82xx
snd_timer 25860 1 snd_pcm
snd_ac97_codec 62724 1 snd_via82xx
snd_page_alloc 12164 2 snd_via82xx,snd_pcm
snd_mpu401_uart 7872 1 snd_via82xx
snd_rawmidi 25120 1 snd_mpu401_uart
snd_seq_device 8136 1 snd_rawmidi
snd 55012 10 snd_via82xx,snd_pcm,snd_timer,snd_ac97_codec,snd_mpu401_uart,snd_rawmidi,snd_seq_device
soundcore 9888 1 snd
ehci_hcd 26564 0
uhci_hcd 32400 0
usbcore 105180 5 hid,ehci_hcd,uhci_hcd
yenta_socket 17152 0
pcmcia_core 70624 2 ds,yenta_socket
joydev 9920 0
rtc 12664 0

~$ cat /var/log/XFree86.0.logXFree86 Version 4.3.99.12 (DRI trunk)
Release Date: 10 September 2003
X Protocol Version 11, Revision 0, Release 6.6
Build Operating System: Linux 2.6.4 i686 [ELF]
Current Operating System: Linux medion 2.6.4 #2 Tue May 4 16:00:13 CEST 2004 i686
Build Date: 02 May 2004
Changelog Date: 10 September 2003
Before reporting problems, check http://www.XFree86.Org/
to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/XFree86.0.log", Time: Tue May 4 20:50:29 2004
(==) Using config file: "/etc/X11/XF86Config-4"
(==) ServerLayout "Default Layout"
(**) |-->Screen "Default Screen" (0)
(**) | |-->Monitor "LCD Monitor"
(**) | |-->Device "S3 ProSavage DDR-K"
(**) |-->Input Device "Generic Keyboard"
(**) Option "XkbRules" "xfree86"
(**) XKB: rules: "xfree86"
(**) Option "XkbModel" "pc105"
(**) XKB: model: "pc105"
(**) Option "XkbLayout" "fr"
(**) XKB: layout: "fr"
(==) Keyboard: CustomKeycode disabled
(**) |-->Input Device "Configured Mouse"
...........................
(II) Loading /usr/X11R6/lib/modules/extensions/libGLcore.a
(II) Module GLcore: vendor="The XFree86 Project"
compiled for 4.3.99.12, module version = 1.0.0
ABI class: XFree86 Server Extension, version 0.2
(II) LoadModule: "bitmap"
(II) Reloading /usr/X11R6/lib/modules/fonts/libbitmap.a
(II) Loading font Bitmap
(II) LoadModule: "dbe"
(II) Loading /usr/X11R6/lib/modules/extensions/libdbe.a
(II) Module dbe: vendor="The XFree86 Project"
compiled for 4.3.99.12, module version = 1.0.0
Module class: XFree86 Server Extension
ABI class: XFree86 Server Extension, version 0.2
(II) Loading extension DOUBLE-BUFFER
(II) LoadModule: "ddc"
(II) Loading /usr/X11R6/lib/modules/libddc.a
(II) Module ddc: vendor="The XFree86 Project"
compiled for 4.3.99.12, module version = 1.0.0
ABI class: XFree86 Video Driver, version 0.7
(II) LoadModule: "dri"
(II) Loading /usr/X11R6/lib/modules/extensions/libdri.a
(II) Module dri: vendor="The XFree86 Project"
compiled for 4.3.99.12, module version = 1.0.0
ABI class: XFree86 Server Extension, version 0.2
(II) Loading sub module "drm"
(II) LoadModule: "drm"
(II) Loading /usr/X11R6/lib/modules/linux/libdrm.a
(II) Module drm: vendor="The XFree86 Project"
compiled for 4.3.99.12, module version = 1.0.0
ABI class: XFree86 Server Extension(II) LoadModule: "glx"
(II) Loading /usr/X11R6/lib/modules/extensions/libglx.a
(II) Module glx: vendor="The XFree86 Project"
compiled for 4.3.99.12, module version = 1.0.0
ABI class: XFree86 Server Extension, version 0.2
(II) Loading sub module "GLcore"
(II) LoadModule: "GLcore"
(II) Reloading /usr/X11R6/lib/modules/extensions/libGLcore.a
(II) Loading extension GLX, version 0.2
(II) Loading extension XFree86-DRI
.................................
(II) LoadModule: "savage"
(II) Loading /usr/X11R6/lib/modules/drivers/savage_drv.o
(II) Module savage: vendor="The XFree86 Project"
compiled for 4.3.99.12, module version = 1.1.27
Module class: XFree86 Video Driver
ABI class: XFree86 Video Driver, version 0.7
.......................
(II) Setting vga for screen 0.
(II) Loading sub module "vgahw"
(II) LoadModule: "vgahw"
(II) Loading /usr/X11R6/lib/modules/libvgahw.a
(II) Module vgahw: vendor="The XFree86 Project"
compiled for 4.3.99.12, module version = 0.1.0
ABI class: XFree86 Video Driver, version 0.7
(**) SAVAGE(0): Depth 16, (--) framebuffer bpp 16
(==) SAVAGE(0): RGB weight 565
(==) SAVAGE(0): Default visual is TrueColor
(II) SAVAGE(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0000
(==) SAVAGE(0): Using AGP 1x mode
(II) SAVAGE(0): Using 16 MB AGP aperture
(==) SAVAGE(0): Using HW cursor
..............................(II) Reloading /usr/X11R6/lib/modules/libvbe.a
(II) SAVAGE(0): VESA BIOS detected
(II) SAVAGE(0): VESA VBE Version 3.0
(II) SAVAGE(0): VESA VBE Total Mem: 31680 kB
(II) SAVAGE(0): VESA VBE OEM: S3 Graphics ProSavage DDR Family BIOS
(II) SAVAGE(0): VESA VBE OEM Software Rev: 2.0
(II) SAVAGE(0): VESA VBE OEM Vendor: S3 Garphics Incorporated.
(II) SAVAGE(0): VESA VBE OEM Product: VBE 3.0
(II) SAVAGE(0): VESA VBE OEM Product Rev: Rev 0.0
(--) SAVAGE(0): Chip: id 8d04, "ProSavage DDR-K"
(--) SAVAGE(0): Engine: "ProSavageDDR"
(--) SAVAGE(0): mapping MMIO @ 0xe0000000 with size 0x80000
(==) SAVAGE(0): Using gamma correction (1.0, 1.0, 1.0)
(--) SAVAGE(0): probed videoram: 32768k
........................................
(II) SAVAGE(0): VESA VBE Total Mem: 31680 kB
(II) SAVAGE(0): VESA VBE OEM: S3 Graphics ProSavage DDR Family BIOS
(II) SAVAGE(0): VESA VBE OEM Software Rev: 2.0
(II) SAVAGE(0): VESA VBE OEM Vendor: S3 Garphics Incorporated.
(II) SAVAGE(0): VESA VBE OEM Product: VBE 3.0
(II) SAVAGE(0): VESA VBE OEM Product Rev: Rev 0.0
(--) SAVAGE(0): mapping framebuffer @ 0x90000000 with size 0x2000000
(==) SAVAGE(0): Write-combining range (0x90000000,0x2000000)
(II) SAVAGE(0): Splitting WC range: base: 0x92000000, size: 0x5000000
(II) SAVAGE(0): Splitting WC range: base: 0x94000000, size: 0x3000000
(==) SAVAGE(0): Write-combining range (0x96000000,0x1000000)
(==) SAVAGE(0): Write-combining range (0x94000000,0x3000000)
(==) SAVAGE(0): Write-combining range (0x92000000,0x5000000)
(II) SAVAGE(0): map aperture:0x423a9000
(--) SAVAGE(0): Chose mode 117 at 75Hz.
(II) SAVAGE(0): 4740 kB of Videoram needed for 3D; 32768 kB of Videoram available
(II) SAVAGE(0): Sufficient Videoram available for 3D
(II) SAVAGE(0): [drm] bpp: 16 depth: 16
(II) SAVAGE(0): [drm] Sarea 2200+872: 3072
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
[drm] failed to load kernel module "savage"
(II) SAVAGE(0): [drm] drmOpen failed
(EE) SAVAGE(0): [drm] DRIScreenInit failed. Disabling DRI.
(EE) SAVAGE(0): DRI isn't enabled
(II) SAVAGE(0): Using 1280 lines for offscreen memory.
(II) SAVAGE(0): Using XFree86 Acceleration Architecture (XAA)
....................
(==) SAVAGE(0): Backing store disabled
(**) Option "dpms"
(**) SAVAGE(0): DPMS enabled
(EE) SAVAGE(0): Direct rendering disabled
(==) RandR enabled
.......................

Thanks for your help.
 
Old 05-04-2004, 03:48 PM   #15
/bin/bash
Senior Member
 
Registered: Jul 2003
Location: Indiana
Distribution: Mandrake Slackware-current QNX4.25
Posts: 1,802

Original Poster
Rep: Reputation: 47
janfy_fr

Try this:
Code:
modinfo via_agp
license:        GPL and additional rights
author:         Dave Jones <davej@codemonkey.org.uk>
vermagic:       2.6.5 PENTIUM4 gcc-3.3
depends:        agpgart
alias:          pci:v00001106d*sv*sd*bc06sc00i00*
Actually I think maybe the /dev/dri/card0 is created on-the-fly by the dri module when you run startx. But you should make the /dev/agpgart device if it doesn't exist.

Are you using devfs or udev?

I ended up changing to udev and that fixed my Mandrake 10 problem.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
libGL is out of sync with DRI - no direct rendering ATI m9 cor67393 Slackware 5 08-21-2005 12:13 PM
Can't get DRI enabled with Savage/IX-MV Arttu Linux - Software 14 02-09-2005 02:36 AM
DRI not working on Savage Trurl Linux - Hardware 2 01-24-2005 09:22 PM
Question about DRI for S3 savage (twister) blubz Linux - Hardware 1 11-19-2004 10:20 AM
XFree86 DRI : glxinfo -> Direct rendering : No Muzzy Linux - Hardware 20 05-24-2004 07:03 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 06:44 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration