Black screen on NoMachine Ubuntu 22.04 with AMD proprietary drivers

Forum / NoMachine for Linux / Black screen on NoMachine Ubuntu 22.04 with AMD proprietary drivers

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #44649
    hache
    Participant

    Hi,

    I am trying to make NoMachine 8.5.3 free version work with hardware encoding on an HP Microserver with AMD Opteron X3214 on Ubuntu 22.04. I have a DisplayPort Dongle acting as display.

    However after reboot I only get a black screen when connecting. Checking  /usr/NX/var/log/nxserver.log shows the following errors:

    5400 5874 2023-06-22 09:08:58 960.634 HostWmRunningHelper: WARNING! Failed to open display ‘:1024’.

    5400 5400 2023-06-22 09:08:58 961.726 NXSERVER WARNING! Cannot check WM on display :1024 EEXIST

    I restarted display-manager.service via systemd and I get the following error now:

    5400 5400 2023-06-22 09:14:03 291.543 NXSERVER WARNING! Node f8a3535f-3880-411f-82fa-8e701d9c491f from session 10E7C3BC29EC842B5D883D4310B65938 reported: Session with pid ‘1535’ terminated unexpectedly.

    Any idea how to fix this?

    Ideally I would like to connect to the physical display and use the hardware acceleration for encoding.

    Thanks for the help!

    #44674
    hache
    Participant

    I’ve removed proprietary drivers and re-installed only –usecase=amf.

    Logs look different now. I’ve attached Xorg.0.log and nxserver.log

    #44688
    hache
    Participant

    Ok uploading logs again as .zip files.

    Attachments:
    #44694
    hache
    Participant

    I’ve managed to fix the black screen issue by removing AMDGPU graphics drivers. I’ve installed them only with –usecase=amf and can get to the desktop.

    However I am still unable to get hardware encoding on the server side.

    #44715
    Britgirl
    Keymaster

    Hardware encoding won’t work if you uninstall the drivers.

    Follow the instructions here:

    How to use AMD HW encoder with NoMachine on Linux platforms
    https://kb.nomachine.com/AR02U01190

    Keep the drivers installed and send us the logs so that we can investigate the black screen issue.
    From the server side, please gather the logs following the instructions here and send to forum[at]nomachine[dot]com:

    https://kb.nomachine.com/DT07S00243

    #44718
    hache
    Participant

    I’ve used sudo amdgpu-install –usecase=amf  as it was indicated in that KB entry. However VCE fails to start. Supposedly R5 Carrizo GPUs have VCE capacity. However this doesn’t work with NoMachine. AMDGPU version installed is 21.40.1

    [    3.193237] [drm] VCE enabled in physical mode

    [    3.197430] [drm] Found VCE firmware Version: 52.4 Binary ID: 3

    [    3.388726] [drm] VCE initialized successfully.

    So for some reason, although VCE is initiated properly on Ubuntu, NoMachine fails and shows a black screen.

    #44721
    hache
    Participant

    I uninstalled all other components besides AMF as specified in your KB.
    VCE is activated in physical mode at OS level.

    $ sudo dmesg |grep VCE

    [    3.193237] [drm] VCE enabled in physical mode

    [    3.197430] [drm] Found VCE firmware Version: 52.4 Binary ID: 3

    [    3.388726] [drm] VCE initialized successfully.

    However I don’t see NoMachine even trying to use the HW encoder in the logs. Actually I have a black screen again from MacOS, however from iOS I can see the Desktop (but from iPhone the nxserver uses VP8 software encoding).

    I’ve attached the logs following your instructions.

    Thanks in advance for your help.

    #45131
    Britgirl
    Keymaster

    Just a note about VP8 decoding/encoding.

    Prior to the more recent update (8.7.1 for Android/iOS) the NoMachine app for iOS and Android used VP8 as the default decoding method. With 8.7.1 it is now H.264 on mobile as well(see here for more details https://kb.nomachine.com/SU07U00248).

    As for the HW encoding on the Ubuntu side, there is a bit of a mess with the drivers you have installed. Is it possible for you to revert back to the drivers version you had around June 23, because logs indicate that was the time when the encoder went through initial stages of initialization (so drivers were not actually failing). Then, on the server side, in the node.cfg file set the EncoderMode key to ‘bitrate’. Then try connecting.

    #45132
    Britgirl
    Keymaster

    What you can look for in the logs is this indicator:

    ERROR! Bitrate is equal or below 0.
    VCE: WARNING! Failed to set parameters.

    instead of these:

    VCE: WARNING! Failed to init device.
    VCE: WARNING! Failed to create encoder.

Viewing 9 posts - 1 through 9 (of 9 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.