Wrestling with NVIDIA (still!)
I have a reasonably-stable situation with nvidia graphics, based on the
"2.4.29-f3" kernel and the nvidia-glx-6111.debs. Sound, however, still
escapes me. I don't see a '.deb" that includes it, and the NFORCE
installer from nVidia fails with the following compile errors:
Performing cc_version_check with CC="cc".
-> running command /bin/grep "^PATCHLEVEL ="
/usr/src/kernel-headers-2.4.29-f3/Makefile | /usr/bin/cut -d " " -f 3
-> Kernel module filename is nvsound.o
Cleaning kernel module build directory.
executing: 'cd ./nvsound/main; make clean'...
rm -f nv*.o *~ core
-> Building kernel module:
executing: 'cd ./nvsound/main; make module
cc -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing
mmon -fomit-frame-pointer -I/lib/modules/2.4.29-f3/build/include -O
rred-stack-boundary=2 -march=i686 -D__KERNEL__ -DMODULE -DLINUX
c -o nvmain.o nvmain.c
In file included from /usr/include/asm/system.h:5,
/usr/include/linux/kernel.h:72: error: parse error before "size_t"
/usr/include/linux/kernel.h:74: error: parse error before "size_t"
And many more following.
The indicated area of "/usr/include/linux/kernel.h" looks like this:
[starting at line#69]
extern int sprintf(char * buf, const char * fmt, ...)
__attribute__ ((format (printf, 2, 3)));
extern int vsprintf(char *buf, const char *, va_list);
extern int snprintf(char * buf, size_t size, const char * fmt, ...)
__attribute__ ((format (printf, 3, 4)));
extern int vsnprintf(char *buf, size_t size, const char *fmt, va_list args);
extern int sscanf(const char *, const char *, ...)
__attribute__ ((format (scanf,2,3)));
extern int vsscanf(const char *, const char *, va_list);
The construct ", ...)" is a new one for me! It was a long while ago I
learned 'C' and that wasn't part of it then.
One thing that seems strange: "/usr/include/linux/" is not a link, thus
it is not version-specific. Should not the build procedure be picking
up its headers from "/usr/src/linux [a symlink]" or
"/usr/src/kernel-headers-$(uname -r)" ? One would expect some version
differences in there! But then, again, I don't know and I want a load
of less sensitive hacking before I muck about in my kernel.
Ideally, there would be a reverse-engineered sound driver to do the job
the way 'forcedeth' does for nvnet. If anyone knows where to find such
a beast, I'd love to hear about it.
David A. Cobb, Software Engineer, Public Access Advocate
"By God's Grace, I am a Christian man; by my actions a great sinner." -- The Way of a Pilgrim: R.French, Tr.
Life is too short to tolerate crappy software!