sparrowwallet / sparrow

Desktop Bitcoin Wallet focused on security and privacy. Free and open source.
https://sparrowwallet.com/
Apache License 2.0
1.36k stars 192 forks source link

Camera V3 not working on Raspberry Pi 5 #1521

Open scaljeri opened 1 month ago

scaljeri commented 1 month ago

I have the official PiOS installed (Debian) and connected the camera module V3. I can see the camera in action with

$> rpicam-hello -t 10s

The camera also worked with Firefox (not with Chromium)

Now, when I start Sparrow Wallet and create a new wallet and click "Airgapped Hardware Wallet" -> "Scan" I can see that it tries to open the camera window, but it closes immediately throwing the following error in the terminal:

(Sparrow:17252): Gdk-WARNING **: 16:09:29.706: XSetErrorHandler() called with a GDK error trap pushed. Don't do that. Unable to get frame rate: 25. libv4l2: error turning on stream: Invalid argument 2024-10-19 16:09:42,054 ERROR Failed to start web cam com.github.sarxos.webcam.WebcamException: Cannot execute task at com.github.sarxos.webcam.capture@0.3.13-SNAPSHOT/com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.process(Unknown Source) at com.github.sarxos.webcam.capture@0.3.13-SNAPSHOT/com.github.sarxos.webcam.WebcamProcessor.process(Unknown Source) at com.github.sarxos.webcam.capture@0.3.13-SNAPSHOT/com.github.sarxos.webcam.WebcamTask.process(Unknown Source) at com.github.sarxos.webcam.capture@0.3.13-SNAPSHOT/com.github.sarxos.webcam.ds.cgt.WebcamOpenTask.open(Unknown Source) at com.github.sarxos.webcam.capture@0.3.13-SNAPSHOT/com.github.sarxos.webcam.Webcam.open(Unknown Source) at com.sparrowwallet.sparrow@2.0.0/com.sparrowwallet.sparrow.control.WebcamService$1.call(Unknown Source) at com.sparrowwallet.sparrow@2.0.0/com.sparrowwallet.sparrow.control.WebcamService$1.call(Unknown Source) at javafx.graphics@22/javafx.concurrent.Task$TaskCallable.call(Unknown Source) at java.base/java.util.concurrent.FutureTask.run(Unknown Source) at javafx.graphics@22/javafx.concurrent.Service.lambda$executeTask$6(Unknown Source) at java.base/java.security.AccessController.doPrivileged(Unknown Source) at javafx.graphics@22/javafx.concurrent.Service.lambda$executeTask$7(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source) Caused by: com.github.sarxos.webcam.WebcamException: Cannot start native grabber! at com.sparrowwallet.sparrow@2.0.0/com.sparrowwallet.sparrow.control.WebcamScanDevice.open(Unknown Source) at com.github.sarxos.webcam.capture@0.3.13-SNAPSHOT/com.github.sarxos.webcam.ds.cgt.WebcamOpenTask.handle(Unknown Source) at com.github.sarxos.webcam.capture@0.3.13-SNAPSHOT/com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.run(Unknown Source) ... 3 common frames omitted 2024-10-19 16:09:42,128 ERROR Error importing QR com.github.sarxos.webcam.WebcamException: Cannot execute task at com.github.sarxos.webcam.capture@0.3.13-SNAPSHOT/com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.process(Unknown Source) at com.github.sarxos.webcam.capture@0.3.13-SNAPSHOT/com.github.sarxos.webcam.WebcamProcessor.process(Unknown Source) at com.github.sarxos.webcam.capture@0.3.13-SNAPSHOT/com.github.sarxos.webcam.WebcamTask.process(Unknown Source) at com.github.sarxos.webcam.capture@0.3.13-SNAPSHOT/com.github.sarxos.webcam.ds.cgt.WebcamOpenTask.open(Unknown Source) at com.github.sarxos.webcam.capture@0.3.13-SNAPSHOT/com.github.sarxos.webcam.Webcam.open(Unknown Source) at com.sparrowwallet.sparrow@2.0.0/com.sparrowwallet.sparrow.control.WebcamService$1.call(Unknown Source) at com.sparrowwallet.sparrow@2.0.0/com.sparrowwallet.sparrow.control.WebcamService$1.call(Unknown Source) at javafx.graphics@22/javafx.concurrent.Task$TaskCallable.call(Unknown Source) at java.base/java.util.concurrent.FutureTask.run(Unknown Source) at javafx.graphics@22/javafx.concurrent.Service.lambda$executeTask$6(Unknown Source) at java.base/java.security.AccessController.doPrivileged(Unknown Source) at javafx.graphics@22/javafx.concurrent.Service.lambda$executeTask$7(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source) Caused by: com.github.sarxos.webcam.WebcamException: Cannot start native grabber! at com.sparrowwallet.sparrow@2.0.0/com.sparrowwallet.sparrow.control.WebcamScanDevice.open(Unknown Source) at com.github.sarxos.webcam.capture@0.3.13-SNAPSHOT/com.github.sarxos.webcam.ds.cgt.WebcamOpenTask.handle(Unknown Source) at com.github.sarxos.webcam.capture@0.3.13-SNAPSHOT/com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.run(Unknown Source) ... 3 common frames omitted

I'm using Sparrow 2.0.0. Here are some details of the camera 👍 $>v4l2-ctl --device /dev/video0 --all Driver Info: Driver name : rp1-cfe Card type : rp1-cfe Bus info : platform:1f00128000.csi Driver version : 6.6.51 Capabilities : 0xaca00001 Video Capture Metadata Capture Metadata Output Streaming Extended Pix Format Device Capabilities Device Caps : 0x24a00001 Video Capture Metadata Capture Streaming Extended Pix Format Media Driver Info: Driver name : rp1-cfe Model : rp1-cfe Serial : Bus info : platform:1f00128000.csi Media version : 6.6.51 Hardware revision: 0x00114666 (1132134) Driver version : 6.6.51 Interface Info: ID : 0x03000017 Type : V4L Video Entity Info: ID : 0x00000015 (21) Name : rp1-cfe-csi2_ch0 Function : V4L2 I/O Pad 0x01000016 : 0: Sink, Must Connect Link 0x02000037: from remote pad 0x1000006 of entity 'csi2' (Video Interface Bridge): Data Priority: 2 Video input : 0 (rp1-cfe-csi2_ch0: ok) Format Video Capture: Width/Height : 1280/720 Pixel Format : 'RGB3' (24-bit RGB 8-8-8) Field : None Bytes per Line : 3840 Size Image : 2764800 Colorspace : Default Transfer Function : Default (maps to Rec. 709) YCbCr/HSV Encoding: Default (maps to ITU-R 601) Quantization : Default (maps to Full Range) Flags : Format Metadata Capture: Sample Format : 'SENS' (Sensor Ancillary Metadata) Buffer Size : 16384

Hope someone understands all this data. Any help would be appreciated!

craigraw commented 1 month ago

Have you tried changing the camera resolution? Use the View menu to switch from normal to HD (or vice versa).

scaljeri commented 1 month ago

I just noticed that the pulldown menu's do not work too, I even tried to start the wallet as follows

 $> GDK_DISPLAY=1 ./Sparrow

Source

But that didn't solve it.

craigraw commented 4 weeks ago

I just noticed that the pulldown menu's do not work too

Can you verify which window manager you are using?

scaljeri commented 3 weeks ago

Sure, this is Wayfire (Debian for Raspberry PI 5, Pi Os)

craigraw commented 3 weeks ago

Are you running XWayland? As the issue you linked to above notes, you'll need XWayland to to run Sparrow on Wayland compositors.

scaljeri commented 1 week ago

Yes, it seems I am:

`ps -e | grep Xwayland

3002 ? 00:00:00 Xwayland `