From the above comment, it should be noted that the following gstreamer pipeline works just fine on laptops where cheese doesn't work:
# gst-launch v4l2src name=video_source device=/dev/video0 ! capsfilter name=capsfilter 'caps=video/x-raw-rgb,width=640,height=480,framerate=30/1;video/x-raw-yuv,width=640,height=480,framerate=30/1' ! gconfvideosink
Note how "identity" was changed for "gconfvideosink", which doesn't quite reproduce the problem accurately.
From the above comment, it should be noted that the following gstreamer pipeline works just fine on laptops where cheese doesn't work:
# gst-launch v4l2src name=video_source device=/dev/video0 ! capsfilter name=capsfilter 'caps=video/ x-raw-rgb, width=640, height= 480,framerate= 30/1;video/ x-raw-yuv, width=640, height= 480,framerate= 30/1' ! gconfvideosink
Note how "identity" was changed for "gconfvideosink", which doesn't quite reproduce the problem accurately.