VNC viewer unable to connect

Hardware:
Verdin iMX8MP Q 8GB WBIT V1.1A
Ivy Carrier Board
NO display connected
torizon 6.8 Easy Paring

No problem logging into the device via the serial debug port or via SSH over Etherrnet using Putty.
I have followed the procedure to pull torizon/weston-vivante:$CT_TAG_WESTON_VIVANTE
and started the weston container as documented here:

Neither RealVNC or TightVNC can connect. There is mention of a problem using VNC without a display connected. There is a link specified for help in running headless:

Working with Weston on Torizon OS | Toradex Developer Center

However, navigating to it results in page not found.

Any ideas or suggestions on how to configure and use VNC on a headless Verdin iMX8MP / Ivy carrier board?
`

Hi, I’m the Toradex AI Assistant.

I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.

Did you like my answer? :+1: :-1:


Hello, thank you for your detailed description and for sharing the steps you’ve followed.

To set up VNC access on your headless Verdin iMX8MP with the Ivy Carrier Board running Torizon 6.8, you’ll need to make sure the Weston compositor is properly configured to run without a physical monitor. By default, Weston requires an active display and won’t start the graphical environment (and thus VNC) if no display is detected.

Here’s how you can enable headless operation for VNC on your setup:

1. Use the Correct Container Image

With your hardware, use the torizon/weston-imx8 container image, not the Vivante variant. This is recommended for i.MX8MP SoMs:

docker pull torizon/weston-imx8:$CT_TAG_WESTON

2. Start Weston with Headless/Forced Output

You need to force-enable a display output in Weston, even though none is physically connected. This can be done by specifying an output as enabled in the Weston config file.

Create/modify the Weston config file (e.g., /home/torizon/weston.ini) with the following content to force-enable HDMI-A-1 in headless mode:

[output]
name=HDMI-A-1
mode=1920x1080
enable=true

Mount this config into your container. For example:

docker run -e ACCEPT_FSL_EULA=1 -d --rm --name=weston --net=host \
  --env ENABLE_VNC=1 --cap-add CAP_SYS_TTY_CONFIG \
  -v /dev:/dev -v /tmp:/tmp -v /run/udev/:/run/udev/ \
  -v /home/torizon/weston.ini:/etc/xdg/weston/weston.ini \
  --device-cgroup-rule='c 4:* rmw' --device-cgroup-rule='c 13:* rmw' \
  --device-cgroup-rule='c 199:* rmw' --device-cgroup-rule='c 226:* rmw' \
  --device-cgroup-rule='c 253:* rmw' \
  torizon/weston-imx8:$CT_TAG_WESTON --developer \
  --tty=/dev/tty7

3. Connect your VNC Client

Weston VNC is available on port 5900 by default:

vncviewer <DEVICE_IP>:5900

or

vncviewer <DEVICE_IP>::5900

(TightVNC, RealVNC, and others should work.)

Reference

Note: If you encounter authentication errors, make sure your VNC client does not require a password (the default server setup is without password for Torizon VNC).

Troubleshooting

  • If you see errors about unavailable screens/displays in Weston logs (view with docker logs weston), check your .ini file path and contents.
  • Consider cleaning up any previously running Weston containers before starting a new one.
  • Ensure that port 5900 is accessible on your network.

Let me know if you need further assistance or if this solves your issue!

Best regards, Toradex AI Assistant.

Greetings @BruceHoward,

The article you’re trying to reference has been moved here now: Working with Weston on Torizon OS | Toradex Developer Center

That said, I did a quick test and this doesn’t seem to help. A physical display interface needs to be present for the VNC in Weston to work right. Just forcing the display interface on, with no real display attached seems to not help.

To understand better, what is your use-case exactly?

If your system is truly headless, then why use VNC as the method to access your system? VNC is for remotely accessing another system’s deskstop/screen. But if your system is headless then what would it be accessing in this case?

Best Regards,
Jeremias

Hi Jeremias,

We are trying to evaluate the Verdin iMX8mp SOM with torizon on the Ivy carrier board but we don’t have a display with the DSI interface. We might add a custom DSI to HDMI interface external to the IVY board but initially a VNC connection would be useful.

The link in your response also shows “page not found”. Some previous community posts seemed to indicate that it was possible to run VNC without a display and pointed to the original link in my initial post for a possible solution.

Thanks,
Bruce Howard

The link in your response also shows “page not found”.

Weird, there seems to be something wrong with some links on our website. Go to this page: Provided Containers Documentation Overview | Toradex Developer Center

And then click on the “Working with Weston on Torizon OS” article. Though as I said before, this didn’t actually help me with the VNC issue. I still needed to physically connect an actual display. In fact forcing the HDMI interface on artificially as shown in the article, just causes Weston to fail, if there is no actual HDMI display to get data from.

I’m not aware of a way around this, so you may need an actual display setup, to proceed on this point. Is ivy the only carrier board you posses?

Best Regards,
Jeremias

Hi Jeremias,

Thank you for the new link information and your assistance with my issue.

We only have the Ivy carrier board at this time. The original intent was to use an LCD with the DSI interface but have since been considering an HDMI interface or DP alt mode over USB C, which would simplify cable management.

Thanks,
Bruce Howard

For initial evaluation/development I would recommend HDMI even if you decide to use DSI in the end.

DSI displays can be quite a bit of work to get working right depending on the display and the state of the software driver for that display. Compared to HDMI displays which for the most part are plug and play.

Best Regards,
Jeremias

Hi Jeremias,

I see that Riverdi is a service party for Toradex and they have a nice selection of displays with the DSI interface. Are the Riverdi DSI displays “plug and play” with the Verdin iMX8MP Q 8GB WBIT V1.1A and the Ivy carrier board?

Thanks,
Bruce Howard

Are the Riverdi DSI displays “plug and play” with the Verdin iMX8MP Q 8GB WBIT V1.1A and the Ivy carrier board?

This depends on the exact display model chosen. But, it probably won’t be perfectly plug and play.

At a minimum you’d still need some device tree changes to enable the DSI display. The DSI displays we sell in our web-shop we have pre-made device tree support for:

This means they still need a device tree change but we already have the change pre-made. You would just need to enable this. So not quite as plug and play as HDMI, but relatively minimal effort if you’re at least using the displays we sell.

Any other DSI display is a case by case basis on how much effort is needed to get it working right. The hardware compatibility itself is usually not a problem, it’s almost always software (including device tree).

Best Regards,
Jeremias

Hi Jeremias,

We are looking for a 12.1 inch DSI display from Riverdi:

High Brightness IPS display 12.1″ TFT LCD 1280x800px, MIPI DSI interface + Capacitive touchscreen - RVT121HVDFWCA0-B | Riverdi

Riverdi clams an out of the box experience with Verdin and compatible carrier boards. Do you have any experience with the 12.1 inch DSI offerings from Riverdi? Would modify the stock Torizon overlays be an easy process?

Thank You,
Bruce Howard

I don’t personally have experience with this specific display model. Though on initial impression perhaps adapting pre-existing overlays would suffice here.

I see from the product page this display uses the “sn65dsi83” as the display driver IC. This is the same IC that our 10-inch DSI display from our webshop uses: verdin-imx8mp_panel-cap-touch-10inch-dsi_overlay.dts « overlays - device-tree-overlays.git - Sources for Device Tree Overlays

One thing that will need to be adapted I imagine is the display timings for the 12.1-inch display. We use the following timings for the 10-inch display: display-rvt101hvdwc00b_overlay.dtsi « overlays - device-tree-overlays.git - Sources for Device Tree Overlays

But the display you linked likely has different timing values.

Best Regards,
Jeremias

Hi Jeremias,

Thank you for all the information. We will try the 12.1 inch DSI display as the 10 inch display on the Toradex website is too small for our application.

Thanks!
Bruce Howard