Unable to Enable VNC in Weston Container on Torizon OS (arm32v7)

I am working on a device running Torizon OS (Colibri iMX7), and I am trying to enable VNC access for the Weston compositor running inside a Docker container.
above my hardware and os info as below:

Software summary

Bootloader: U-Boot
Kernel version: 6.6.108-7.4.0-00057-g451f1e35226f #1-Torizon SMP PREEMPT Mon Jun 30 14:11:55 UTC 2025
Kernel command line: root=LABEL=otaroot rootfstype=ext4 quiet logo.nologo vt.global_cursor_default=0 plymouth.ignore-serial-consoles splash fbcon=map:3 ostree=/ostree/boot.0/torizon/aa104998aa7efecb21cda9332f3a8cff00fac649466c957ec5fa5444d05b3c26/0
Distro name: NAME=“Torizon OS Upstream”
Distro version: VERSION_ID=7.4.0-build.28
Distro variant: VARIANT=“Docker”
Hostname: colibri-imx7-emmc-06673341

Hardware info

HW model: Toradex Colibri iMX7D 1GB (eMMC) on Colibri Evaluation Board V3
Toradex version: 0039 V1.1A
Serial number: 06673341
Processor arch: armv7l

I am using the following command:

docker run --rm \
  --name weston \
  --net=host \
  --ipc=host \
  --privileged \
  -e ENABLE_VNC=1 \
  -e VNC_PORT=5900 \
  -v /dev:/dev \
  -v /tmp:/tmp \
  -v /run/udev:/run/udev \
  --device-cgroup-rule='c 4:* rmw' \
  --device-cgroup-rule='c 13:* rmw' \
  --device-cgroup-rule='c 226:* rmw' \
  torizon/arm32v7-debian-weston \
  --developer

Weston starts successfully, and the display is working on the device. However, the VNC server does not start, and port 5900 is not open.

I also checked the container logs, but there is no indication that a VNC server is being started.

However, I would like to know if there is a proper or recommended way to enable VNC in Weston on Torizon OS.

Questions:

  1. Does the torizon/arm32v7-debian-weston image support VNC via ENABLE_VNC=1 ?
  2. If not, what is the recommended way to enable remote GUI access (VNC or otherwise)?
  3. Is there an official Weston image for Torizon that includes built-in VNC support?

Any guidance would be appreciated.

Thank you.

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


Thank you for providing detailed system information. I can help you with enabling VNC on your Colibri iMX7D system running Torizon OS 7.4.0.

Issue with Current Container Image

The container image you’re using (torizon/arm32v7-debian-weston) is not the correct one for VNC support (1). For Colibri iMX7 modules, you need to use the official torizon/weston container image which includes built-in VNC support (1).

Correct VNC Setup for Colibri iMX7

For your Colibri iMX7/iMX6ULL system, use this command to enable VNC (1):

docker pull torizon/weston:$CT_TAG_WESTON

(1)

docker run -d --rm --ipc=host --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/ \
 --device-cgroup-rule='c 4:* rmw' --device-cgroup-rule='c 13:* rmw' \
 --device-cgroup-rule='c 226:* rmw' \
 torizon/weston:$CT_TAG_WESTON --developer \
 --tty=/dev/tty7 -- --use-pixman

(1)

Important Note about Torizon OS 7

There’s an important caveat: VNC and RDP are not yet fully released on Torizon 7 (1). While it may work, it is not guaranteed (1). The documentation recommends using this feature on Torizon 6 until it becomes fully available on Torizon 7 (1).

Answers to Your Questions

  1. Does torizon/arm32v7-debian-weston support VNC? - No, this is not the correct container. Use torizon/weston instead (1).

  2. Recommended way for remote GUI access - Use the official torizon/weston container with ENABLE_VNC=1 environment variable (1). VNC is the recommended method for Remote GUI on Torizon OS (1).

  3. Official Weston image with VNC support - Yes, torizon/weston is the official image with built-in VNC support (1).

VNC Client Connection

Once properly configured, VNC uses port 5900 by default (1). You can connect using:

vncviewer <IP_ADDRESS>::<PORT>

(1)

Alternative Solutions

If you encounter issues with VNC on Torizon OS 7, consider:

The key difference is using the correct container image (torizon/weston) rather than the generic Debian-based container you were using.

Best regards, Toradex AI Assistant.


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

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

for above step i follow then its shows log below
torizon@colibri-imx7-emmc-06673341:~$ docker run --rm --ipc=host --name=weston --net=host --env ENABLE_VNC=1 --cap-add CAP_SYS_TTY_CO
NFIG -v /dev:/dev -v /tmp:/tmp -v /run/udev/:/run/udev/ --device-cgroup-rule=‘c 4:* rmw’ --device-cgroup-rule=‘c 13:* rmw’ --devic
e-cgroup-rule=‘c 226:* rmw’ torizon/weston:$CT_TAG_WESTON --developer --tty=/dev/tty7 – --use-pixman
Switching VT tty7 to text mode if currently in graphics mode
Switching to VT 7
SoC is: ‘i.MX7D’
SoC has GPU: false
SoC has DPU: false
Fallbacking to software renderer.
VNC is not supported, please use RDP instead.
so is there need to use RDP insted of vnc in my machine @ToradexAI help me to solve this problem.

Thank you for the log output! The message “VNC is not supported, please use RDP instead” confirms that VNC is indeed not available on your Colibri iMX7D module due to hardware limitations. The log shows your system is falling back to software renderer since it has no GPU (1).

Solution: Use RDP Instead of VNC

For your Colibri iMX7/iMX6ULL system, you should use RDP instead of VNC. Here’s the correct command (1):

docker pull torizon/weston:$CT_TAG_WESTON

(1)

docker run -d --rm --ipc=host --name=weston --net=host --env ENABLE_RDP=1 --cap-add CAP_SYS_TTY_CONFIG \
 -v /dev:/dev -v /tmp:/tmp -v /run/udev/:/run/udev/ \
 --device-cgroup-rule='c 4:* rmw' --device-cgroup-rule='c 13:* rmw' \
 --device-cgroup-rule='c 226:* rmw' \
 torizon/weston:$CT_TAG_WESTON --developer \
 --tty=/dev/tty7 -- --use-pixman

(1)

Key Changes:

  • Change --env ENABLE_VNC=1 to --env ENABLE_RDP=1 (1)
  • Keep the --use-pixman flag since your system doesn’t have GPU acceleration (1)

RDP Client Connection

RDP uses port 3389 by default (1). You can connect using:

xfreerdp /v:<IP_ADDRESS>:<PORT> /sec:tls

(1)

Why RDP Instead of VNC?

According to the documentation, while both VNC and RDP protocols support authentication and encryption, on Weston only VNC implements authentication (1). However, your specific hardware (Colibri iMX7D without GPU) requires RDP for remote access (1).

RDP Client Options

You can use these RDP clients (1):

  • FreeRDP (available for Windows, Linux and macOS)
  • Parallels RDP Client (available for Windows, Linux and macOS)
  • Remote Desktop client from Windows (available for Windows, Android, iOS, macOS)

The hardware limitation on your Colibri iMX7D is why the container automatically suggests using RDP instead of VNC.

Best regards, Toradex AI Assistant.


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

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.