No hardware decode on Kubuntu 22.04 + GTX 1060 6GB

Forum / NoMachine for Linux / No hardware decode on Kubuntu 22.04 + GTX 1060 6GB

Viewing 15 posts - 1 through 15 (of 27 total)
  • Author
    Posts
  • #41940
    Piter Dias
    Participant

    Hi,

    I found some forum messages about hardware decode on Linux, but none could help me much. The Windows 11 desktop (NX server) uses hardware encoding but the Linux (Kubuntu 22.04.1 LTS plasmashell 5.24.7) client (where the good GPU is) only uses software encoding.

    I would say that the error is related to libva (see session log attached), perhaps due to version problems (Kubuntu 22.04 shipped libraries vs NoMachine 8.2.3 Free Version requirements) but can’t say for sure or solve by myself.

    Can someone help me, please?

    Thanks a lot.

     

     

    #41956
    Piter Dias
    Participant

    Now with client log and configuration file.

    Attachments:
    #42064
    Bilbotine
    Participant

    Hi Piter,

    The files you added to your post were unfortunately not uploaded correctly.

    In order to investigate, we need to check them; can you please resend them by email to forum[at]nomachine[dot]com, making sure to reference the topic as the subject of the email?

    Thank you!

    #42400
    fra81
    Moderator

    Hi Piter,

    logs show that DRM initialization fails, maybe due to some missing package. Please show us the output of this command:

    dpkg -l | grep -i "libva\|vaapi\|vdpau"

    #42402
    Piter Dias
    Participant

    Hi. This is the output

    dpkg -l | grep -i “libva\|vaapi\|vdpau”
    ii  i965-va-driver:amd64                2.4.1+dfsg1-1                  amd64        VAAPI driver for Intel G45 & HD Graphics family
    ii  intel-media-va-driver:amd64    22.3.1+dfsg1-1ubuntu1   amd64        VAAPI driver for the Intel GEN8+ Graphics family
    ii  libva-drm2:amd64                     2.14.0-1                           amd64        Video Acceleration (VA) API for Linux — DRM runtime
    ii  libva-glx2:amd64                      2.14.0-1                            amd64        Video Acceleration (VA) API for Linux — GLX runtime
    ii  libva-wayland2:amd64              2.14.0-1                            amd64        Video Acceleration (VA) API for Linux — Wayland runtime
    ii  libva-x11-2:amd64                    2.14.0-1                            amd64        Video Acceleration (VA) API for Linux — X11 runtime
    ii  libva2:amd64                             2.14.0-1                            amd64        Video Acceleration (VA) API for Linux — runtime
    ii  libvariable-magic-perl                        0.62-1build5                                amd64        module to associate user-defined magic to variables from Perl
    ii  libvdpau1:amd64                               1.4-3build2                                 amd64        Video Decode and Presentation API for Unix (libraries)
    ii  mesa-vdpau-drivers:amd64                      22.0.5-0ubuntu0.1                           amd64        Mesa VDPAU video acceleration drivers
    ii  vdpau-driver-all:amd64                        1.4-3build2                                 amd64        Video Decode and Presentation API for Unix (driver metapackage)
    ii  vdpauinfo                                     1.4-2                                       amd64        Video Decode and Presentation API for Unix (vdpauinfo utility)

    #42450
    fra81
    Moderator

    Please try to installe the ‘vdpau-va-driver’ package and tell us if it helps.

    #42458
    Piter Dias
    Participant

    Hi. I believe this package was removed from Ubuntu 22.04 LTS. In fact, searching Ubuntu repositories I just found it on Ubuntu 18.04 LTS.

    sudo apt install vdpau-va-driver
    Reading package lists… Done
    Building dependency tree… Done
    Reading state information… Done
    Package vdpau-va-driver is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    However the following packages replace it:
    mesa-va-drivers:i386 mesa-va-drivers

    E: Package ‘vdpau-va-driver’ has no installation candidate

    sudo apt install mesa-va-drivers
    Reading package lists… Done
    Building dependency tree… Done
    Reading state information… Done
    mesa-va-drivers is already the newest version (22.0.5-0ubuntu0.3).
    0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.

    sudo apt-cache depends mesa-va-drivers
    mesa-va-drivers
    Depends: libc6
    Depends: libdrm-amdgpu1
    Depends: libdrm-nouveau2
    Depends: libdrm-radeon1
    Depends: libdrm2
    Depends: libelf1
    Depends: libexpat1
    Depends: libgcc-s1
    Depends: libllvm13
    Depends: libstdc++6
    Depends: libx11-xcb1
    Depends: libxcb-dri2-0
    Depends: libxcb-dri3-0
    Depends: libxcb-present0
    Depends: libxcb-sync1
    Depends: libxcb-xfixes0
    Depends: libxcb1
    Depends: libxshmfence1
    Depends: libzstd1
    Depends: zlib1g
    Breaks: <vdpau-va-driver>
    Replaces: <vdpau-va-driver>
    Enhances: libva2

     

    #42677
    fra81
    Moderator

    Hi,

    can you show us the output of these two commands?

    for DEVICE in /dev/dri/* ; do echo "*** Trying $DEVICE ***" && LIBVA_DRIVER_NAME=nvidia vainfo --display drm --device $DEVICE ; done

    lsmod

    #42716
    Piter Dias
    Participant

    See below the outputs. Isn’t the problem related to the drop of vdpau-va-driver by Debian? See “vainfo requires a nvidia sofile not in repositories”.

    Thanks a lot.

    vainfo
    *** Trying /dev/dri/by-path ***
    Failed to open the given device!
    *** Trying /dev/dri/card0 ***
    libva info: VA-API version 1.14.0
    libva info: User environment variable requested driver ‘nvidia’
    libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
    libva info: va_openDriver() returns -1
    vaInitialize failed with error code -1 (unknown libva error),exit
    *** Trying /dev/dri/renderD128 ***
    libva info: VA-API version 1.14.0
    libva info: User environment variable requested driver ‘nvidia’
    libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
    libva info: va_openDriver() returns -1
    vaInitialize failed with error code -1 (unknown libva error),exit

    lsmod
    $ lsmod
    Module Size Used by
    nf_tables 249856 0
    libcrc32c 16384 1 nf_tables
    nfnetlink 20480 1 nf_tables
    binfmt_misc 24576 1
    intel_rapl_msr 20480 0
    mei_hdcp 24576 0
    intel_rapl_common 40960 1 intel_rapl_msr
    intel_tcc_cooling 16384 0
    x86_pkg_temp_thermal 20480 0
    intel_powerclamp 20480 0
    coretemp 24576 0
    kvm_intel 368640 0
    zfs 3821568 8
    kvm 1028096 1 kvm_intel
    zunicode 348160 1 zfs
    rapl 20480 0
    wl 6467584 0
    zzstd 491520 1 zfs
    snd_hda_codec_realtek 159744 1
    snd_hda_codec_generic 102400 1 snd_hda_codec_realtek
    intel_cstate 20480 0
    snd_hda_codec_hdmi 77824 1
    ledtrig_audio 16384 1 snd_hda_codec_generic
    zlua 163840 1 zfs
    zavl 20480 1 zfs
    icp 323584 1 zfs
    eeepc_wmi 16384 0
    nls_iso8859_1 16384 1
    wmi_bmof 16384 0
    snd_hda_intel 53248 4
    snd_intel_dspcfg 28672 1 snd_hda_intel
    snd_intel_sdw_acpi 20480 1 snd_intel_dspcfg
    serio_raw 20480 0
    zcommon 106496 2 zfs,icp
    snd_usb_audio 356352 0
    snd_hda_codec 163840 4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
    snd_usbmidi_lib 45056 1 snd_usb_audio
    znvpair 98304 2 zfs,zcommon
    mxm_wmi 16384 0
    snd_hda_core 110592 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
    snd_hwdep 16384 2 snd_usb_audio,snd_hda_codec
    snd_pcm 143360 5 snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,snd_hda_core
    ee1004 20480 0
    spl 118784 6 zfs,icp,zzstd,znvpair,zcommon,zavl
    cfg80211 974848 1 wl
    snd_seq_midi 20480 0
    snd_seq_midi_event 16384 1 snd_seq_midi
    snd_rawmidi 49152 2 snd_seq_midi,snd_usbmidi_lib
    uvcvideo 106496 0
    snd_seq 77824 2 snd_seq_midi,snd_seq_midi_event
    videobuf2_vmalloc 20480 1 uvcvideo
    videobuf2_memops 20480 1 videobuf2_vmalloc
    snd_seq_device 16384 3 snd_seq,snd_seq_midi,snd_rawmidi
    snd_timer 40960 2 snd_seq,snd_pcm
    videobuf2_v4l2 32768 1 uvcvideo
    videobuf2_common 77824 4 videobuf2_vmalloc,videobuf2_v4l2,uvcvideo,videobuf2_memops
    input_leds 16384 0
    joydev 32768 0
    videodev 258048 3 videobuf2_v4l2,uvcvideo,videobuf2_common
    snd 106496 21 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm,snd_rawmidi
    mei_me 40960 1
    mc 65536 5 videodev,snd_usb_audio,videobuf2_v4l2,uvcvideo,videobuf2_common
    mei 135168 3 mei_hdcp,mei_me
    soundcore 16384 1 snd
    acpi_pad 184320 0
    mac_hid 16384 0
    nvidia_uvm 1339392 0
    sch_fq_codel 20480 3
    nvidia_fs 258048 0
    msr 16384 0
    parport_pc 49152 0
    ppdev 24576 0
    lp 28672 0
    parport 69632 3 parport_pc,lp,ppdev
    ramoops 32768 0
    pstore_blk 16384 0
    reed_solomon 28672 1 ramoops
    pstore_zone 32768 1 pstore_blk
    efi_pstore 16384 0
    ip_tables 32768 0
    x_tables 53248 1 ip_tables
    autofs4 49152 2
    hid_generic 16384 0
    usbhid 65536 0
    hid 151552 2 usbhid,hid_generic
    nvidia_drm 69632 10
    nvidia_modeset 1183744 20 nvidia_drm
    nvidia 55201792 1294 nvidia_uvm,nvidia_modeset
    drm_kms_helper 311296 1 nvidia_drm
    mfd_aaeon 16384 0
    syscopyarea 16384 1 drm_kms_helper
    crct10dif_pclmul 16384 1
    asus_wmi 45056 2 eeepc_wmi,mfd_aaeon
    sysfillrect 20480 1 drm_kms_helper
    sparse_keymap 16384 1 asus_wmi
    crc32_pclmul 16384 0
    ghash_clmulni_intel 16384 0
    aesni_intel 376832 0
    crypto_simd 16384 1 aesni_intel
    platform_profile 16384 1 asus_wmi
    cryptd 24576 2 crypto_simd,ghash_clmulni_intel
    nvme 49152 2
    psmouse 176128 0
    sysimgblt 16384 1 drm_kms_helper
    fb_sys_fops 16384 1 drm_kms_helper
    cec 61440 1 drm_kms_helper
    rc_core 65536 1 cec
    i2c_i801 36864 0
    e1000e 299008 0
    i2c_smbus 20480 1 i2c_i801
    nvme_core 135168 3 nvme
    ahci 45056 4
    drm 622592 14 drm_kms_helper,nvidia,nvidia_drm
    libahci 45056 1 ahci
    xhci_pci 24576 0
    xhci_pci_renesas 20480 1 xhci_pci
    wmi 32768 4 asus_wmi,wmi_bmof,mfd_aaeon,mxm_wmi
    video 61440 1 asus_wmi

    #42987
    fra81
    Moderator

    Hi Piter, sorry for the the late reply.

    Isn’t the problem related to the drop of vdpau-va-driver by Debian?

    Yes, it seems so. Anyway this isn’t something that can be fixed in the NoMachine software.

    #42990
    Piter Dias
    Participant

    Ok. Thanks.

    #42994
    Ilgaz
    Participant

    I have a way more older/less capable nvidia 9400 here running both openSUSE Tumbleweed (modern, latest kernel, rolling) nouveau driver and Mint (Ubuntu 20.04 based, LTS) with nvidia 340 closed source driver.

    Both have vaapi enabled. Following is from openSUSE Tumbleweed. NoMachine refuses to use hardware decoding. This is a particularly big issue on a low spec/old machine like this.

    vainfo
    Trying display: wayland
    libva info: VA-API version 1.17.0
    libva info: Trying to open /usr/lib64/dri/nouveau_drv_video.so
    libva info: Found init function __vaDriverInit_1_17
    libva info: va_openDriver() returns 0
    vainfo: VA-API version: 1.17 (libva 2.17.1)
    vainfo: Driver version: Mesa Gallium driver 22.3.5 for NVAC
    vainfo: Supported profile and entrypoints
    VAProfileMPEG2Simple            : VAEntrypointVLD
    VAProfileMPEG2Main              : VAEntrypointVLD
    VAProfileVC1Simple              : VAEntrypointVLD
    VAProfileVC1Main                : VAEntrypointVLD
    VAProfileVC1Advanced            : VAEntrypointVLD
    VAProfileH264ConstrainedBaseline: VAEntrypointVLD
    VAProfileH264Main               : VAEntrypointVLD
    VAProfileH264High               : VAEntrypointVLD
    VAProfileNone                   : VAEntrypointVideoProc
    inxi -G
    Graphics:
    Device-1: NVIDIA C79 [GeForce 9400M] driver: nouveau v: kernel
    Device-2: Apple Built-in iSight type: USB driver: uvcvideo
    Display: wayland server: X.org v: 1.21.1.7 with: Xwayland v: 22.1.8
    compositor: kwin_wayland driver: X: loaded: modesetting unloaded: fbdev,vesa
    dri: nouveau gpu: nouveau resolution: 1280x800
    API: OpenGL v: 3.3 Mesa 22.3.5 renderer: NVAC
    #43052
    fra81
    Moderator

    Hi Ilgaz,

    please show us the client side logs for your case (https://kb.nomachine.com/DT07S00244?s=client%20logs#2). You can attach them here or send to forum[at]nomachine[dot]com, by referencing this topic.

    #43059
    Ilgaz
    Participant

    Hello. Thanks for caring.

    I am currently on Linux Mint 20.3 which is based on Ubuntu 20.04 LTS with 5.4 series kernel. I have nvidia official 340 series driver (not nouveau) installed and ‘vainfo’ command outputs this. Log attached.

    ilgaz@ilgaz-MacBook:~$ vainfo
    libva info: VA-API version 1.7.0
    libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
    libva info: Found init function __vaDriverInit_1_0
    libva info: va_openDriver() returns 0
    vainfo: VA-API version: 1.7 (libva 2.6.0)
    vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API – 0.7.4
    vainfo: Supported profile and entrypoints
    VAProfileMPEG2Simple            :    VAEntrypointVLD
    VAProfileMPEG2Main              :    VAEntrypointVLD
    VAProfileH264Main               :    VAEntrypointVLD
    VAProfileH264High               :    VAEntrypointVLD
    VAProfileVC1Simple              :    VAEntrypointVLD
    VAProfileVC1Main                :    VAEntrypointVLD
    VAProfileVC1Advanced            :    VAEntrypointVLD
    ilgaz@ilgaz-MacBook:~$ inxi -G
    Graphics:
    Device-1: NVIDIA C79 [GeForce 9400M] driver: nvidia v: 340.108
    Display: x11 server: X.Org 1.20.13 driver: nvidia
    unloaded: fbdev,modesetting,nouveau,vesa resolution: 1280×800~60Hz
    OpenGL: renderer: GeForce 9400M/integrated/SSE2 v: 3.3.0 NVIDIA 340.108

    #44004
    Britgirl
    Keymaster

    Ilgaz, we would need the output of vainfo --display drm', because nomachine specifically uses ‘drm’, not the ‘x11’

    Here’s a one-liner for bash that should print only drivers and devices that will work (if nothing is printed, then nothing works). It iterates through all devices in /dev/dri and all drivers in /usr/lib/*_drv_video.so:

    for DRVNAME in $(find /usr/lib -name "*drv_video.so" -exec basename {} \; | sed 's/_drv_video.so//'); do for DEVICE in /dev/dri/* ; do LIBVA_DRIVER_NAME=$DRVNAME vainfo --display drm --device $DEVICE 1>/dev/null 2>/dev/null ; [ $? -eq 0 ] && echo "$DRVNAME $DEVICE" ; done ; done 2>/dev/null | grep -v dummy

Viewing 15 posts - 1 through 15 (of 27 total)

Closed because the user did not provide further feedback. Please notify us if you confirm that it is resolved or open a new topic if you have the same problem.