0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【NVIDIA Jetsonトラブルシューティング】コンテナ内でGStreamerのGPUアクセラレータがエラーとなるときの対処方法

Posted at

はじめに

 Jetsonコンテナ内で、GStreamerのGPUアクセレレータ(nvjpeg、nvvidconvなど)がエラーとなるときの対処方法を紹介する。
 前提として、ホストではエラーとならず、コンテナ内のみでエラーとなる。また、コンテナ起動時に、runtime=nvidiaを有効としておりコンテナ内でGPUは扱える状態となっている。

エラー内容

 gst-inspect-1.0コマンドで、nvjpegを確認すると

gst-inspect-1.0 nvjpeg

下記のようなエラーとなる。

Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libcluttergst3.so': /lib/aarch64-linux-gnu/libGLdispatch.so.0: cannot allocate memory in static TLS block

動作確認環境

  • JetPack 5.1.1 / 5.1.2
  • AGX Orin 32GB / 64GB

方法

 コンテナ内で下記コマンドを実行する。

export LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libGLdispatch.so.0:$LD_PRELOAD
rm ~/.cache/gstreamer-1.0/ -fr

解説

  1. export LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libGLdispatch.so.0:$LD_PRELOAD
     読み込めていないライブラリのパスを追加
  2. rm ~/.cache/gstreamer-1.0/ -fr
     GStreamerのキャッシュを削除

Docker Composeで指定する場合

 commandに、上記の対策を入れる。

docker-compose.yaml
services:  
  some-service:
    command:
      - /bin/bash
      - -c
      - |
        export LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libGLdispatch.so.0:$LD_PRELOAD
        rm ~/.cache/gstreamer-1.0/ -fr
        {your-command}

まとめ

 Jetsonで、GstreamerのGPUアクセラレータがエラーとなるときの対象方法を紹介した。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?