Intel N100 Gen 12 and video acceleration

Forum / NoMachine for Linux / Intel N100 Gen 12 and video acceleration

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #47034
    sideeffect
    Participant

    Tested using Debian Bookworm and now Debian Sid.

    Hello, Please help.

    I have spent many days reading guides trying to get hardware acceleration working with NoMachine and my Alder Lake-N100 mini PC. I am starting to think that it is not possible. I am looking for confirmation that it can indeed work so I know if I should keep trying.

    There is a lot of conflicting information around on the forum and the internet with configuration settings that just don’t work on Generation 12 and above CPU’s. For example most of the guides recommend installing Intel MediaSDK but that is not compatible with Generation 12 and so it won’t work and it just breaks VAAPI. The Intel Media Driver for VAAPI does work with Gen 12 but it seems there is no support for it in NoMachine.

    What I have tried so far without success-
    Installing Mediastack as recommended in Knowledge base.
    Trying with intel-media-va-driver instead of non-free as suggested in Knowledge base.
    Compiling installing the latest Intel MediaSDK.
    Compiling and installing the latest Media driver and LibVa.
    Compiling and installing oneVPL and oneVPL GPU Runtime and trying to tell it to use the MediaSDK compatibility mode.

    I am going around in circles a little bit but from what I can see
    -if I install MediaSDK NoMachine tries to load /opt/intel/mediasdk/lib64/iHD_drv_video.so but hardware acceleration fails because MediaSDK doesn’t support Gen12.

    -If I don’t install MediaSDK NoMachine tries to load /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so but hardware acceleration fails because NoMachine doesn’t support VAAPI.

    Perhaps the oneVPL method can work, but I don’t think so because NoMachine still wouldn’t want to use it.

    Anyone got this to work? Any pointers?

    #47095
    Britgirl
    Keymaster

    Hi, can you send us the server side logs of that Intel machine? We just acquired one of those Intel machines and are also testing it, so we can advise better. It would be good to compare.

    These are the instructions for the logs, send them to forum[at]nomachine[dot]com with the title of this topic as the subject of your email 🙂 https://kb.nomachine.com/DT07S00243

    #47121
    sideeffect
    Participant

    Hi Britgirl, Sure I will send some logs soon. Cool little PC’s these are. Makes a great low power docker server and transcoder for Jellyfin. 🙂

    I think the issue could be with ffmpeg. I am using latest build so I can use the newest MPV with Vulkan support and libplacebo tone mapping but newer ffmpeg builds use -libvpl and not -libmfx for Intel Quick sync. I don’t think it’s possible to build ffmpeg with both flags. I think libmfx is becoming deprecated.

    I hope NoMachine can move towards supporting libvpl because it seems that going forward that will provide the best level of hardware acceleration support on new Intel CPU’s and it has legacy support for older CPU’s.

     

    #47217
    Britgirl
    Keymaster

    We’re still investigating. In the meantime, can you take a look at the following link and try the steps there? This will at least check that everything is functional (without NoMachine in the mix).

    export LIBVA_DRIVER_NAME=iHD
    wget https://github.com/lu-zero/fate-samples/raw/master/h264-conformance/AUD_MW_E.264
    
    # Decode H.264 video stream w/ maximum speed
    /usr/share/mfx/samples/sample_decode h264 -i AUD_MW_E.264
    
    # Decode H.264 video stream and dump output YUV
    /usr/share/mfx/samples/sample_decode h264 -i AUD_MW_E.264 -o AUD_MW_E.yuv -i420
    # You can verify the result comparing with the following checksum:
    # sha1sum AUD_MW_E.yuv
    e17a3f8cfeeeb1cc46218c3c797d24dd84e82b59 AUD_MW_E.yuv
    
    # Encode H.264 stream w/ Low Power encoder on gen9+ (skl+)
    /usr/share/mfx/samples/sample_encode h264 \
    -w 176 -h 144 -f 30 -cqp -qpi 30 -qpp 30 -qpb 30 -qsv-ff \
    -i AUD_MW_E.yuv -o encoded_AUD_MW_E.264

    and tell us the outcome.

    #47219
    sideeffect
    Participant

    I don’t have mfx installed anymore because mfx is part of Intel Media SDK and Intel Media SDK doesn’t work with generation 12 or newer GPU’s. Intel Media SDK has been discontinued since 2022 and mfx is legacy.

    Libmfx is deprecated and I think NoMachine needs to support libvpl or VA-API if it is to support hardware acceleration on newer Intel chips. When building FFmpeg you need to choose either libmfx or libvpl you can’t use both and libvpl is needed for OneVPL.

    Libvpl and Onevpl are working perfectly fine on my system and I can use Quicksync in Handbrake or ffmpeg via VA-API or Vulkan. I tried hard to get mfx working and it just wouldn’t for me on this chip.

    Hardware Quicksync FFmpeg – https://trac.ffmpeg.org/wiki/Hardware/QuickSync

     

    #47546
    Britgirl
    Keymaster

    Support for VA-API is planned and we are currently working on adding support for VPL

    #47547
    Britgirl
    Keymaster

    Something you can try on the fly: check in /usr/lib/x86_64-linux-gnu if you have libmfxhw64.so – if not please create a symbolic link to libmfxhw64.so.1 with:

     

    cd /usr/lib/x86_64-linux-gnu/
    sudo ln -s libmfxhw64.so.1 libmfxhw64.so

     

    restart NoMachine and try again to see whether NoMachine uses Intel’s mfx hardware encoding.

Viewing 7 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic.