I don't know what made me do it, but I ripped an OV511 decompressor from v4l-utils grafted it onto fswebcam. The last time I wanted to take a picture, I found that nothing seemed to support OV511, so I gave up on it and used ibmcam. That one, however, requires a kernel patch, because it runs DMA from vmalloc-ed area, or some such. I figured it out then. Now? Meh, don't wanna reboot the laptop to test. I guess I'm not a kernel programmer anymore for real.
BTW, the changelog for fswebcam claims that I contributed something to it back in 2010. Can't remember what exactly. Something to do with ibmcam being V4L1-only.