3 Replies Latest reply on Apr 5, 2017 5:35 PM by Intel Corporation

    librealsense vs realsense SDK




      I'm having trouble setting my environment.

      First of all let me explain a bit on my environment I'm intending to work with:

      - Camera: R200

      - Intel board: Joule

      - OS: Ubuntu 16.04 (Linux)

      - Programming language: C++ (librealsense)

      - Project purpose: PersonTracking


      I installed RealSense SDK for Linux and librealsense.

      I made multiple attempts to set the environment and each time I re-installed everything from scratch because I encountered problems.

      I managed to get to a point where I start working on some code relying on references from  Intel® RealSense™ for Linux - Person Library: Developer's Guide


      I have some questions about my environment:

      1) whats the difference between realsense SDK and librealsense? To what purpose each of them is?

      2) Do I need them both or just one of them? (Cause from what it seems the SDK is for the recognition and tracking modules and librealsense is for handling frames and camera output)

      3) It seems that libs from the SDK are not accessible when I can access librealsense libs (and visa versa).

           When I could include rs:: namespace (under librealsense) I couldn't include Intel::RealSense namespace (and Intel::RealSense namespace contains all the tracking modules)

           When I could include Intel::RealSense namespace (from SDK) I couldn't include rs:: namespace (from librealsense and can't get a reference to device class instance) namespace contains all the tracking modules)

      4) I can access rs::core namespace but cannot access rs::person_tracking (even though its installed in my include and lib usr directories). Why is that?

      5) In the developer guide link I put, there is a line of such:

           rs::core::intrinsics color_intrin = rs::utils::convert_intrinsics(device->get_stream_intrinsics(colorStream));

           the device instance is from librealsense and rs::core is from the SDK, as I mentioned before, I can't get to include them both in my project. Any advice what to do?

      6) What do I need to install to get started with my project?


      Note that the guides are not trivial and not so clear as for what is the purpose of them (realsense SDK and librealsense) and which one to use for what purpose?


      Thanks in advance,


        • 1. Re: librealsense vs realsense SDK
          Intel Corporation
          This message was posted on behalf of Intel Corporation

          Hi Yaniv,

          Thanks for your interest in the Intel RealSense Technology.

          The SDK is built on top of and depends on librealsense. Librealsense provides frame handling and camera access APIs. The SDK provides utilities and middleware – person tracking, object tracking, SLAM – that use librealsense. 

          We would like to know if you have looked at the sample source in ~/realsense_samples/build/samples/pt_tutorial_*. Also, could you please provide us your source code and more information on how you setup your environment? We are requesting more details in order to be able to further assist you properly.


          We’ll be waiting for your reply.

          -Yermi A.

          • 2. Re: librealsense vs realsense SDK

            Hi Yermi,


            Thanks for the answer.

            I did as you suggested and installed librealsense first as the SDK based on your answer.

            But when I did so, the uvcvideo module wasn't recognized. The reason for it was that the uvcvideo wasn't supported in Linux kernel 4.8 which I had.

            I had to downgrade the kernel version from 4.8 to 4.4 using the Grub2 Boot Menu.


            The structure of the steps flow in the installation page for Linux is confusing!

            When I checked that my kernel version is greater than 4.4 (it was 4.8) I proceeded to building librealsense not understanding that the kernel should be 4.4.

            So the condition for "In case of stack Ubuntu 14 LTS with Kernel prior to 4.4.0-04..." from librealsense installation page should be more informative for user to come.

            If their kernel version is greater than 4.4 they should downgrade it to 4.4.*


            I installed kernel 4.4 using this link: http://linuxdaddy.com/blog/install-kernel-4-4-on-ubuntu/

            And set it to default using this link: grub2 - Set "older" kernel as default grub entry - Ask Ubuntu



            • 3. Re: librealsense vs realsense SDK
              Intel Corporation
              This message was posted on behalf of Intel Corporation

              Hi Yaniv,


              We’re glad to know you installed librealsense and the SDK for Linux, also thanks for all the information provided. We know that those steps can be confusing and we would like to let you know that we’ll pass your feedback to the appropriate team so they can review it and be aware for future possible updates.

              -Yermi A.