기본 콘텐츠로 건너뛰기

NVIDIA TX2 Gstreamer 1.12.2 설치하기

결론

1.12와 1.8간의 버젼차이로 주요 plugin들이 제대로 동작하지 않습니다.
같은 방법으로 1.8.3을 manual로 재설치하면 잘 동작합니다.

---------------------------------------------------------------------------------

TX2 Board는 ubuntu 기반으로 되어 있습니다.

기존  Gstreamer  1.8 가 설치되어 있는데, 17년 7월 중순에 릴리즈된 1.12을 설치하는 방법입니다. NVIDIA 공식문서에도 간단히 설명이 되어 있지만 시행착오부분이 있어 정리합니다.

원래 gst-install 이라는 툴을 제공해서 간단히 설치하면 되지만, 본인의 환경에서는 (JetSon3 설치이후) gst-install에서 내부적으로 수행하는 wget 이 인증문제가 발생하여 사용할 수 없었습니다.

참고내용
  • http://developer.download.nvidia.com/embedded/L4T/r23_Release_v1.0/L4T_Tegra_X1_Multimedia_User_Guide.pdf
  • https://developer.nvidia.com/embedded/dlc/l4t-accelerated-gstreamer-guide-27-1



설치하려는 위치
/home/nvidia/works/fakeroot

Gstreamer 파일을 다운받을 위치는 아무곳이나 상관없지만 여기서는
/home/nvidia/works/gst
라고 가정합니다.

mkdir -p /home/nvidia/works/fakeroot
mkdir -p /home/nvidia/works/gst

cd /home/nvidia/works/gst

Gstreamer 패키지를 다운받습니다.

● gstreamer-1.12.2.tar.xz
● gst-plugins-base-1.12.2.tar.xz
● gst-plugins-good-1.12.2.tar.xz
● gst-plugins-bad-1.12.2.tar.xz
● gst-plugins-ugly-1.12.2.tar.xz

wget 인증에러가 발생하므로(개별 환경마다 다른것 같습니다)
wget --no-check-certificate https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.12.2.tar.xz


--no-check-certificate 옵션을 붙여서 전부 다운받고 압축을 해제합니다.


빌드에 필요한 패키지를 설치합니다.
sudo apt-get install build-essential dpkg-dev flex bison autotools-dev automake liborc-dev autopoint libtool gtk-doc-tools libgstreamer1.0-dev

sudo apt-get install libxv-dev libasound2-dev libtheora-dev libogg-dev libvorbis-dev
sudo apt-get install libbz2-dev libv4l-dev libvpx-dev libjack-dev libsoup2.4-dev libpulse-dev
sudo apt-get install faad libfaad-dev libfaac-dev libgl1-mesa-dev libgles2-mesa-dev libopencv-dev

sudo apt-get install libx264-dev libmad0-dev



환경변수를 변경합니다.

export LD_LIBRARY_PATH=/home/nvidia/works/fakeroot/lib/
export PKG_CONFIG_PATH=/home/nvidia/works/fakeroot/lib/pkgconfig


압축이 풀린 개별 directory로 이동해서 configure합니다. prefix인자를 지정합니다.
./configure --prefix=/home/nvidia/works/fakeroot

단 bad plugin은 DRM관련 인증에러가 발생합니다.
  1. ake[5]: Entering directory '/home/nvidia/works/gst/gst-plugins-bad-1.12.2/tests/examples/gl/generic/cube'
  2. CXX cube-main.o
  3. CXXLD cube
  4. /usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmMap'
  5. /usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmCloseOnce'
  6. /usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmUnmap'
  7. /usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmOpenOnce'
  8. collect2: error: ld returned 1 exit status

이것을 피하려면 --disable-examples 을 추가합니다.
./configure --prefix=/home/nvidia/works/fakeroot --disable-examples

이것을 추가했을때 side effect는 확인못했습니다.


끝으로 nvidia 독점권이 있는 plugin과 h파일을 새로운 위치로 복사합니다.

libgstnvcamera.so
libgstnveglglessink.so
libgstnveglstreamsrc.so
libgstnvegltransform.so
libgstnvivafilter.so
libgstnvvidconv.so
libgstnvvideosink.so
libnvgstjpeg.so
libgstomx.so
 
cp /usr/lib/aarch64-linux-gnu/gstreamer-1.0/* home/nvidia/works/fakeroot/lib/gstreamer-1.0/ -n


cp /usr/lib/aarch64-linux-gnu/gstreamer-1.0/include/gst/gstconfig.h /home/nvidia/works/fakeroot/lib/gstreamer-1.0/include/gst






댓글

이 블로그의 인기 게시물

DELL의 새게이밍 노트북, Inspiron 15 7000 Gaming, Dual Display 문제

Dell New 게이밍노트북 7567  I7 Notebook http://www.dell.com/kr/p/inspiron-15-7567-laptop/pd?ref=PD_OC 7th Generation Intel® Core™ i7 프로세서 8GB 메모리 1TB 하드 드라이브 + 128GB 솔리드 스테이트 드라이브 NVIDIA® GeForce® GTX 1050 Ti (4GB GDDR5 그래픽 메모리 포함) 상세 사양 리눅스 개발환경이 필요해서 여러대 구매한 노트북입니다. 기본적으로 ubuntu 16.04 가 설치되어 있는데, 필요한 개발환경이 ubuntu 이고 별도의 windows 개발용 PC가 있기 때문에 구매를 결정하게 되었습니다. Slim하지 않지만 I7 HQ CPU와 1050TI spec 이 결정하는데 주요했고, 받은 후에 빌드환경 구축후 8 thread compile을 만끽하던중 치명적인 문제를 Display쪽 문제를 발견하고, Dell express 쪽과 전화통화도 하고 문의 메일도 보내서 지원을 받고(진행)중입니다. 추가 :  시간낭비하지 말라고 중간에 업데이트합니다.  해결되었고, 해결방법은  Windows 을 설치한 후 Fn+F8을 눌러서 모드를 확장모드를 선택합니다. 디스플레이 설정이나 드라이버 재설치 같은 방법으로는 조정이 불가능했습니다. --------------------------------------------------------------------- 요즘 다들 Dual monitor 환경일텐데, Dual Monitor를 복제형태로만 지원을 합니다. 14.04 설치후 업데이트시 375.66 Driver가 설치됩니다. nVidia driver가 설치되었으나, 모니터 인식에 문제가 있어서 해상도 확장설정자체를 할 수 없습니다. 기본 ubuntu라서 driver 문제인가 확인하기 위해서 우분투 64bit 환경 NVIDIA...

우분투에서 성가신 자동 실행 처리

우분투운서비스는 종료된지 예전인데 script에 남아 있어서 항상 실행된다 apt-get 패키지가 제거되어도 etc/xdg/autostart 폴더에서 삭제해야 실행되지 않는다. /etc/xdg/autostart$ ls at-spi-dbus-bus.desktop              gnome-settings-daemon.desktop                print-applet.desktop bluetooth-applet-unity.desktop       gnome-sound-applet.desktop                   pulseaudio-kde.desktop bluetooth-applet.desktop             gnome-user-share.desktop                     pulseaudio.desktop deja-dup-monitor.desktop             gsettings-data-convert.desktop               telepathy-indicator.desktop gdu-notification-daemon.desktop      gwibber.desktop                             ...

llama 계열 gguf 제공되는 경우 가져와서 사용하는 예제

llama 계열의 모델이 친절하게 gguf 형태로 제공되는 경우 어떻게 다운받고 어떻게 ollama에 추가하는지 예전에 gguf 파일을 등록하는 유튜브 강의를 보고 메모해두것을 기반으로 2024년 12월31일 추운 겨울 밤 기억을 백업해 봅니다 수동으로 작성한 것은 지우고 copilot으로 포맷을 정리해서 업데이트합니다. Bllossom/llama-3.2-Korean-Bllossom-3B-gguf-Q4_K_M 한국어 모델 추가하기 시작 : MS Copilot과의 질의응답 중 llama 3.2 기반의 한국어 학습 모델을 발견. 현재 사용 모델 : EEVE-Korean-10.8B (약 7.7 GB) 모델 사용 중. llama 3.2 기반 한국어 모델 소개 : 모델 설명 링크 gguf 파일 다운로드 링크 deepseek-ai/DeepSeek-R1-Distill-Qwen-7B  기반 한국어 모델 소개 : 모델 설명 링크 gguf 파일 다운로드 링크 모델 설정 파일 (Modelfile) : FROM llama-3.2-Korean-Bllossom-3B-gguf-Q4_K_M.gguf PARAMETER temperature 0.6 PARAMETER top_p 0.9 TEMPLATE """<|start_header_id|>system<|end_header_id|> Cutting Knowledge Date : December 2023 {{ if .System }}{{ .System }} {{- end }} {{- if .Tools }} When you receive a tool call response, use the output to format an answer to the orginal user question. You are a helpful assistant with tool calling capabilities. {{- end }} <|eot_id|> {{- range $i , $_ := .Messa...