Fix for enabling and starting GDM after disabling it for the nvsipl_camera sample

Please provide the following info (check/uncheck the boxes after creating this topic):
Software Version
DRIVE OS Linux 6.0.10
DRIVE OS Linux 5.2.6
DRIVE OS Linux 5.2.6 and DriveWorks 4.0
DRIVE OS Linux 5.2.0
DRIVE OS Linux 5.2.0 and DriveWorks 3.5
NVIDIA DRIVE™ Software 10.0 (Linux)
NVIDIA DRIVE™ Software 9.0 (Linux)
other DRIVE OS version
other

Target Operating System
Linux
QNX
other

Hardware Platform
NVIDIA DRIVE™ AGX Orin DevKit
NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)
other

SDK Manager Version
1.9.1.10844
other

Host Machine Version
native Ubuntu 18.04
other

Hello all,

Following the nvsip_camera sample tutorial available here, we need to terminate gdm in order to use the DevKit’s DisplayPort to see the camera output.

This involves the commands systemctl disable gdm and systemctl stop gdm.

The problem is that gdm cannot be restarted or enabled afterwards, for me systemctl start gdm.service does nothing while**systemctl enable gdm.service** throws the following error:

The unit files have no installation config (WantedBy=, RequiredBy=, Also=,
Alias= settings in the [Install] section, and DefaultInstance= for template
units). This means they are not meant to be enabled using systemctl.

Possible reasons for having this kind of units are:
• A unit may be statically enabled by being symlinked from another unit's
.wants/ or .requires/ directory.
• A unit's purpose may be to act as a helper for some other unit which has
a requirement dependency on it.
• A unit may be started when needed via activation (socket, path, timer,
D-Bus, udev, scripted systemctl call, ...).
• In case of template units, the unit is meant to be enabled with some
instance name specified.

I have tried to fix this error but it seems gdm should be enabled in some other way.

All these commands are executed remotely, as the DevKit will lose all display functionalities. Some users with the same problem seem to have access to the terminal but I don’t (probably my fault).

Regardless, the only solution I have found is this:

dpkg-reconfigure gdm3

which seems to renable gdm and start it up (might need a systemctl start gdm.service
afterwards). I found it from here.

Is this the oficial solution? I also don’t know why the tutorial requires disabling gdm instead of just stopping it, but it may have an official reason.

Anyways this has worked for me twice but I would like to know if there is any other solution to this.

Relevant questions on this topic:

Thank you very much for your time!

Hi, @p.ramos, disabling the GDM service is with the objective to keep it from starting again after a reboot.
Regarding the issue with re-enabling GDM, try working with display-manager.service, instead. GDM is aliased to it, and the system targets typically reference that service.

Regards
Daniel

AFAIU, nvsipl_camera uses openwfd to interact with the display hardware, and openwfd is one of the three window systems for Linux.

Because OpenWFD is based on the EGL specification: https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_device_openwf.txt
Therefore, it is necessary to terminate X11 before running nvsipl_camera with option -d

Please file a new topic at DRIVE AGX Orin General - NVIDIA Developer Forums with details for issues related to orin.

Ok, I think the documentation should mention disabling the GDM service is not required. It makes sense as this is a sample application and not meant for production environments, only testing the cameras, so reboot persistance should be marked as optional (although that seems trivial behaviour if you are familiar with linux service management).

As far as I know, display-manager.service is basically GDM but whenever I use the cameras again I will test working with this service to see if I can turn GDM back on.

I would still like to know the oficial way to turn GDM back on (start and enable), if there is no known one I would recommend dpkg-reconfigure gdm3 be added to the documentation (if display-manager.service doesn’t work).

Thanks!
Pedro

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.