Direct Rendering Infrastructure DRI on VIA\S3 Savage
Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with 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: debian testing/unstable, devuan, raspberrypi OS
Posts: 68
Rep:
I went and compiled the savage drivers like you said, and it compiled without errors. Copied the drivers to /lib/modules/linuxversion/kernel/drivers/char/drm directory and then ran depmod -a. Result was unresolved symbol errors with the drm modules. The new XF86 server was awesome! It made my mouse run like as if I was running 2.6............., gee whiz fast! Glinfo shows dri as not enabled. How do I sort out the unresolved symbols? Oh and btw, I found the same drm driver in the kernel source and then edited the config.in file to enable me to choose to compile the savage drm driver into the kernel or as a module and then recompiled a new kernel, inserted kernel, rebooted, and then tried to insert the savage module with the same unresolved symbols errors. Grrrrrr, I've been wanting to get the 3d thing going for a long while, and this is frustrating to say the least.
$ cat /proc/dri/0/name
savage 0xe200 pci:0000:01:00.0
$ glxinfo | more
name of display: :0.0
display: :0 screen: 0
direct rendering: No
server glx vendor string: Brian Paul
server glx version string: 1.4 Mesa 5.0
I don't know how to check if it is the latest version or not, but I downloaded it via CVS two weeks ago...
There is another VIA\S3 DRI HOWTO here. The sections on setting up the XF86Config-4 file is a little different. He has you put load "GLcore", and the Device section is more detailed also.
I rebooted and after starting x glxinfo reported direct rendering was enabled, and glxgears was showing better then double the speed I was getting before.
Here is a quicker method I discovered. I used this method when I installed Suse-9.1, but it should work for most distros. The default Suse kernel doesn't have DRI turned on so I had to build a new kernel and enable DRI. Even though there is no S3/VIA option in the kernel config you still must turn on DRI in the kernel (it's below /dev/agpgart in the Device drivers/Character devices section.) I did not stress this point in my first post and this may be causing some people some problems. So as long as you have your kernel sources properly installed(see post #1) and you enabled DRI in the kernel you should be OK. This should also work on other Graphics cards besides the S3/VIA Savage.
Un-pack both packages in the same directory, this will create a directory dripkg with all the necessary files. tar xjvf common-20040628-linux.i386.tar.bz2
tar xjvf savage-20040628-linux.i386.tar.bz2
Go into dripkg directory and run the script install.sh. NOTE: You must be root to run the script. cd dripkg
sudo ./install.sh
If you had no errors in the above step then proceed, otherwise you need to find out what the problem is.
Now verify you have your /etc/X11/XF86Config file setup as mentioned in the first post.
Check that the agpgart and via_agp modules are loaded. If not you may need to edit /etc/modprobe.conf.
If you are in X then exit and restart and you should have DRI running.
I have used this method several times since I discovered it. It saves me a lot of time and the snapshots are kept up-to-date so you always get the latest updates to the DRI tree.
Once again I hope this helps someone.
[EDIT] According to azeemarif you should un-tar the common package first then the savage package. Also if you have an older XFree-server you will need to build or get a newer version.
You should also check out the DRI Open Source Project Documentation. They will have the latest information.
Because you are using a snapshot of the savage dri sources there may be bugs which make them fail. If you have problems try downloading an older snapshot or a newer one as they come out.
I know this is kinda an old thread, but I found it pretty helpful. However I am not able to get it installed and running properly. I have tried 3 different methods and none have worked. When I try the one from the first post, and also the method posted at http://www.linux-sxs.org/guis/DRIS3.html I get the following error:
accessx.c:532: error: `XtNstate' undeclared (first use in this function)
accessx.c:532: warning: left-hand operand of comma expression has no effect
make[6]: *** [accessx.o] Error 1
Then when I try the method in the last post (which is much faster), I get this error:
Compiling...
ERROR: Kernel modules did not compile
The DRI drivers can not be installed without the latest kernel modules.
Installation will be aborted. See the dri.log file for information on
what went wrong.
I just upgraded to kernel 2.6.7, so it should be ok. Any help would be greatly appreciated.
Did you enable enable DRI in your 2.6.7 kernel? I know there is no S3/VIA dri module in the kernel but it seems you still need to turn that option on.
Try this:
Code:
$ grep DRM /usr/src/linux/.config
CONFIG_DRM=y
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_GAMMA is not set
# CONFIG_DRM_R128 is not set
# CONFIG_DRM_RADEON is not set
# CONFIG_DRM_MGA is not set
# CONFIG_DRM_SIS is not set
If that doesn't help check your dri.log file, and post it here if you think it will help.
Yeah, its compiled into the kernel
CONFIG_DRM=y
CONFIG_DRM_TDFX=m
CONFIG_DRM_GAMMA=m
CONFIG_DRM_R128=m
CONFIG_DRM_RADEON=m
CONFIG_DRM_I810=m
CONFIG_DRM_I830=m
CONFIG_DRM_MGA=m
CONFIG_DRM_SIS=m
This is all that is in the DRI log
shep@debian-shep:~/dripkg$ cat dri.log
cc -o .o
cc: no input files
make: *** [.o] Error 1
Also, when I tried what janfy_fr suggested, it killed my x windows all together. I had to reinstall it. something about a mismatch version of ABI or something like that.
Humm.. It looks like maybe your snapshot was corrupted. The savage.bz2 file should be about 1.9M and the common.bz2 file is 1.08M. You should create 5 subdirectories and 4 files in the dripkg directory. Maybe you should try starting over.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.