Nightly doesn't work on PinePhone
Steps 0. Tested on OG PP with patched 6.8-rc4 with front camera support and 6.6 kernel on mobian with only back camera support.
- Run
flatpak run org.gnome.Snapshot.Devel
- Front and Back cameras on OG PP are detected. I can switch between them, but viewfinder is black and taking pictures doesn't work.
Run logs (Click to expand)
mobian@mobian:~$ flatpak run org.gnome.Snapshot.Devel
2024-02-22T19:10:44.103524Z INFO snapshot::application::imp: Snapshot (org.gnome.Snapshot.Devel)
2024-02-22T19:10:44.103991Z INFO snapshot::application::imp: Version: 46-1d0c93e (Devel)
2024-02-22T19:10:44.104109Z INFO snapshot::application::imp: Datadir: /app/share/snapshot
2024-02-22T19:10:44.104229Z DEBUG snapshot::application::imp: Application::startup
2024-02-22T19:10:45.716845Z DEBUG snapshot::application::imp: Application::activate
2024-02-22T19:10:46.327023Z DEBUG aperture::viewfinder::imp: Setup recording
Gsk-Message: 22:10:46.786: Failed to realize renderer of type 'GskNglRenderer' for surface 'GdkWaylandToplevel': OpenGL ES 3.0 is not supported by this renderer.
2024-02-22T19:10:47.721339Z DEBUG snapshot::widgets::gallery: Done loading 26 pictures
2024-02-22T19:10:47.726460Z DEBUG snapshot::widgets::gallery: Done loading 2 videos
2024-02-22T19:10:48.322825Z DEBUG aperture::device_provider: Starting device provider with file descriptor: 39
2024-02-22T19:10:48.396182Z DEBUG aperture::device_provider: Camera found: Built-in Back Camera, target-object: Some(53)
Properties {
"node.nick": (gchararray) "ov5640",
"factory.id": (gchararray) "10",
"priority.session": (gchararray) "1000",
"object.path": (gchararray) "libcamera:/base/i2c-csi/rear-camera@4c",
"api.libcamera.location": (gchararray) "back",
"device.product.name": (gchararray) "ov5640",
"media.role": (gchararray) "Camera",
"device.devids": (gchararray) "20738 ",
"media.class": (gchararray) "Video/Source",
"api.libcamera.path": (gchararray) "/base/i2c-csi/rear-camera@4c",
"client.id": (gchararray) "33",
"node.driver": (gchararray) "true",
"device.id": (gchararray) "47",
"node.description": (gchararray) "Built-in Back Camera",
"node.name": (gchararray) "libcamera_input._base_i2c-csi_rear-camera_4c",
"node.pause-on-idle": (gchararray) "false",
"clock.quantum-limit": (gchararray) "8192",
"object.id": (gchararray) "53",
"device.api": (gchararray) "libcamera",
"device.name": (gchararray) "libcamera_device./base/i2c-csi/rear-camera@4c",
"factory.name": (gchararray) "api.libcamera.source",
"device.description": (gchararray) "ov5640",
"object.serial": (gchararray) "53",
}
2024-02-22T19:10:48.399047Z DEBUG aperture::device_provider: Camera found: Built-in Front Camera, target-object: Some(51)
Properties {
"node.description": (gchararray) "Built-in Front Camera",
"device.devids": (gchararray) "20738 ",
"node.pause-on-idle": (gchararray) "false",
"object.id": (gchararray) "51",
"client.id": (gchararray) "33",
"media.class": (gchararray) "Video/Source",
"device.description": (gchararray) "gc2145",
"media.role": (gchararray) "Camera",
"api.libcamera.path": (gchararray) "/base/i2c-csi/front-camera@3c",
"object.path": (gchararray) "libcamera:/base/i2c-csi/front-camera@3c",
"priority.session": (gchararray) "1000",
"object.serial": (gchararray) "51",
"node.driver": (gchararray) "true",
"device.id": (gchararray) "46",
"device.product.name": (gchararray) "gc2145",
"factory.id": (gchararray) "10",
"device.api": (gchararray) "libcamera",
"node.name": (gchararray) "libcamera_input._base_i2c-csi_front-camera_3c",
"device.name": (gchararray) "libcamera_device./base/i2c-csi/front-camera@3c",
"node.nick": (gchararray) "gc2145",
"clock.quantum-limit": (gchararray) "8192",
"factory.name": (gchararray) "api.libcamera.source",
"api.libcamera.location": (gchararray) "front",
}
2024-02-22T19:10:48.400724Z DEBUG aperture::device_provider: Camera found: sun6i-csi-capture (V4L2), target-object: Some(323)
Properties {
"api.v4l2.cap.version": (gchararray) "6.8.0",
"api.v4l2.cap.card": (gchararray) "sun6i-csi-capture",
"node.name": (gchararray) "v4l2_input.platform-1cb0000.csi",
"api.v4l2.cap.device-caps": (gchararray) "24200001",
"node.nick": (gchararray) "sun6i-csi-capture",
"node.pause-on-idle": (gchararray) "false",
"api.v4l2.cap.driver": (gchararray) "sun6i-csi",
"device.id": (gchararray) "57",
"media.class": (gchararray) "Video/Source",
"device.devids": (gchararray) "20738",
"node.description": (gchararray) "sun6i-csi-capture (V4L2)",
"api.v4l2.cap.bus_info": (gchararray) "platform:1cb0000.csi",
"object.path": (gchararray) "v4l2:/dev/video2",
"priority.session": (gchararray) "980",
"client.id": (gchararray) "33",
"api.v4l2.cap.capabilities": (gchararray) "a4200001",
"clock.quantum-limit": (gchararray) "8192",
"api.v4l2.path": (gchararray) "/dev/video2",
"factory.id": (gchararray) "10",
"node.driver": (gchararray) "true",
"device.api": (gchararray) "v4l2",
"object.id": (gchararray) "73",
"factory.name": (gchararray) "api.v4l2.source",
"media.role": (gchararray) "Camera",
"object.serial": (gchararray) "323",
}
[ 1048.587965] ov5640 0-004c: ov5640_write_reg: error: reg=3008, val=42
2024-02-22T19:10:49.299204Z DEBUG aperture::viewfinder: Camerabin state succesfully set to PLAYING
2024-02-22T19:10:49.715326Z DEBUG aperture::viewfinder: Camerabin state succesfully set to NULL
2024-02-22T19:10:49.720948Z DEBUG aperture::camera: Found caps: video/x-raw, format=(string)NV21, width=(int)640, height=(int)480, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV21, width=(int)160, height=(int)120, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV21, width=(int)176, height=(int)144, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV21, width=(int)320, height=(int)240, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV21, width=(int)720, height=(int)480, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV21, width=(int)720, height=(int)576, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV21, width=(int)1024, height=(int)768, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV21, width=(int)1280, height=(int)720, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV21, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV21, width=(int)2592, height=(int)1944, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV61, width=(int)640, height=(int)480, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV61, width=(int)160, height=(int)120, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV61, width=(int)176, height=(int)144, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV61, width=(int)320, height=(int)240, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV61, width=(int)720, height=(int)480, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV61, width=(int)720, height=(int)576, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV61, width=(int)1024, height=(int)768, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV61, width=(int)1280, height=(int)720, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV61, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV61, width=(int)2592, height=(int)1944, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)I420, width=(int)640, height=(int)480, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)I420, width=(int)160, height=(int)120, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)I420, width=(int)176, height=(int)144, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)I420, width=(int)320, height=(int)240, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)I420, width=(int)720, height=(int)480, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)I420, width=(int)720, height=(int)576, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)I420, width=(int)1024, height=(int)768, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)I420, width=(int)2592, height=(int)1944, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV12, width=(int)640, height=(int)480, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV12, width=(int)160, height=(int)120, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV12, width=(int)176, height=(int)144, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV12, width=(int)320, height=(int)240, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV12, width=(int)720, height=(int)480, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV12, width=(int)720, height=(int)576, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV12, width=(int)1024, height=(int)768, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV12, width=(int)2592, height=(int)1944, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)YV12, width=(int)640, height=(int)480, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)YV12, width=(int)160, height=(int)120, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)YV12, width=(int)176, height=(int)144, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)YV12, width=(int)320, height=(int)240, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)YV12, width=(int)720, height=(int)480, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)YV12, width=(int)720, height=(int)576, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)YV12, width=(int)1024, height=(int)768, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)YV12, width=(int)1280, height=(int)720, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)YV12, width=(int)2592, height=(int)1944, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)RGB16, width=(int)640, height=(int)480, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)RGB16, width=(int)160, height=(int)120, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)RGB16, width=(int)176, height=(int)144, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)RGB16, width=(int)320, height=(int)240, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)RGB16, width=(int)720, height=(int)480, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)RGB16, width=(int)720, height=(int)576, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)RGB16, width=(int)1024, height=(int)768, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)RGB16, width=(int)1280, height=(int)720, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)RGB16, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)RGB16, width=(int)2592, height=(int)1944, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)Y42B, width=(int)640, height=(int)480, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)Y42B, width=(int)160, height=(int)120, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)Y42B, width=(int)176, height=(int)144, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)Y42B, width=(int)320, height=(int)240, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)Y42B, width=(int)720, height=(int)480, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)Y42B, width=(int)720, height=(int)576, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)Y42B, width=(int)1024, height=(int)768, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)Y42B, width=(int)1280, height=(int)720, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)Y42B, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)Y42B, width=(int)2592, height=(int)1944, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV16, width=(int)640, height=(int)480, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV16, width=(int)160, height=(int)120, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV16, width=(int)176, height=(int)144, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV16, width=(int)320, height=(int)240, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV16, width=(int)720, height=(int)480, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV16, width=(int)720, height=(int)576, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV16, width=(int)1024, height=(int)768, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV16, width=(int)1280, height=(int)720, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV16, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)NV16, width=(int)2592, height=(int)1944, framerate=(fraction)[ 0/1, 30/1 ]; image/jpeg, width=(int)640, height=(int)480, framerate=(fraction)[ 0/1, 30/1 ]; image/jpeg, width=(int)160, height=(int)120, framerate=(fraction)[ 0/1, 30/1 ]; image/jpeg, width=(int)176, height=(int)144, framerate=(fraction)[ 0/1, 30/1 ]; image/jpeg, width=(int)320, height=(int)240, framerate=(fraction)[ 0/1, 30/1 ]; image/jpeg, width=(int)720, height=(int)480, framerate=(fraction)[ 0/1, 30/1 ]; image/jpeg, width=(int)720, height=(int)576, framerate=(fraction)[ 0/1, 30/1 ]; image/jpeg, width=(int)1024, height=(int)768, framerate=(fraction)[ 0/1, 30/1 ]; image/jpeg, width=(int)1280, height=(int)720, framerate=(fraction)[ 0/1, 30/1 ]; image/jpeg, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 30/1 ]; image/jpeg, width=(int)2592, height=(int)1944, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)YUY2, width=(int)160, height=(int)120, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)YUY2, width=(int)176, height=(int)144, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)YUY2, width=(int)320, height=(int)240, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)YUY2, width=(int)720, height=(int)480, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)YUY2, width=(int)720, height=(int)576, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)YUY2, width=(int)1024, height=(int)768, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)YUY2, width=(int)2592, height=(int)1944, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)UYVY, width=(int)640, height=(int)480, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)UYVY, width=(int)160, height=(int)120, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)UYVY, width=(int)176, height=(int)144, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)UYVY, width=(int)320, height=(int)240, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)UYVY, width=(int)720, height=(int)480, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)UYVY, width=(int)720, height=(int)576, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)UYVY, width=(int)1024, height=(int)768, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)720, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 30/1 ]; video/x-raw, format=(string)UYVY, width=(int)2592, height=(int)1944, framerate=(fraction)[ 0/1, 30/1 ]
2024-02-22T19:10:50.910021Z DEBUG aperture::camera: Using caps: video/x-raw, format=(string)NV21, width=(int)1920, height=(int)1080, framerate=(fraction)30/1; video/x-raw, format=(string)NV61, width=(int)1920, height=(int)1080, framerate=(fraction)30/1; video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, framerate=(fraction)30/1; video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, framerate=(fraction)30/1; video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)30/1; video/x-raw, format=(string)RGB16, width=(int)1920, height=(int)1080, framerate=(fraction)30/1; video/x-raw, format=(string)Y42B, width=(int)1920, height=(int)1080, framerate=(fraction)30/1; video/x-raw, format=(string)NV16, width=(int)1920, height=(int)1080, framerate=(fraction)30/1; image/jpeg, width=(int)1920, height=(int)1080, framerate=(fraction)30/1; video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, framerate=(fraction)30/1; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)30/1
2024-02-22T19:10:51.112076Z DEBUG aperture::viewfinder: Camerabin state succesfully set to PLAYING
2024-02-22T19:10:51.112515Z DEBUG snapshot::widgets::camera: Device provider started
On the same device 45.2 flatpak version of Snapshot is working and can take pictures and record videos.
flatpak run org.gnome.Snapshot
Edited by Andrey Skvortsov