Click to See Complete Forum and Search --> : Question about codeing video drivers


linuxraver
10-08-2000, 08:28 PM
Hiya

i have a 3dlabs oxygen vx1 vedio card.

in every distro with the exception of storm linux has no support for my card

now i would like to use slackware

my question is where do i go to get started on this long and hard path to code the drivers for slackware while working in storm?

i am a total newbie but also a sponge for info

i am willing to do what it takes to code the drivers. learn what i have to learn and, drink as much jolt cola and black coffie as needed.
i have no programing experience ( my classes in school start this month for it )


please any help and thanx in advance http://www.linuxnewbie.org/ubb/smile.gif

Glaurung
10-09-2000, 03:16 PM
In theory it's "easy"... but veeeeeery complicated. Although I have never written a driver for a device so complicated as a video device...

There's a file in /usr/src/linux/Documentation, I guess it's called kernel-doc.txt or something that has good sources of information.

My best advice would be to get "Linux Device Drivers", by Allesandro Rubini ('O Reilly). (Be sure to get the 2nd edition, not yet out), the kernel docs from the LDP, the technical specs for your video driver and the source code for a few video drivers.

As for the programming, programming in kernel space is really strange since you don't have glibc. The only stuff you can use is mentioned in /proc/ksyms.

The problem with device drivers is that you have to know _a lot_ about other topics as well: interrupts, memory management, concurrency, ...

Before you would start your video driver, get some experience. I started by making the following devices: /dev/null2 (like /dev/null), /dev/vrtstor (allocates virtual memory, gets data from user space, returns data when something happens), and a lot more bogus modules...

I don't know if it's of any use, but there's this linux mag called "linux journal" who has a monthly column on kernel programming (sometimes it's dead boring ("submitting kernel patches") and other times it's very exciting ("Adding your own system calls to the kernel").

Keep an eye on the kernel mailing list and the following newsgroup comp.os.linux.development.system .

[This message has been edited by Glaurung (edited 09 October 2000).]