Linux client hardware decoding

Forums / NoMachine for Linux / Linux client hardware decoding

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #24635

    Hi,

    first congratulations for this great program.

    I have one Windows server and one Linux client, everything works ok but Linux can’t decode in hardware.

    Linux is Ubuntu.

    $ lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 18.04.3 LTS
    Release:        18.04
    Codename:       bionic

    Anyone has a solution?

    Thanks

    The problems seems to be in libva1, these lines are in the client logs:

    …..

    Info: Forwarded new network device connection.
    Info: Forwarded new smartcard device connection.
    Info: Established display connection.
    23569 23633 03:00:35 891,459 Console: WARNING! Can’t query FD#34.
    23569 23633 03:00:35 891,543 Console: WARNING! Error is 13, ‘Permission denied’.
    libva info: VA-API version 0.40.0
    libva info: va_getDriverName() returns 0
    libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
    libva error: /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so has no function __vaDriverInit_0_32
    libva info: va_openDriver() returns -1
    23569 23633 03:00:35 894,306 VADecoder/VADecoder: WARNING! Failed to initialize DRM display for device /dev/dri/renderD128 with error 0xffffffffffffffff.
    libva info: VA-API version 0.40.0
    libva info: va_getDriverName() returns 0
    libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
    libva error: /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so has no function __vaDriverInit_0_32
    libva info: va_openDriver() returns -1
    23569 23633 03:00:35 898,059 VADecoder/VADecoder: WARNING! Failed to initialize DRM display for device /dev/dri/card0 with error 0xffffffffffffffff.
    Info: H264 support is available.
    Info: Forwarded new display connection.
    Info: Audio monitor running with pid 23656.
    Info: Audio control running with pid 23657.
    Info: Forwarded new audio connection.
    Info: Audio monitor running with pid 23659.
    Info: Forwarded new voice connection.
    Info: Audio control running with pid 23660.
    Info: Remote desktop resized to 1920×1080.
    Info: Session window surface configured.
    Info: Changing display mode to ‘scaling’.
    Info: Decoder running with pid 23661.
    Info: Updater running with pid 23662.
    23569 23569 03:00:36 149,928 ClientSession: Ignore request to create a view without a frame.
    Info: Using H.264 software decoder.

     

    Output of vainfo:

    $ vainfo
    libva info: VA-API version 1.1.0
    libva info: va_getDriverName() returns 0
    libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
    libva info: Found init function __vaDriverInit_1_1
    libva info: va_openDriver() returns 0
    vainfo: VA-API version: 1.1 (libva 2.1.0)
    vainfo: Driver version: Intel i965 driver for Intel(R) Kaby Lake – 2.1.0
    vainfo: Supported profile and entrypoints
    VAProfileMPEG2Simple            : VAEntrypointVLD
    VAProfileMPEG2Simple            : VAEntrypointEncSlice
    VAProfileMPEG2Main              : VAEntrypointVLD
    VAProfileMPEG2Main              : VAEntrypointEncSlice
    VAProfileH264ConstrainedBaseline: VAEntrypointVLD
    VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
    VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
    VAProfileH264Main               : VAEntrypointVLD
    VAProfileH264Main               : VAEntrypointEncSlice
    VAProfileH264Main               : VAEntrypointEncSliceLP
    VAProfileH264High               : VAEntrypointVLD
    VAProfileH264High               : VAEntrypointEncSlice
    VAProfileH264High               : VAEntrypointEncSliceLP
    VAProfileH264MultiviewHigh      : VAEntrypointVLD
    VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
    VAProfileH264StereoHigh         : VAEntrypointVLD
    VAProfileH264StereoHigh         : VAEntrypointEncSlice
    VAProfileVC1Simple              : VAEntrypointVLD
    VAProfileVC1Main                : VAEntrypointVLD
    VAProfileVC1Advanced            : VAEntrypointVLD
    VAProfileNone                   : VAEntrypointVideoProc
    VAProfileJPEGBaseline           : VAEntrypointVLD
    VAProfileJPEGBaseline           : VAEntrypointEncPicture
    VAProfileVP8Version0_3          : VAEntrypointVLD
    VAProfileVP8Version0_3          : VAEntrypointEncSlice
    VAProfileHEVCMain               : VAEntrypointVLD
    VAProfileHEVCMain               : VAEntrypointEncSlice
    VAProfileHEVCMain10             : VAEntrypointVLD
    VAProfileHEVCMain10             : VAEntrypointEncSlice
    VAProfileVP9Profile0            : VAEntrypointVLD
    VAProfileVP9Profile0            : VAEntrypointEncSlice
    VAProfileVP9Profile2            : VAEntrypointVLD

    #24654
    Avatarfra81
    Moderator

    Hi,

    please tell the output of:

    ls -l /usr/lib/x86_64-linux-gnu/libva*.so*

    #24658

    Of course, thx for the support, here it is:

    euge@bolt:~$ ls -l /usr/lib/x86_64-linux-gnu/libva*.so*
    lrwxrwxrwx 1 root root     21 oct 31  2017 /usr/lib/x86_64-linux-gnu/libva-drm.so.1 -> libva-drm.so.1.4000.0
    -rw-r–r– 1 root root  10392 sep 24  2017 /usr/lib/x86_64-linux-gnu/libva-drm.so.1.4000.0
    lrwxrwxrwx 1 root root     20 abr  3  2018 /usr/lib/x86_64-linux-gnu/libva-drm.so.2 -> libva-drm.so.2.100.0
    -rw-r–r– 1 root root  10408 abr  3  2018 /usr/lib/x86_64-linux-gnu/libva-drm.so.2.100.0
    lrwxrwxrwx 1 root root     20 abr  3  2018 /usr/lib/x86_64-linux-gnu/libva-glx.so.2 -> libva-glx.so.2.100.0
    -rw-r–r– 1 root root  18976 abr  3  2018 /usr/lib/x86_64-linux-gnu/libva-glx.so.2.100.0
    lrwxrwxrwx 1 root root     17 oct 31  2017 /usr/lib/x86_64-linux-gnu/libva.so.1 -> libva.so.1.4000.0
    -rw-r–r– 1 root root 125416 sep 24  2017 /usr/lib/x86_64-linux-gnu/libva.so.1.4000.0
    lrwxrwxrwx 1 root root     16 abr  3  2018 /usr/lib/x86_64-linux-gnu/libva.so.2 -> libva.so.2.100.0
    -rw-r–r– 1 root root 133600 abr  3  2018 /usr/lib/x86_64-linux-gnu/libva.so.2.100.0
    lrwxrwxrwx 1 root root     25 oct 31  2017 /usr/lib/x86_64-linux-gnu/libva-wayland.so.1 -> libva-wayland.so.1.4000.0
    -rw-r–r– 1 root root  14576 sep 24  2017 /usr/lib/x86_64-linux-gnu/libva-wayland.so.1.4000.0
    lrwxrwxrwx 1 root root     24 abr  3  2018 /usr/lib/x86_64-linux-gnu/libva-wayland.so.2 -> libva-wayland.so.2.100.0
    -rw-r–r– 1 root root  18992 abr  3  2018 /usr/lib/x86_64-linux-gnu/libva-wayland.so.2.100.0
    lrwxrwxrwx 1 root root     21 oct 31  2017 /usr/lib/x86_64-linux-gnu/libva-x11.so.1 -> libva-x11.so.1.4000.0
    -rw-r–r– 1 root root  22976 sep 24  2017 /usr/lib/x86_64-linux-gnu/libva-x11.so.1.4000.0
    lrwxrwxrwx 1 root root     20 abr  3  2018 /usr/lib/x86_64-linux-gnu/libva-x11.so.2 -> libva-x11.so.2.100.0
    -rw-r–r– 1 root root  23008 abr  3  2018 /usr/lib/x86_64-linux-gnu/libva-x11.so.2.100.0

     

     

    Here is version of Xorg:

    euge@bolt:~$ sudo Xorg -version
    X.Org X Server 1.19.6
    Release Date: 2017-12-20
    X Protocol Version 11, Revision 0
    Build Operating System: Linux 4.4.0-148-generic x86_64 Ubuntu
    Current Operating System: Linux bolt 4.15.0-62-generic #69-Ubuntu SMP Wed Sep 4 20:55:53 UTC 2019 x86_64
    Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.15.0-62-generic root=UUID=667e3248-6bc9-41d9-afa5-4ae2137d7267 ro apparmor=0 pti=off spectre_v2=off l1tf=off nospec_store_bypass_disable no_stf_barrier
    Build Date: 03 June 2019  08:10:35AM
    xorg-server 2:1.19.6-1ubuntu4.3 (For technical support please see http://www.ubuntu.com/support)
    Current version of pixman: 0.34.0

    #24668
    Avatarfra81
    Moderator

    So please try this:

    cd /usr/lib/x86_64-linux-gnu/
    sudo ln -s libva.so.2 libva.so
    sudo ln -s libva-drm.so.2 libva-drm.so
    sudo ln -s libva-x11.so.2 libva-x11.so
    #24683

    Thx, that was it.

    I thought ldconfig make always those links.

    Now hardware decoding is working, although my cpu is 135%, a little worse than with software decoding.

    If you want me to make more tests just tell me.

    Thanks a lot

    Euge

     

    New log:

    67 Info: Remote desktop resized to 1920×1080.
    68 Info: Session window surface configured.
    69 Info: Changing display mode to ‘scaling’.
    70 Info: Decoder running with pid 27632.
    71 Info: Updater running with pid 27633.
    72 27528 27528 14:55:36 116,487 ClientSession: Ignore request to create a view without a frame.
    73 27528 27632 14:55:36 118,890 Console: WARNING! Can’t query FD#39.
    74 27528 27632 14:55:36 118,937 Console: WARNING! Error is 13, ‘Permission denied’.
    75 libva info: VA-API version 1.1.0
    76 libva info: va_getDriverName() returns 0
    77 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
    78 libva info: Found init function __vaDriverInit_1_1
    79 libva info: va_openDriver() returns 0
    80 Info: Detected Intel i965 driver for Intel(R) Kaby Lake – 2.1.0.
    81 Info: Using H.264 hardware decoder.

     

    #25292
    Avatarfra81
    Moderator

    Now hardware decoding is working, although my cpu is 135%, a little worse than with software decoding.

    Normally hardware decoding offloads the CPU, but this could not happen with particular combinations of hardware and drivers. Unfortunately this is not something that our software can have control over.

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

This topic was marked as solved, you can't post.