Coder Social home page Coder Social logo

pinto0309 / realsense-cuda-opengl-docker Goto Github PK

View Code? Open in Web Editor NEW
5.0 3.0 0.0 39 KB

RealSense execution environment built on a Docker container on Ubuntu 20.04. NIVIDA GPU and OpenGL capable. CUADA 11.4.

License: MIT License

Dockerfile 100.00%
realsense realsense2 cuda docker opengl wsl2 ubuntu

realsense-cuda-opengl-docker's Introduction

realsense-cuda-opengl-docker

RealSense execution environment built on a Docker container on Ubuntu 20.04. NIVIDA GPU and OpenGL capable. CUADA 11.4.

1. docker build

$ git clone https://github.com/PINTO0309/realsense-cuda-opengl-docker.git \
&& cd realsense-cuda-opengl-docker \
&& docker build -t pinto0309/realsense-cuda-opengl-docker:latest .

2. docker pull

$ docker pull pinto0309/realsense-cuda-opengl-docker:latest

3. docker run

$ xhost +local: && \
docker run --gpus all -it --rm \
-v `pwd`:/home/user/workdir \
-v /tmp/.X11-unix/:/tmp/.X11-unix:rw \
--device /dev/video0:/dev/video0:mwr \
--device /dev/video1:/dev/video1:mwr \
--device /dev/video2:/dev/video2:mwr \
--device /dev/video3:/dev/video3:mwr \
--device /dev/video4:/dev/video4:mwr \
--device /dev/video5:/dev/video5:mwr \
--net=host \
-e XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR \
-e DISPLAY=$DISPLAY \
--privileged \
pinto0309/realsense-cuda-opengl-docker:latest

4. Run realsense-viewer

$ realsense-viewer

image

5. Run nvidia-smi

$ nvidia-smi

Sat Feb  5 07:49:13 2022       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.103.01   Driver Version: 470.103.01   CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
|  0%   44C    P8    15W / 220W |    310MiB /  7959MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
+-----------------------------------------------------------------------------+

6. Run glxgears

$ glxgears

ezgif com-gif-maker (3)

7. Running from within WSL2

[Note] OpenGL will not work properly.

  1. Perform the following initial settings.
    WSL2 USB Camera Jan 17, 2022 Edition
  2. Start WSL2 (Windows Terminal).
> wsl --list
Ubuntu-20.04 (default)

> wsl -d Ubuntu-20.04
  1. USB attach. (Windows Terminal)
> usbipd wsl list

BUSID DEVICE                                                       STATTE
1-1   Intel(R) RealSense(TM) Depth Camera 435 with RGB Module D... Not attached

> usbipd wsl attach --busid 1-1
  1. docker run. (WSL2 Terminal)
$ docker pull pinto0309/realsense-cuda-opengl-docker:latest

$ xhost +local: && \
docker run --gpus all -it --rm \
-v `pwd`:/home/user/workdir \
-v /tmp/.X11-unix/:/tmp/.X11-unix:rw \
--device /dev/video0:/dev/video0:mwr \
--device /dev/video1:/dev/video1:mwr \
--device /dev/video2:/dev/video2:mwr \
--device /dev/video3:/dev/video3:mwr \
--device /dev/video4:/dev/video4:mwr \
--device /dev/video5:/dev/video5:mwr \
--net=host \
-e XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR \
-e DISPLAY=$DISPLAY \
--privileged \
pinto0309/realsense-cuda-opengl-docker:latest

$ ls -l /dev/video*
xxxxxx 1 xxxx xxxx xx,xx,xx xx:xx /dev/video0
xxxxxx 1 xxxx xxxx xx,xx,xx xx:xx /dev/video1
xxxxxx 1 xxxx xxxx xx,xx,xx xx:xx /dev/video2
xxxxxx 1 xxxx xxxx xx,xx,xx xx:xx /dev/video3
xxxxxx 1 xxxx xxxx xx,xx,xx xx:xx /dev/video4
xxxxxx 1 xxxx xxxx xx,xx,xx xx:xx /dev/video5

$ sudo chmod 777 /dev/video*

$ nvidia-smi

Sat Feb  5 07:49:13 2022       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.103.01   Driver Version: 470.103.01   CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
|  0%   44C    P8    15W / 220W |    310MiB /  7959MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
+-----------------------------------------------------------------------------+

8. CUDA assisted librealsense container

$ docker pull pinto0309/realsense-cuda-opengl-docker:latest.cuda

or

$ git clone https://github.com/PINTO0309/realsense-cuda-opengl-docker.git \
&& cd realsense-cuda-opengl-docker \
&& docker build \
-t pinto0309/realsense-cuda-opengl-docker:latest.cuda \
-f Dockerfile.cudarealsense .
$ xhost +local: && \
docker run --gpus all -it --rm \
-v `pwd`:/home/user/workdir \
-v /tmp/.X11-unix/:/tmp/.X11-unix:rw \
--device /dev/video0:/dev/video0:mwr \
--device /dev/video1:/dev/video1:mwr \
--device /dev/video2:/dev/video2:mwr \
--device /dev/video3:/dev/video3:mwr \
--device /dev/video4:/dev/video4:mwr \
--device /dev/video5:/dev/video5:mwr \
--net=host \
-e XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR \
-e DISPLAY=$DISPLAY \
--privileged \
pinto0309/realsense-cuda-opengl-docker:latest.cuda

realsense-cuda-opengl-docker's People

Contributors

pinto0309 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.