Hello, I've created a small c program that uses pure v4l2 code to read from a webcam on a uvc driver then copy that data into an SDL overlay. I've posted the code here: http://basementcode.com/serverMain.html and I've attached a log file I created from the output of that program. Overall the program works great except that after a few frames, about 35 (varies each run) in my case, the select() function that is supposed to block until new data from the webcam is available stops working and returns right away. This isn't a huge problem because the following ioctl(fd, VIDIOC_DQBUF, &buf) call simply fails and sets errno to EAGAIN, then my app simply tries again and again until it works. I'd rather select worked for the entire duration of the capture to save cpu time and make sure that I read the frame asap each time. The relevant function in the code I posted above is "mainLoop", however I can't be sure the error is actually in that function. I hope I've posted enough information. Thanks in advance, Chris.