Actually Gerd, I just though of something. Could the v4l2 use shared memory instead of mapped memory (I know that shared memory is mapped, I need the shmid)? I mean, the X system call to map the memory to the server takes (basically) just a shared memory ID from shmget. Could I get an ID from the driver to both get access to the memory and pass to X? That would solve all problems; then you would have control over where that memory came from, and I would not have to do any memcpy's. Then we could use (after memory allocation) the same interfaces you have already set up for v4l2. This seems like a pretty durable solution to me. Come on Gerd, this would rock. I think it would be really sweet. (Oh please, say it can be done...) Chris