Hey team,
We have created a docker image with the kepler SDK & build tools so we can run end-to-end tests.
The SDK & tools are installed correctly, and building apps works, but when starting the headless device:
kepler device simulator start --gui=false [--gl-accel=false]
the launch fails with:
qemu-system-x86_64-headless: -chardev socket,port=46777,host=::1,nowait,nodelay,ipv6,id=gnss: address resolution failed for ::1:46777: Name or service not known
WARNING | QEMU main loop exits abnormally with code 1
The docker image is based on linux/amd64 ubuntu:24.04, using Vega SDK v0.21.4726.
I think it is referring to the localhost loopback config in /etc/hosts, but everything looks to be setup correctly there.
Has anyone already managed to run a virtual device like this? I didn’t find any publicly available vega Docker images.
Kind regards,
Tom.
Hey @Tom_Van_Laerhoven,
The IPv6 localhost resolution issue you’re encountering is a common Docker networking problem. Here are the most effective solutions to try:
Primary Solution: Use Official CI Documentation
Refer the documentation here for official guidance with Docker integration in the Vega SDK that addresses exactly this type of issue.
It has a complete Dockerfile example with proper networking configuration, Environment variable setup (NONINTERACTIVE=true, KEPLER_SDK_PATH, etc.), Option to skip VVD installation entirely by omitting the --sim-url flag during SDK installation.
Quick Docker Fixes to Try
-
Host Networking (Simplest)
docker run --network=host --privileged [your-image]
kepler device simulator start --gui=false --gl-accel=false`
-
IPv6 Configuration
docker run --dns=127.0.0.1 --dns=::1 --sysctl net.ipv6.conf.all.disable_ipv6=0 --privileged [your-image]
Alternative Approach: Skip Virtual Device
For CI/testing purposes, you might not need the Vega virtual device at all. Please do the basic installation by removing --sim-url option as mentioned here.
curl -fsSL <installer-script-url> | NONINTERACTIVE=true /bin/bash — --sdk-url <sdk-url> version <version>
Note: No --sim-url flag = no simulator installation
This eliminates the QEMU networking issue entirely and significantly reduces installation footprint.
Root Cause
The error occurs because QEMU is trying to bind to IPv6 localhost (::1:46777), but Docker containers often have IPv6 disabled or misconfigured by default.
Let me know which approach works for you!
Warm regards,
Ivy
Thanks Ivy, your suggested fixes work.
Kind regards,
Tom.
Thanks for the update Tom, we’ll close this topic for now.
Please reach out to us if you have any other issues/doubts.
Warm regards,
Ivy