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

How to patch for custom kernel? #6658

Closed
cjiang2 opened this issue Jun 20, 2020 · 6 comments
Closed

How to patch for custom kernel? #6658

cjiang2 opened this issue Jun 20, 2020 · 6 comments

Comments

@cjiang2
Copy link

cjiang2 commented Jun 20, 2020

  • Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

  • All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)


Required Info
Camera Model D435i
Firmware Version (Open RealSense Viewer --> Click info)
Operating System & Version Ubuntu 16.04
Kernel Version (Linux Only) 5.3
Platform PC
SDK Version 2.35.2 }
Language {C/C#/labview/nodejs/opencv/pcl/python/unity }
Segment {Robot/Smartphone/VR/AR/others }

Issue Description

<Describe your issue / question / feature request / etc..>

Due to drivers and performance issue, I am forced to use custom linux kernel with patches (more specifically, linux-surface kernel, address: https://github.com/linux-surface/linux-surface) for my Surface Book 2 with Ubuntu 16.04 install.

However, I noticed that librealsense2-dkms does not support kernel version 5.3.18 with Ubuntu 16.04. I am thinking to compile a custom linux kernel with both surfacelinux patch and the librealsense2 patch applied. The question is: What are the specific linux kernel versions that librealsense2 supports? And how do I apply librealsense2 kernel patch over my custom kernel compiling?

Thank you!

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Jun 20, 2020

Hi @zonetrooper32 The list of officially supported kernels is listed at the top of each Librealsense SDK version's details on the 'Releases' page.

https://github.com/IntelRealSense/librealsense/releases/

image

There is the option to build Librealsense source code with a "backend" method over an internet connection that is not dependent on Linux versions or kernel versions and does not require patching. Do you think that this might suit your situation, please?

@cjiang2
Copy link
Author

cjiang2 commented Jun 20, 2020

Hi @zonetrooper32 The list of officially supported kernels is listed at the top of each Librealsense SDK version's details on the 'Releases' page.

https://github.com/IntelRealSense/librealsense/releases/

image

There is the option to build Librealsense source code with a "backend" method over an internet connection that is not dependent on Linux versions or kernel versions and does not require patching. Do you think that this might suit your situation, please?

Thank you for the reply. I will search around the "backend" method. In the mean time I'll close the issue.

@cjiang2 cjiang2 closed this as completed Jun 20, 2020
@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Jun 20, 2020

I was asking about backend first to find out whether you were only limited to DKMS package installation. I'm happy to point you to the backend method's installation details. :)

After downloading a zip file of an SDK version's source code from the "Assets" list at the bottom of each SDK version's details on the 'Releases' web-page ( https://github.com/IntelRealSense/librealsense/releases/ ) and extracting the zip's contents, you can install with the backend method using the instructions in the link below.

#6368 (comment)

Good luck!

@cjiang2
Copy link
Author

cjiang2 commented Jun 21, 2020

I was asking about backend first to find out whether you were only limited to DKMS package installation. I'm happy to point you to the backend method's installation details. :)

After downloading a zip file of an SDK version's source code from the "Assets" list at the bottom of each SDK version's details on the 'Releases' web-page ( https://github.com/IntelRealSense/librealsense/releases/ ) and extracting the zip's contents, you can install with the backend method using the instructions in the link below.

#6368 (comment)

Good luck!

Thank you again for the link. I have successfully compiled following the instructions.

However, I do have one extra question, if using backend installation, will it influence the frame metadata? From what I read the purpose of patching around is to make sure that the retrieved frame metadata is accurate.

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Jun 21, 2020

Great news - thanks for the update!

The backend method includes support for metadata, which would otherwise have to be patched in. I am not aware of negative consequences compared to patched-in metadata support.

The link below describes the advantages and disadvantages of the backend installation method compared to the usual methods such as compiling from source. Please scroll down the linked-to comment to the section headed 'What are the advantages and disadvantages of using libuvc vs patched kernel modules?'.

#5212 (comment)

@cjiang2
Copy link
Author

cjiang2 commented Jun 21, 2020

Great news - thanks for the update!

The backend method includes support for metadata, which would otherwise have to be patched in. I am not aware of negative consequences compared to patched-in metadata support.

The link below describes the advantages and disadvantages of the backend installation method compared to the usual methods such as compiling from source. Please scroll down the linked-to comment to the section headed 'What are the advantages and disadvantages of using libuvc vs patched kernel modules?'.

#5212 (comment)

Thank you, those are indeed useful information.

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

No branches or pull requests

2 participants