Cannot run VisionWorks 1.6 application with systemctl "Error: cannot open source!"

Hi,

I’m trying to run my VisionWorks application with Systemctl, configuration:
[Unit]
Description=Line Record main service
After=default.target nvargus-daemon.service

[Service]
Environment=DISPLAY=:0
Type=simple
ExecStart=+/home/nvidia/Kiwi/Capture/build/capture --nvxio_fullscreen
WorkingDirectory=/home/nvidia/Kiwi/Capture/build
KillMode=process
Restart=always
RestartSec=30

[Install]
WantedBy=default.target

I have tried different DISPLAY values.

My code:

std::string resolution = "1928x1208";
std::string input = "device:///nvcamera";

app.setDescription("This sample captures frames from NVIDIA GStreamer camera");
app.addOption('r', "resolution", "Input frame resolution", nvxio::OptionHandler::oneOf(&resolution,
    { "2592x1944", "2592x1458", "1928x1208", "1280x960", "1280x720", "640x480" }));

app.init(argc, argv);

std::unique_ptr<ovxio::FrameSource> source(ovxio::createDefaultFrameSource(context, input));
if (!source) {
    std::cout << "Error: cannot open source!" << std::endl;
    return nvxio::Application::APP_EXIT_CODE_NO_RESOURCE;
}

Systemd output:
Mar 25 13:40:03 nvidia-desktop systemd[1]: Started Line Record main service.
Mar 25 13:40:04 nvidia-desktop capture[20976]: Software version: 0.1
Mar 25 13:40:04 nvidia-desktop capture[20976]: Booting from Systemctl
Mar 25 13:40:05 nvidia-desktop capture[20976]: gpioExport: Device or resource busy
Mar 25 13:40:05 nvidia-desktop capture[20976]: gpioExport: Device or resource busy
Mar 25 13:40:05 nvidia-desktop capture[20976]: filedescriptor 3 filedescriptor 4 filedescriptor 5 filedescriptor 6 VisionWorks library info:
Mar 25 13:40:05 nvidia-desktop capture[20976]: VisionWorks version : 1.6.0
Mar 25 13:40:05 nvidia-desktop capture[20976]: OpenVX Standard version : 1.1.0
Mar 25 13:40:05 nvidia-desktop capture[20976]: No protocol specified
Mar 25 13:40:05 nvidia-desktop capture[20976]: ZONE_WARNING: {51f0} [0] Enabled
Mar 25 13:40:05 nvidia-desktop capture[20976]: ZONE_API: {51f0} [0] Enabled
Mar 25 13:40:05 nvidia-desktop capture[20976]: ZONE_MISC: {51f0} [0] Enabled
Mar 25 13:40:05 nvidia-desktop capture[20976]: ZONE_MEMORY: {51f0} [0] Enabled
Mar 25 13:40:05 nvidia-desktop capture[20976]: ZONE_PERF: {51f0} [0] Enabled
Mar 25 13:40:05 nvidia-desktop capture[20976]: Current working dir: /home/nvidia/Kiwi/Capture/build
Mar 25 13:40:05 nvidia-desktop capture[20976]: ZONE_API: {51f0} [0] Call: vxCreateContext
Mar 25 13:40:05 nvidia-desktop capture[20976]: ZONE_MISC: {51f0} [1] Create a context
Mar 25 13:40:05 nvidia-desktop capture[20976]: ZONE_MISC: {51f0} [2] Initialize for CUDA
Mar 25 13:40:05 nvidia-desktop capture[20976]: ZONE_MISC: {51f0} [3] CUDA Driver / Runtime: 10.20 / 10.20
Mar 25 13:40:05 nvidia-desktop capture[20976]: ZONE_MISC: {51f0} [3] Device 0: “Xavier”
Mar 25 13:40:05 nvidia-desktop capture[20976]: ZONE_MISC: {51f0} [3] Compute capability (#SM): 7.2 (8)
Mar 25 13:40:05 nvidia-desktop capture[20976]: ZONE_PERF: {51f0} [3] Clocks GPU / MC: 1.38 GHz / 1.38 GHz
Mar 25 13:40:05 nvidia-desktop capture[20976]: ZONE_PERF: {51f0} [3] Memory Bus width: 256 Bit
Mar 25 13:40:05 nvidia-desktop capture[20976]: ZONE_MISC: {51f0} [2] Incremented the external reference count of CONTEXT [0x55a03d33d0] to 1
Mar 25 13:40:05 nvidia-desktop capture[20976]: ZONE_API: {51f0} [0] Call: vxRegisterLogCallback
Mar 25 13:40:05 nvidia-desktop capture[20976]: Error: cannot open source!

The code functions correctly when ran directly.

Any ideas?

Thanks!

Hi,

Here is a similar topic: Startup/boot script with systemd issues - #5 by Anthony_G72
Could you try the suggestion above to see if it works first?

Thanks.