Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ubuntu 20.04 release #6436

Closed
dheera opened this issue May 21, 2020 · 71 comments
Closed

Ubuntu 20.04 release #6436

dheera opened this issue May 21, 2020 · 71 comments
Labels

Comments

@dheera
Copy link

dheera commented May 21, 2020

Hi,
I was wondering what the timeline will be for a 20.04 release of this driver?

@MartyG-RealSense
Copy link
Collaborator

Hi @dheera Whilst I do not have the information that you are seeking, a check of the public 'Commits' addition list for the next SDK version (probably named 2.35.0) does not indicate a mention of Ubuntu 20.04, suggesting that it will be introduced at an unknown future date after the next version.

v2.34.0...development

@Wallbraker
Copy link

Any update on this?

Since Ubuntu 20.04 uses Python 3.8 #6296 will need to be fixed first.

@MartyG-RealSense
Copy link
Collaborator

@Wallbraker No further news yet about Python 3.8 supporting Pyrealsense2 installation with pip instead of having to build the wrapper manually. Sorry.

@dheera
Copy link
Author

dheera commented Jun 8, 2020

@Wallbraker @MartyG-RealSense Even if we could skip Python 3.8 and support only C++ (and ROS) for now that would be amazingly useful.

@MartyG-RealSense
Copy link
Collaborator

@dheera @Wallbraker I have filed an official feature request with Intel for a pyrealsense2 wheel file for Python 3.8 so that pip install for pyrealsense2 can be used with Python 3.8 instead of compiling the wrapper from source code.

#6296 (comment)

Only a small number of cases have been received so far about using librealsense on Ubuntu 20.04. At least one user has successfully installed it on 20.04 using the backend installation method, with minimal performance issues experienced. This may be the best method to use for 20.04 until official support arrives in the SDK.

#6368 (comment)

So as I do not yet have a date for official 20.04 support to be released, and the backend installation method seems to work with 20.04 in the meantime, I will close this case. Thanks for your inputs!

@vkuehn
Copy link

vkuehn commented Jun 16, 2020

it's sad you have closed it. 20.04 is the latest longtime version it's like supporting window 8 but not 10...

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Jun 16, 2020

@vkuehn I understand your concern, but there is no practical reason to keep it open. I have filed an official feature request with Intel for the creation of a Python 3.8 wheel file, and it is highly likely that the RealSense developer team will add official Ubuntu 20.04 LTS support at a future date.

@caelinsutch
Copy link

caelinsutch commented Jul 1, 2020

What are the full steps for backend installation? After running these commands, what else do we have to do?

Go to the Librealsense root directory and create a Build folder, and then change to that created folder using the command below (if you have not created the Build folder already):
mkdir build && cd build

Whilst in the Build folder, run the CMake command below:
cmake ../ -DFORCE_RSUSB_BACKEND=true -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=true

A make install doesn't seem to work for me, I get the following error:

[  0%] Built target fw
[  0%] Performing update step for 'libusb'
[  0%] Performing configure step for 'libusb'
-- Configuring done
-- Generating done
-- Build files have been written to: /home/caelin/librealsense/build/libusb-prefix/src/libusb-build
[  0%] Performing build step for 'libusb'
[  9%] Building C object CMakeFiles/usb.dir/libusb/core.c.o
/home/caelin/librealsense/build/third-party/libusb/libusb/core.c:23:10: fatal error: config.h: No such file or directory
   23 | #include "config.h"
      |          ^~~~~~~~~~
compilation terminated.
make[5]: *** [CMakeFiles/usb.dir/build.make:63: CMakeFiles/usb.dir/libusb/core.c.o] Error 1
make[4]: *** [CMakeFiles/Makefile2:76: CMakeFiles/usb.dir/all] Error 2
make[3]: *** [Makefile:130: all] Error 2
make[2]: *** [CMakeFiles/libusb.dir/build.make:113: libusb-prefix/src/libusb-stamp/libusb-build] Error 2
make[1]: *** [CMakeFiles/Makefile2:1110: CMakeFiles/libusb.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Jul 2, 2020

@caelinsutch There are instructions for building from source with the backend method (which requires an internet connection and the downloading and extracting of a zip file of the SDK source code) in the link below.

#6689 (comment)

If you wish to build the Pyrealsense2 wrapper (the Python bindings) at the same time as installing the SDK (which may work better for you on Ubuntu 20.04 than building the wrapper from pip or source code) then please use the modified CMake instruction below:

cmake ../ -DFORCE_RSUSB_BACKEND=true -DBUILD_PYTHON_BINDINGS=true -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=true

@caelinsutch
Copy link

caelinsutch commented Jul 2, 2020

@MartyG-RealSense Only worked after running sudo make clean before running sudo make install, thank you!

@MartyG-RealSense
Copy link
Collaborator

Thanks very much for the update @caelinsutch !

@caelinsutch
Copy link

caelinsutch commented Jul 2, 2020

@MartyG-RealSense One question, even after building/installing succesffully, when trying to build the ROS2 Foxy wrapper, it doesn't find this package. Looking around the file system, there's no cmake files for librealsense2, kist realsense2Config.cmake. Is that expected? How would I go about getting a cmake file

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Jul 2, 2020

@caelinsutch I do not have any knowledge of the Foxy wrapper, so it is difficult to advise. I would guess that the sudo apt-get install ros-foxy-librealsense2 instruction is a script to install Librealsense from the official master branch. Since you have already built Librealsense using CMake, you can probably skip this step.

The libssl-dev and libglfw3-dev files described in step 3 of the instructions are usually installed when compiling librealsense from source using the usual non-backend method.

Since you have already built librealsense through the backend method (which installs all the dependencies over the internet), you can probably skip this stage too.

I would therefore progress straight to installing ros2_intel_realsense from source.

https://github.com/intel/ros2_intel_realsense/tree/refactor#install-ros2_intel_realsense-from-source


I have never heard of the Foxy wrapper until now though, so the above advice - skipping straight to installing ros2_intel_realsense - is speculation on my part rather than certainty, so I apologise in advance if it does not work.

@caelinsutch
Copy link

@MartyG-RealSense I cannot believe I was that dense :/, I completely missed that part in the readme. Worked perfectly after installing ros2_intel_realsense from source via the instructions, I wasn't on the right branch when building from source before. Thank you so much for the help, I really appreciate it!

@MartyG-RealSense
Copy link
Collaborator

@caelinsutch I'm very pleased to hear that you succeeded. :)

@benbongalon
Copy link

I'm leaving a note for those who are stuck on the "config.h: No such file" compile error even after sudo make clean && sudo make install. As suggested in #5518, you need to install the USB programming library development files which contains the missing config.h file.

$ sudo apt-get install libusb-1.0-0-dev

Then rerun cmake and make install. Here is a complete recipe that worked for me:

$ sudo apt-get install libusb-1.0-0-dev

$ git clone https://github.com/IntelRealSense/librealsense.git
$ cd librealsense/
$ mkdir build && cd build
$ cmake ../ -DFORCE_RSUSB_BACKEND=true -DBUILD_PYTHON_BINDINGS=true -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=true
$ sudo make uninstall && make clean && make && sudo make install

@MartyG-RealSense
Copy link
Collaborator

Thanks very much @benbongalon :)

@unigent-software
Copy link

Building it from source on 20.04 LTS worked for me no problem

@MartyG-RealSense
Copy link
Collaborator

Thanks very much for confirmation of what worked for you in your particular case @unigent-software

@AndreV84
Copy link

rules do not seem to build/ install correctly on 20.04; the udev rules;
which would be proper way to get not sudo user to use built binaries?

@MartyG-RealSense
Copy link
Collaborator

@AndreV84 The alternative to building from source is to build from packages using these instructions:

https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md

@AndreV84
Copy link

@MartyG-RealSense Thank you for following up!
shall for ubuntu 20.04 the xenial / bionic repo branch be used? else?
e.g. sudo add-apt-repository "deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo bionic main" -u

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Aug 29, 2020

@AndreV84 There was a RealSense user recently who was able to install the Bionic distribution of librealsense on 20.04 but had some problems when using RViz in ROS, as Bionic is meant for 18.04.

IntelRealSense/realsense-ros#1345

You are less likely to encounter problems on 20.04 if you build librealsense from source over an internet connection using the RSUSB backend method.

#6436 (comment)

@masynthetic
Copy link

@MartyG-RealSense I am similarly trying to use pyrealsense2 with 20.04 and python 3.8 and I have seen a few of your comments reccomending the RSUSB backend method but can't find any examples or more documentation regarding this, could you point me in the right direction?

@AndreV84
Copy link

@masynthetic
it should be something passed to cmake as in the line below

RUN wget https://github.com/IntelRealSense/librealsense/archive/v2.38.0.tar.gz && tar -xvf v2.38.0.tar.gz && cd librealsense-2.38.0/ && mkdir build && cd build &&  cmake ../ -DFORCE_RSUSB_BACKEND=true -DBUILD_PYTHON_BINDINGS=true -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=true -DBUILD_WITH_CUDA=true -DBUILD_GRAPHICAL_EXAMPLES=true && make -j8 && make install

source https://github.com/AndreV84/jetson-containers/blob/master/ros1_realsense/Dockerfile
However, i tmight also look likew the below

cmake ../ -DFORCE_RSUSB_BACKEND=true -DBUILD_PYTHON_BINDINGS=true -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=true -DBUILD_WITH_CUDA=true -DPYTHON_EXECUTABLE=/usr/bin/python3 -DBUILD_GRAPHICAL_EXAMPLES=true -DCMAKE_CUDA_ARCHITECTURES=72  -DCMAKE_PREFIX_PATH=~/apriltag

@masynthetic
Copy link

masynthetic commented Sep 11, 2020

Thank you mine almost worked but I am getting this error

Scanning dependencies of target usb
[  9%] Building C object CMakeFiles/usb.dir/libusb/core.c.o
/home/mason/librealsense-2.38.0/build/third-party/libusb/libusb/core.c:23:10: fatal error: config.h: No such file or directory
   23 | #include "config.h"
      |          ^~~~~~~~~~
compilation terminated.

and I cant seem to find the librealsense2.so and pyrealsense2.so files so it doesn't seem to have worked enough

Do you have any suggestions for this, and did you have to use the method of copying those two files into the folder of your script?

@AndreV84
Copy link

@MartyG-RealSense
Could you extend on how we could implement
realsense camera on jetson - but realsense viewer playing the rgb stream on other network device, please?
Does realsense-server needs to be installed in the jetson with camera or on the playing network computer?
does realsense-net go to the unit with camera or to the playing device?
reference:
https://dev.intelrealsense.com/docs/open-source-ethernet-networking-for-intel-realsense-depth-cameras#section-2-7-testing-the-camera

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented May 23, 2021

The ethernet open-source networking white paper states that whilst they are using Raspberry Pi, the guide can be adapted woth minor modifications for other compute boards.

At the time of writing this, rs-server supports RGB at 640x480 (6, 15 or 30 FPS) or 424x240 (6, 15, 30 or 60 FPS).

https://dev.intelrealsense.com/docs/open-source-ethernet-networking-for-intel-realsense-depth-cameras#section-3-6-software-limitations

In regard to your questions about where rs-server and realsense2-net should be placed: I should emphasize that I have not built this project myself, but I believe that they go on the compute board (the device with the camera attached) rather than the host because Intel provide a pre-made Raspberry Pi 4 SD card image in the paper with the files pre-installed.

https://dev.intelrealsense.com/docs/open-source-ethernet-networking-for-intel-realsense-depth-cameras#section-2-3-preparing-the-sd-card

The paper also provides confirmation that rs-server runs on the compute device.

image

@AndreV84
Copy link

@MartyG-RealSense
How to add the metaframe thing on x86_64?

Unsupported kernel version 5.11.0-36-generic . The Focal patches are maintained for Ubuntu LTS with kernel 5.4 only

that is the output of the patch

@MartyG-RealSense
Copy link
Collaborator

@AndreV84 A response has been posted to your question at IntelRealSense/realsense-ros#1604 (comment)

@ShrutheeshIR
Copy link

@AndreV84 any luck with the installation on 5.11 kernel? Stuck with the same issue. Thanks

@AndreV84
Copy link

downgrade of the kernel did the trick
it can be managed by apt installation of 5.4

@AndreV84
Copy link

@MartyG-RealSense
if there is l515 camera failing
is the warranty still applicable ?

@MartyG-RealSense
Copy link
Collaborator

@AndreV84 If the camera was purchased more than 30 days ago then whether it can be returned may depend on the particular problem that it has.

If you are having a problem with an L515, please create a new issue about it so that the problem can be analyzed for a potential cause. Thanks!

@AndreV84
Copy link

@MartyG-RealSense
This
https://software.intel.com/iot/edgesoftwarehub/download/home/industrialinsights/
doesn't integrate with realsense ecosystem, does it?

@MartyG-RealSense
Copy link
Collaborator

@mintnguyenn
Copy link

@MartyG-RealSense Hi Marty, I did your method like build the source code using the RSUSB backend. But I do not know what to do next. I mean, how to run the realsense-viewer after 'make'? I can not use roslaunch as well. Thanks for your help!

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Nov 30, 2021

Hi @mintng If the build has successfully completed and you included the build terms -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=true in your CMake build instruction then Linux users should be able to find realsense-viewer (and executables of the other tools and examples) in the usr/local/bin folder.

In regard to ROS, have you built the RealSense ROS wrapper from source code after having completed the build of the librealsense SDK (as the ROS wrapper is not included in the librealsense build by default).

@AndreV84
Copy link

@MartyG-RealSense , howdy
Is RMA possible for realsense unit that failed within 1yr after purchase? What is the procedure to apply for RMA within 1yr? Could you extend, please? Thanks

@MartyG-RealSense
Copy link
Collaborator

@AndreV84 In general, a case describing the problem would be created on this forum would be created by the customer so that we can go through a diagnostic process and establish whether the camera is definitely unrecoverable.

A camera should ideally be returned to the retailer that it was purchased from within 30 days of purchase, and a retailer may refuse to accept a return if it is later than 30 days even if Intel recommend RMA in a support case.

@AndreV84
Copy link

@MartyG-RealSense so I shall create github issues topic? To start approaching 'broken unit [l515 ] thing
? Thanks

@MartyG-RealSense
Copy link
Collaborator

@AndreV84 You are welcome to create a new issue for the purposes of diagnosing your L515. Because of the apparent amount of time (months) that you were using the L515 before it had a problem though, there is likely no chance of being able to return it for a replacement now.

@AndreV84
Copy link

@MartyG-RealSense
the patch L4T results in such tail

Copy LibRealSense patches to the sandbox
Prepare workspace for kernel build
  CLEAN   scripts/basic
  CLEAN   scripts/kconfig
  CLEAN   .config
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/zconf.lex.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#
cp: cannot stat '/usr/src/linux-headers-4.9.253-gebdcb8074-ubuntu18.04_aarch64/kernel-4.9/Module.symvers': No such file or directory

seems err?

@AndreV84
Copy link

resolved by adding symlink

@MartyG-RealSense
Copy link
Collaborator

Great, thanks so much for the update about your successful solution @AndreV84 :)

@AndreV84
Copy link

@MartyG-RealSense
Last months I am investigating an option of inporting mesh/pointcloud into isaac sim[ nvidia omniverse].
They have support for importing e57
It works, for example in cases there is a .ply with mesh [ vertices/faces] that with cloud compare can be further converted into e57 that it is possible to import in omniverse.
The question is wheither there is any way to get from realsense e57
or .ply with mesh that can be converted further into e57
Thanks

@AndreV84
Copy link

found your earlier response here #6979 (comment)

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Jan 28, 2022

Thanks for the update!

In regard to E57, it is discussed at #1455

@AndreV84
Copy link

@MartyG-RealSense Thank you for sharing the url but the discussion seems closeed, but not resolved? Is there a way to create e57 from realsense outputs? e57 is the only format of pointcloud supported for import into nvidia Omniverse, as it seems to me https://docs.omniverse.nvidia.com/app_create/prod_extensions/ext_pointclouds.html
What are my choices?

@AndreV84
Copy link

somhow we imported through e57 conversion with cloud compare
thanks
results_worked

@AndreV84
Copy link

0scaled_donw

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests