반응형

필요 빌드 패키지 설치

$ sudo apt-get install -y build-essential

OpenGL 및 Util 설치

$ sudo apt-get install freeglut3-dev libglu1-mesa-dev mesa-common-dev mesa-utils

설치 및 버전 확인

$ glxinfo | grep OpenGL

X11 환경 및 테스트

X11 환경에서 GLX 확장을 이용하여 OpenGL 3D Graphic을 확인할 수 있음

$ glxgears

아래와 같은 로그가 출력됨

22493 frames in 5.2 seconds = 4340.787 FPS
15376 frames in 5.0 seconds = 3067.526 FPS
14238 frames in 5.2 seconds = 2729.739 FPS
반응형
반응형

Mac에서 XQuartz로 X11에서 아래와 같은 오류가 발생했다.
구글링에서 확인해서 아래와 같이 세단계로 수정하여 정상 동작하는 것을 확인했다.

오류 내용

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  149 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  34
  Current serial number in output stream:  33

 

 

1. "libGL error: No matching fbConfigs or visuals found" 오류

$ echo "export XDG_RUNTIME_DIR=/tmp/runtime-$USER" >> ~/.bashrc

2. "libGL error: failed to load driver: swrast" 오류

$ echo  "export LIBGL_ALWAYS_INDIRECT=1" >> ~/.bashrc

3. "X Error of failed request: GLXBadContext ... " 오류

3.1 defaults read org.xquartz.X11 확인(0으로 되어 있음)

"enable_iglx" = 0;

아래 명령어로 1로 변경해줌

defaults write org.xquartz.X11 enable_iglx -bool true

 

4. Reload 및 재시작

4.1 Bash Resource File Reload

$ source ~/.bashrc

4.2 XQuartz 종료 및 재시작

 

 

반응형
반응형

Ubuntu GUI 로그인에서 Password가 틀리지 않았음에도 계속 로그인 창으로 반복해서 로그인 되는 현상이 여러번 발견함
구글링해서 아래와 같은 방법으로 해결했으나 다행히 CLI 모드로 진입한 것이 아닌 SSH연결의 CLI가 있어서 해당 Session으로 3번 이후의 단계로 해결함

1. [Ctrl + Alt + F3] 으로 CLI 모드 진입 or SSH/Telnet 등 Terminal 이용

2. ID, PW 입력 후 로그인

3. sudo apt-get purge lightdm

4. sudo apt-get install lightdm

5. sudo dpkg-reconfigure lightdm

6. lightdm 선택

7. sudo reboot

반응형
반응형

1. vundle download

$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

 

2. vim resource 파일 수정

filetype off                   " required!
set shell=/bin/bash
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" let Vundle manage Vundle
" required! 
Plugin 'VundleVim/Vundle.vim'

" vim 하단에 파일 정보 띄우기
Plugin 'vim-airline/vim-airline' 
Plugin 'vim-airline/vim-airline-themes'
" ...

call vundle#end()

filetype plugin indent on     " required!
"
" Brief help
" :BundleList          - list configured bundles
" :BundleInstall(!)    - install(update) bundles
" :BundleSearch(!) foo - search(or refresh cache first) for foo
" :BundleClean(!)      - confirm(or auto-approve) removal of unused bundles
"
" see :h vundle for more details or wiki for FAQ
" NOTE: comments after Bundle command are not allowed..

 

3. Plugin 설치

$ vim
: PluginInstall

 

반응형
반응형

Automator 에 프로그램 생성

1. Automator 실행

2. 스크립트 작성
    보관함 > 유틸리티 > 쉘 스크립트 실행 
    쉘 : /bin/zsh
    스크립트 : /opt/homebrew/bin/socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\" &
                    --> background로 실행시키기를 원했지만 동작하지는 않는 것 같음. 문제는 없는 것 같으니 추후 확인 예정

3. "파일 > 저장 > 응용 프로그램" 으로 저장

4. 저장된 파일을 Finder에서 "응용 프로그램" 으로 위치 이동

4. 시작 프로그램으로 등록
    i. 시스템 설정 > 일반 > 로그인 항목 > 로그인시 열기 > "+" 선택 > 저장한 응용 프로그램 선택

반응형
반응형

dGPU 환경 기준, Jetson 환경 기준은 별도 Guide 참고 필요.

Deepstream 6.2 기준

https://resources.nvidia.com/en-us-deepstream-get-started-with-c-cpp

 

DeepStream SDK Development Guide

DeepStream SDK Development Guide

resources.nvidia.com

 

Docker-ce 설치

 $ sudo apt-get update
 $ sudo apt-get install apt-transport-https ca-certificates
 $ curl gnupg-agent software-properties-common
 $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
 $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
 $ sudo apt-get update
 $ sudo apt-get install docker-ce

 

Nvidia-docker 설

  $ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
   $ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
   $ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
   $ sudo apt-get update
   $ sudo apt-get install nvidia-docker2
   $ sudo systemctl restart docker.service
   $ sudo usermod -a -G docker <<USER NAME>>
   $ reboot

  

사용자 설치 스크립트 실행

 $ cd /opt/nvidia/deepstream/deepstream-6.2/user_additional_install.sh

 

Conatinaer 내 미설치 패키지 설치

  1. cuda-toolkit

 $ apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub
 $ add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
 $ apt-get update
 $ apt-get install cuda-toolkit-11-8
 $ apt install cuda-toolkit-11-8

 

Docker container 내부에서 X11 가능하게 container 실 방법

1. One-shot

$ sudo nvidia-docker run -it --rm --net=host -v ${HOME}:${HOME}/home -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --volume="$HOME/.Xauthority:/root/.Xauthority:rw" <<<Image Name or Checksum>>> /bin/bash 

2. Container 생성

$ sudo nvidia-docker run -it --net=host -v ${HOME}:${HOME}/home -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --volume="$HOME/.Xauthority:/root/.Xauthority:rw" --name=deepstream-6.2-devel-temp <<<Image Name or Checksum>>> /bin/bash

 아래는 nvidia sample command

# Pull the required docker.  Refer Docker Containers table to get docker container name.
$ docker pull <required docker container name>
# Step to run the docker
$ export DISPLAY=:0
$ xhost +
$ docker run -it --rm --net=host --gpus all -e DISPLAY=$DISPLAY --device /dev/snd -v /tmp/.X11-unix/:/tmp/.X11-unix <required docker container name>
반응형
반응형
  • Socat TCP 6000 포트에 대해 DISPLAY Relay 처리를 해야
 $ socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\"
  • SSH 접속시 옵션은 -Y 옵션으로 접속해야
$ ssh <USERNAME>@<IP ADDRESS> -Y
반응형
반응형

1. Site : https://www.spectacleapp.com/

 

Spectacle

 

www.spectacleapp.com

2. 설치 

 - 다운로드

 - 압축 풀기

 - 응용 프로그램으로 이동

 - 권한 부여(개인정보 보호 및 보안 -> 손쉬운 사용 -> + 클릭 -> Spectacle 추가 -> 활성화)

3. 사용 

 - Option + Command + Left : 왼쪽 창분할
 - Option + Command + Righ  : 오른쪽 창분할
 - Option + Command + F : 전체화면(맥의 전체화면 아님)

반응형
반응형

1. 필요 패키지 설치

 # sudo apt-get install doxygen graphviz

 

2. Doxy File 생성

# doxygen -g doxyoptfile

 

3. Doxy File Option 변경

PROJECT_NAME                 = DymLibrary
PROJECT_NUMBER            = 0.01
OUTPUT_DIRECTORY         = ./doxygen_doc
CREATE_SUBDIRS              = YES
MULTILINE_CPP_IS_BRIEF = YES
EXTRACT_ALL                      = YES
EXTRACT_PRIVATE             = YES
EXTRACT_STATIC                = YES
RECURSIVE                          = YES
SOURCE_BROWSER           = YES
GENERATE_TREEVIEW       = YES
HAVE_DOT                            = YES
UML_LOOK                            = YES
CALL_GRAPH                        = YES
CALLER_GRAPH                   = YES
DOT_PATH                             = /usr/bin/dot
DOT_GRAPH_MAX_NODES    = 100

 

4. Doxy File Option으로 Doxygen 실행

# doxygen ./doxyoptfile

 

5. index.html 파일로 결과물 확인

반응형
반응형

아래 내용은 docker container로 ubuntu 18.0.4 버전을 이용하여 설치하며 작성한 내용입니다.


1. opencv 버전 확인 및 삭제
 1.1 버전확인

  # pkg-config --modversion opencv  

 1.2 패키지 삭제

  # sudo apt-get purge libopencv* python-opencv

  # sudo apt-get autoremove

 1.3 잔여 파일 삭제

  # sudo find /usr/local/ -name "*opencv*" -exec rm -i {} \;


2. 전 패키지 업데이트
  2.1 저장소 업데이트

   # sudo apt-get update

  2.2 패키지 업데이트

   # sudp apt-get upgrade


3. OpenCV 컴파일 패키지 설치
  3.1 cmake 설치

   # sudo apt-get install build-essential cmake

  3.2 pkg-config 설치

   # sudo apt-get install pkg-config

  3.3 Image 파일 R/W를 위한 패키지 설치

   # sudo apt-get install libjpeg-dev libtiff5-dev libpng-dev

  3.4 Codec Video R/W를 위한 패키지 설치

   # sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev libxine2-dev

  3.5 실시간 비디오 캡쳐를 위한 API 설치

   # sudo apt-get install libv4l-dev v4l-utils

  3.6 GStreamer 설치(비디오 스트리밍 라이브러리)

   # sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

  3.7 gtk 설치(윈도우 등을 생성)

   # sudo apt-get install libgtk2.0-dev

  3.8 OpenGL 지원하기 위한 라이브러리 설치

   # sudo apt-get install mesa-utils libgl1-mesa-dri libgtkgl2.0-dev libgtkglext1-dev

  3.9 Numpy 설치

   # sudo apt-get install python2.7-dev python3-dev python-numpy python3-numpy

  3.10 기타 필요 패키지 설치

   # apt-get install wget unzip vim


4. OpenCV 설정, 컴파일, 설치
  4.1 임시 경로 생성

   # mkdir opencv && cd opencv; 

  4.2 Opencv 4.2 다운로드 및 압축 풀기

   # wget -O opencv.zip https://github.com/opencv/opencv/archive/4.2.0.zip && unzip opencv.zip

  4.3 opencv_contrib(extra modules) 소스코드를 다운 및 압축 해제

   # wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.2.0.zip && unzip ./opencv_contrib.zip

  4.4 opencv build

   # cd opencv-4.2.0 && mkdir build && cd build 

  4.6 cmake를 이용하여 Makefile 생성

cmake -D CMAKE_BUILD_TYPE=RELEASE \

-D CMAKE_INSTALL_PREFIX=/usr/local \

-D WITH_TBB=OFF \

-D WITH_IPP=OFF \

-D WITH_1394=OFF \

-D BUILD_WITH_DEBUG_INFO=OFF \

-D BUILD_DOCS=OFF \

-D INSTALL_C_EXAMPLES=ON \

-D INSTALL_PYTHON_EXAMPLES=ON \

-D BUILD_EXAMPLES=OFF \

-D BUILD_TESTS=OFF \

-D BUILD_PERF_TESTS=OFF \

-D WITH_QT=OFF \

-D WITH_GTK=ON \

-D WITH_OPENGL=ON \

-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.2.0/modules \

-D WITH_V4L=ON  \

-D WITH_FFMPEG=ON \

-D WITH_XINE=ON \

-D BUILD_NEW_PYTHON_SUPPORT=ON \

-D OPENCV_GENERATE_PKGCONFIG=ON ../

 

  4.7 rfs에 설치

   # sudo make install

 

  4.8 파일 확인

   # cat /etc/ld.so.conf.d/*

 

    4.8.1 /usr/local/lib 이 추가되지 않았을 경우 추가 필요

     #  sudo sh -c 'echo '/usr/local/lib' > /etc/ld.so.conf.d/opencv.conf' && sudo ldconfig

  4.9 설치 확인

     # python3

Python 3.8.10 (default, Nov 26 2021, 20:14:08) 

[GCC 9.3.0] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> import cv2

cv2>>> cv2.__version__

'4.2.0'

>>>

     4.9.1 만약 다른 버전이 나올 경우 cv2 디렉토리 삭제 및 retry

       # sudo rm -rf ~ /.local/lib/python3.6/site-packages/cv2




출처 : https://webnautes.tistory.com/1186

반응형

+ Recent posts