And here are the gst-launch commands I tried, with the warnings each one gave:
nvidia@nvidia-desktop:~$ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=GAY8, width=2560, height=800 ! videoconvert ! xvimagesink
WARNING: erroneous pipeline: could not link v4l2src0 to videoconvert0, neither element can handle caps video/x-raw, format=(string)GAY8, width=(int)2560, height=(int)800
nvidia@nvidia-desktop:~$ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=GAY8, width=2560, height=800 ! videoconvert ! xvimagesink
WARNING: erroneous pipeline: could not link v4l2src0 to videoconvert0, neither element can handle caps video/x-raw, format=(string)GAY8, width=(int)2560, height=(int)800
nvidia@nvidia-desktop:~$ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=GAY8, width=2560, height=800 ! videoconvert ! glvimagesink
WARNING: erroneous pipeline: no element “glvimagesink”
nvidia@nvidia-desktop:~$ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=GAY8, width=2560, height=800 ! videoconvert ! glimagesink
WARNING: erroneous pipeline: could not link v4l2src0 to videoconvert0, neither element can handle caps video/x-raw, format=(string)GAY8, width=(int)2560, height=(int)800
nvidia@nvidia-desktop:~$ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=GAY8, width=2560, height=800 ! videoconvert ! d3dvideosink
WARNING: erroneous pipeline: no element “d3dvideosink”
nvidia@nvidia-desktop:~$ ls /dev/video0
/dev/video0
nvidia@nvidia-desktop:~$ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=Y16, width=1280, height=720 ! videoconvert ! xvimagesink
WARNING: erroneous pipeline: could not link v4l2src0 to videoconvert0, neither element can handle caps video/x-raw, format=(string)Y16, width=(int)1280, height=(int)720
nvidia@nvidia-desktop:~$ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=Y16, width=1920, height=1080 ! videoconvert ! xvimagesink
WARNING: erroneous pipeline: could not link v4l2src0 to videoconvert0, neither element can handle caps video/x-raw, format=(string)Y16, width=(int)1920, height=(int)1080
nvidia@nvidia-desktop:~$ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=Y16, width=1280, height=720 ! videoconvert ! ximagesink
WARNING: erroneous pipeline: could not link v4l2src0 to videoconvert0, neither element can handle caps video/x-raw, format=(string)Y16, width=(int)1280, height=(int)720
nvidia@nvidia-desktop:~$ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=Y16, width=1280, height=720 ! videoconvert ! GLimagesink
WARNING: erroneous pipeline: no element “GLimagesink”
nvidia@nvidia-desktop:~$ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=Y16, width=1280, height=720 ! videoconvert ! glimagesink
WARNING: erroneous pipeline: could not link v4l2src0 to videoconvert0, neither element can handle caps video/x-raw, format=(string)Y16, width=(int)1280, height=(int)720
nvidia@nvidia-desktop:~$ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=BA10, width=1280, height=720 ! videoconvert ! xvimagesink
WARNING: erroneous pipeline: could not link v4l2src0 to videoconvert0, neither element can handle caps video/x-raw, format=(string)BA10, width=(int)1280, height=(int)720
Basically, I tried gst-launch-1.0 pipelines with GAY8, Y16, and BA10 using xvimagesink, glvimagesink, glimagesink, d3dvideosink, ximagesink, and GLimagesink as sinks. Every single one failed with either a link error or a missing element. And ls /dev/video0 confirms the device is there.