skip to Main Content

I am trying to run a Gstreamer plugin written to run NVIDIA Maxine filters through the pipeline.

I keep getting no element "nvmaxinevideofx", and I’m wondering if there is anything fundamentally wrong with my approach or if I’m just making a mistake somewhere.

I am super new to Gstreamer and any help would be much appreciated.

I am running on Ubuntu 20.04 through WSL.

I managed to build the plugin files successfully, but no matter how I add the plugin path to the build directory containing the .so files, it’s not getting picked up by either gst-launch or gst-inspect.

I tried both adding to the GST_PLUGIN_PATH variable and as an argument to gst-launch with --gst-plugin-path.

I have also managed to get Maxine installed at /usr/local/VideoFX.

I have also managed to build the gst-template plugin from the official tutorials and run it successfully with:

gst-launch-1.0 -v -m --gst-plugin-path=/mnt/d/projects/stream/gst-template/build/gst-plugin/ fakesrc ! my_filter ! fakesink silent=TRUE

But when I try to run the same thing with the appropriate parameters for this plugin it returns no element "nvmaxinevideofx":

gst-launch-1.0 -v -m --gst-plugin-path=/mnt/d/projects/stream/gst-nvmaxine/build/ fakesrc ! nvmaxinevideofx ! fakesink silent=TRUE

2

Answers


  1. It is a long time since I used CMake, build gstreamer and I cannot now. But, from settings in CMakeList.txt:

    project(gstnvmaxine LANGUAGES C VERSION 0.1.0)

    set(GST_NV_MAXINE_VIDEOFX "${PROJECT_NAME}videofx")

    Isn’t your plugin called "gstnvmaxinevideofx", not "nvmaxinevideofx"?

    Login or Signup to reply.
  2. I’m wondering if there is anything fundamentally wrong with my approach

    Possibly. I can’t say for sure, but I see two potential problems:

    First, you are running in WSL2, which is a virtualized environment. While WSL2 offers some GPU compute tasks, it does this through specialized WSL2 libraries that interact with the Windows GPU driver. It does not provide direct access to the GPU from Linux applications running inside WSL2.

    On the plus side, Linux CUDA support is provided by WSL2 (again, through the Windows NVIDIA driver), but it’s not clear to me from reading the Maxine dependencies whether or not there are additional NVIDIA libraries required.

    But that brings us to the second potential problem. Unless I’m reading it incorrectly, the dependencies specifically says that Linux support is only available for server-class GPUs. While you don’t mention your actual GPU, I’m fairly sure you aren’t running a server-class GPU on a desktop Windows system with WSL. It seems odd that Linux support would be limited in this way, and it might be worthwhile to check with the gst-nvmaxine maintainer to see if that’s truly the case. I do see that you already have an issue open there as well.

    I wouldn’t mind being wrong about this, of course, but I’m taking an educated guess that you probably won’t be able to use WSL for this task, at least not with the current state of the dependencies.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search