Hi, Please find attached glide3.tar.gz containing glide3-cvs.ebuild This is a CVS ebuild for the glide3 library as used by 3dfx Voodoo and Banshee cards. The currently used glide-v3 ebuild builds from extremely out of date sources, and, IMHO really needs replacing with something a bit more up to date. Glide3 (and swlibs) from CVS is very stable and will take quite a lot of compiler optimisation in my experience, it also offers much enhanced performance over the last official release - extremely useful for games like Quake3 :). This ebuild depends on Xfree and should probably accompany glide-v3 in media-libs. Ron
Created attachment 5086 [details] glide3-cvs.ebuild
1) No glide3.tar.gz is attatched. 2) glide CVS have not changed in a year or more .. check the dates of the files you get from there ... meaning its the same as what we got (except if the cvs repository moved, in which case it will be better if you gave that location.).
1) Apologies for the bad attachment, I followed the "The Contributing Ebuilds Guide" to the letter and did wonder about the fact that I couldn't view/get the attachment properly. 2) I have since checked CVS sources vs gentoo tarballs and you're right they're the same, I have just always built glide manually instead of using the build scripts. I have done some further investigation and have attached two plain text patches. The first "glide-ebuild.patch" is a patch to be applied to glide-v3-3.10-r3.ebuild. This will cause the second attached patch "defaultflags.patch" to be applied, it also sets/unsets the myarch variable. The "defaultflags.patch" patch should be placed in $PORTDIR/media-libs/glide-v3/files/ The "defaultflags.patch", sets the GLIDE_DEBUG_GCFLAGS variable to "-O3 -march=${myarch}" and replaces the hardcoded "GLIDE_DEBUG_GCFLAGS = -O6 -m486" which is the root cause of the appalling performance with the standard ebuild of the glide library.
Created attachment 5249 [details, diff] patches glide-v3-r3.ebuild to use the following atachment
Created attachment 5250 [details, diff] patches swlibs/include/make/makefile.autoconf.bottom to get sane default optimisation
I have one problem with this .... checkout bug #2012. Aparently compiling with different CFLAGS causes it to be very unstable for many users.
Most peculiar, I have no problems passing "-march=pentium3 -O3 -mmmx -msse -mfpmath=sse -pipe -fomit-frame-pointer -funroll-loops -fthread-jumps -fforce-addr -falign-functions=4 -falign-jumps=4 -w -fprefetch-loop-arrays" into the glide build. One thing I did see though when doing "gcc -v -Q -m486 -O6 test.c -o test" (where test.c == Hello World :) gcc 3.2 (can't speak for gcc 2.9x as I no longer have it installed) reports using -march=i386 -mcpu=i486 as part of the optimisations, so maybe that's why *shrugs*. One other thing to consider is that bug #2012 may have something to do with bug #3735 - but that's just a stab in the dark... However, poor performance is better than no performance, so if instability is a major problem things are probably best left alone. Unless of course you wanted to include it as an ACCEPT_KEYWORDS="~x86" build to try to get more feedback.