BY: chewi DATE: 2006-May-20 06:56 SUBJECT: Help me finish framebuffer driver for 2.4Hello. Some of you may have seen this framebuffer driver. Perhaps you didn't try it though because it's for the ancient kernel 2.2.1.
https://playstation2-linux.com/projects/ps2gsfb
Good news! I have almost managed to bring the driver to kernel 2.4.17! At the moment, it can only display text but with a bit more work, it could do graphics too. This would be fantastic because it would allow us to run graphical stuff without the need for X.
So what needs doing? There's a problem with the mmap function, which is used to draw graphics to the screen. A lot of PS2-specific code was moved around and changed between 2.2 and 2.4 and I have managed to figure all that out. It's the non-PS2 code that's getting the better of me! It seems like the mmap function is writing to the wrong area of memory. Nothing appears on the screen and if you try to display a large image too many times, the system eventually crashes, presumably because it is writing over some important memory.
As you can probably tell, I'm a bit out of my depth in this area. I'm surprised I managed to get this far. If someone could help me complete this, either by fixing it or by providing me with some background info, I'd be ever so grateful. An important link you need to check out is this one.
http://www.scs.ch/~frey/linux/memorymap.html
Code from here is being used for the memory-mapping. Because the patch was originally for 2.2.1, it was the 2.2 code from that page that was being used but I replaced it with the 2.4 code as best I could. To be honest though, I'm not sure what it all means.
And the final link you need is the new patch! The driver can be compiled into the kernel or as a module. Apologies if the code is hard to read. It was a mess of tabs and spaces when I got my hands on it but I've tried to tidy it up a bit.
http://kerami-tek.com/~chewi/ps2gsfb-2.4.17.patch
Oh yeah, I did try to contact the original author but he doesn't seem to be around here anymore. If I don't get much of a response here, I guess I'll head over to ps2dev.org. |