Hello,
We have a theta X (software version 2.71.1 -latest-)
And we have either a laptop (without NVIDIA) on ubuntu 22.04 or a Jetson Orin Nano (Jetpack 6.1) on ubuntu 22.04.
We notice exactly the same output on both.
We followed this guide: Linux Getting Started
as well as this one: USB API and Linux
and finally for the jetson: Setting Up NVIDIA Jetson Nano with RICOH THETA Z1 and X
We do not observe the same scenario at all when plugging the camera. (No pop-up screen)
We first tried without v4l2 installed.
lsusb
Bus 003 Device 012: ID 05ca:0373 Ricoh Co., Ltd RICOH THETA X
We notice that we have 05ca:0373, not 05ca:2715 (but we have 05ca:2717 on the Jetson Orin nano, after a few tweaks we do not remember the process of)
gphoto2 works well, we can take video etc.
However, we can’t start gstviewer :
./gst_viewer
THETA not found
Since the plan is to use theta X with ros2, we need gst.
The installation process:
libuvc-theta/build$ cmake ..
-- The C compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- No build type selected, default to Release
-- No target type selected, default to both shared and static library
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2")
-- Checking for module 'libusb-1.0'
-- Found libusb-1.0, version 1.0.25
-- libusb-1.0 found using pkgconfig
-- Found JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so (found version "80")
-- Found JPEG library using standard module
CMake Warning (dev) at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to `find_package_handle_standard_args` (JPEG) does
not match the name of the calling package (JpegPkg). This can lead to
problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
cmake/FindJpegPkg.cmake:58 (find_package_handle_standard_args)
CMakeLists.txt:45 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Found JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so
-- Building libuvc with JPEG support.
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: /home/idlab332/test_thetaX/libuvc-theta/build
~/test_thetaX/libuvc-theta/build$ make
[ 4%] Building C object CMakeFiles/uvc.dir/src/ctrl.c.o
[ 9%] Building C object CMakeFiles/uvc.dir/src/ctrl-gen.c.o
[ 13%] Building C object CMakeFiles/uvc.dir/src/device.c.o
[ 18%] Building C object CMakeFiles/uvc.dir/src/diag.c.o
[ 22%] Building C object CMakeFiles/uvc.dir/src/frame.c.o
[ 27%] Building C object CMakeFiles/uvc.dir/src/init.c.o
[ 31%] Building C object CMakeFiles/uvc.dir/src/stream.c.o
[ 36%] Building C object CMakeFiles/uvc.dir/src/misc.c.o
[ 40%] Building C object CMakeFiles/uvc.dir/src/frame-mjpeg.c.o
[ 45%] Linking C shared library libuvc.so
[ 45%] Built target uvc
[ 50%] Building C object CMakeFiles/uvc_static.dir/src/ctrl.c.o
[ 54%] Building C object CMakeFiles/uvc_static.dir/src/ctrl-gen.c.o
[ 59%] Building C object CMakeFiles/uvc_static.dir/src/device.c.o
[ 63%] Building C object CMakeFiles/uvc_static.dir/src/diag.c.o
[ 68%] Building C object CMakeFiles/uvc_static.dir/src/frame.c.o
[ 72%] Building C object CMakeFiles/uvc_static.dir/src/init.c.o
[ 77%] Building C object CMakeFiles/uvc_static.dir/src/stream.c.o
[ 81%] Building C object CMakeFiles/uvc_static.dir/src/misc.c.o
[ 86%] Building C object CMakeFiles/uvc_static.dir/src/frame-mjpeg.c.o
[ 90%] Linking C static library libuvc.a
[ 90%] Built target uvc_static
[ 95%] Building C object CMakeFiles/example.dir/src/example.c.o
/home/idlab332/test_thetaX/libuvc-theta/src/example.c: In function ‘cb’:
/home/idlab332/test_thetaX/libuvc-theta/src/example.c:26:74: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
26 | ame_format, frame->width, frame->height, frame->data_bytes, (int) ptr);
| ^
[100%] Linking C executable example
[100%] Built target example
~/test_thetaX/libuvc-theta/build$ sudo make install
Consolidate compiler generated dependencies of target uvc
[ 45%] Built target uvc
Consolidate compiler generated dependencies of target uvc_static
[ 90%] Built target uvc_static
Consolidate compiler generated dependencies of target example
[100%] Built target example
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/local/lib/libuvc.so.0.0.6
-- Installing: /usr/local/lib/libuvc.so.0
-- Installing: /usr/local/lib/libuvc.so
-- Installing: /usr/local/include/libuvc/libuvc.h
-- Installing: /usr/local/include/libuvc/libuvc_config.h
-- Installing: /usr/local/lib/libuvc.a
-- Up-to-date: /usr/local/include/libuvc/libuvc.h
-- Up-to-date: /usr/local/include/libuvc/libuvc_config.h
-- Installing: /usr/local/lib/cmake/libuvc/libuvcTargets.cmake
-- Installing: /usr/local/lib/cmake/libuvc/libuvcTargets-release.cmake
-- Installing: /usr/local/lib/cmake/libuvc/FindLibUSB.cmake
-- Installing: /usr/local/lib/cmake/libuvc/FindJpegPkg.cmake
-- Installing: /usr/local/lib/cmake/libuvc/libuvcConfigVersion.cmake
-- Installing: /usr/local/lib/pkgconfig/libuvc.pc
-- Installing: /usr/local/lib/cmake/libuvc/libuvcConfig.cmake
~/test_thetaX/libuvc-theta$ find /usr -name "*libuvc*"
/usr/local/include/libuvc
/usr/local/include/libuvc/libuvc.h
/usr/local/include/libuvc/libuvc_config.h
/usr/local/lib/pkgconfig/libuvc.pc
/usr/local/lib/libuvc.so.0.0.6
/usr/local/lib/libuvc.so.0
/usr/local/lib/cmake/libuvc
/usr/local/lib/cmake/libuvc/libuvcTargets.cmake
/usr/local/lib/cmake/libuvc/libuvcTargets-release.cmake
/usr/local/lib/cmake/libuvc/libuvcConfigVersion.cmake
/usr/local/lib/cmake/libuvc/libuvcConfig.cmake
/usr/local/lib/libuvc.so
/usr/local/lib/libuvc.a
~/test_thetaX/libuvc-theta-sample/gst$ make
cc -pthread -I/usr/local/include -I/usr/include/gstreamer-1.0 -I/usr/include/x86_64-linux-gnu -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libusb-1.0 -c -o gst_viewer.o gst_viewer.c
cc -pthread -I/usr/local/include -I/usr/include/gstreamer-1.0 -I/usr/include/x86_64-linux-gnu -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libusb-1.0 -c -o thetauvc.o thetauvc.c
cc gst_viewer.o thetauvc.o -o gst_viewer -L/usr/local/lib -lgstapp-1.0 -lgstbase-1.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0 -luvc -lusb-1.0 -pthread
ln -sf gst_viewer gst_loopback
sudo apt install dsdp
→ to install theta
theta --info
Cannot open file --info !Problem reading file
Note that the settings have been reset, we tried with the camera in camera/video/live modes
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.5 LTS
Release: 22.04
Codename: jammy
installing v4lt2, setting ricoh theta X in live streaming:
v4l2-ctl --list-devices
RICOH THETA X: RICOH THETA X (usb-0000:00:14.0-4): /dev/media1
and ./gst_loopback
THETA not found
What is the issue? I do not see any thread covering this particular problem.
Thanks for your attention,
Best regards