-
Notifications
You must be signed in to change notification settings - Fork 379
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
aarch64: Container won't start #290
Comments
Looks like x11docker dropped your last "--device=" entry:
…--device=/dev/nvhost-nvdec
Either that or the log you posted is from a different command.
|
No, it is right, you're mistaking the docker run test and the x11docker full log that includes x11docker command ( first line ). |
Thank you for the report.
It is quite unlikely that there is no
I found that you use Ubuntu 20.10 on the host. Ubuntu uses The device files and |
You're welcome, thank you for your quick answer. I'm using
Using Removing both volumes in every cases cause the same issue too. |
Really odd.
Does it work running docker directly? Please try:
and
and
|
All of the three commands worked perfectly ! It is indeed strange.. I am clueless at the moment |
Me too ...
and:
|
With x11docker : OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "open /dev/ptmx: no such device": unknown Docker alone works here again |
Currently I am out of ideas. Just waiting for inspiration yet. Unrelated to the issue itself: I've added the device files |
Maybe try another image? This one is reported to work on arm64:
|
Thanks a lot for integrating the devices ! ( sure, it was quicker for testing to pass the drivers as is ) |
I've combined the generated docker command with your working example:
If this fails, the bug is encircled. |
This still work .... Also the above octave image uses weston by default with |
I found a bug in experimental option Please update and try:
I'll have a look to change this. You mean, x11docker uses weston for octave? Did you use option |
This worked 🙂 Edit: For the octave image, I used |
Great!
Using Could you run further tests?
Could you run a
Option
x11docker should not automatically use Wayland setups with |
Oh my bad, definitely. Running With With Attaching ( |
That sounds like a mess.
Can you try variations of the
Edit2: I've build an |
First test, fails to spawn container, lxterminal does't start : $ x11docker --showid x11docker/lxde lxterminal`
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"sh\": executable file not found in $PATH": unknown Second test, same as above, lxterminal does't start : $ x11docker --no-setup --showid x11docker/lxde lxterminal`
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"sh\": executable file not found in $PATH": unknown Third test, which launch lxterminal and spawn the container, but doesn't show the ID in any case : $ x11docker --no-setup --showid --gpu --hostdisplay x11docker/lxde lxterminal`
x11docker note: Option --no-setup: experimental only.
x11docker WARNING: User azkali is member of group docker.
That allows unprivileged processes on host to gain root privileges.
x11docker WARNING: Option --gpu degrades container isolation.
Container gains access to GPU hardware.
This allows reading host window content (palinopsia leak)
and GPU rootkits (compare proof of concept: jellyfish).
x11docker note: Option --gpu: To allow GPU acceleration with --hostdisplay,
x11docker will allow trusted cookies.
x11docker note: Option --hostdisplay: To allow --hostdisplay with trusted cookies,
x11docker must share host IPC namespace with container (option --hostipc)
to allow shared memory for X extension MIT-SHM.
x11docker WARNING: Option --hostdisplay with trusted cookies provides
QUITE BAD CONTAINER ISOLATION !
Keylogging and controlling host applications is possible!
Clipboard sharing is enabled (option --cliboard).
It is recommended to use another X server option like --xpra or --nxagent.
x11docker WARNING: Option --hostipc severely degrades
container isolation. IPC namespace remapping is disabled.
x11docker note: Option --init: Unknown init system
Possible: tini systemd sysvinit openrc runit s6-overlay none
Fallback: Using --init=tini instead.
x11docker WARNING: Sharing device file: /dev/dri
x11docker WARNING: Sharing device file: /dev/nvhost-as-gpu
x11docker WARNING: Sharing device file: /dev/nvhost-ctrl
x11docker WARNING: Sharing device file: /dev/nvhost-ctrl-gpu
x11docker WARNING: Sharing device file: /dev/nvhost-ctrl-isp
x11docker WARNING: Sharing device file: /dev/nvhost-ctrl-isp.1
x11docker WARNING: Sharing device file: /dev/nvhost-ctrl-nvdec
x11docker WARNING: Sharing device file: /dev/nvhost-ctxsw-gpu
x11docker WARNING: Sharing device file: /dev/nvhost-dbg-gpu
x11docker WARNING: Sharing device file: /dev/nvhost-gpu
x11docker WARNING: Sharing device file: /dev/nvhost-isp
x11docker WARNING: Sharing device file: /dev/nvhost-isp.1
x11docker WARNING: Sharing device file: /dev/nvhost-msenc
x11docker WARNING: Sharing device file: /dev/nvhost-nvdec
x11docker WARNING: Sharing device file: /dev/nvhost-nvjpg
x11docker WARNING: Sharing device file: /dev/nvhost-prof-gpu
x11docker WARNING: Sharing device file: /dev/nvhost-sched-gpu
x11docker WARNING: Sharing device file: /dev/nvhost-tsec
x11docker WARNING: Sharing device file: /dev/nvhost-tsecb
x11docker WARNING: Sharing device file: /dev/nvhost-tsg-gpu
x11docker WARNING: Sharing device file: /dev/nvhost-vic
x11docker WARNING: Sharing device file: /dev/nvmap
x11docker ERROR: Got error message from docker daemon:
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"sh\": executable file not found in $PATH": unknown
Last lines of logfile:
Type 'x11docker --help' for usage information
Debug options: '--verbose' (full log) or '--debug' (log excerpt).
Logfile will be: /home/azkali/.cache/x11docker/x11docker.log
Please report issues at https://github.com/mviereck/x11docker
(lxterminal:1): dbind-WARNING **: 10:12:52.343: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-AMcGzkfGpZ: Connection refused
** (lxterminal:1): WARNING **: 10:12:52.494: Bind on socket failed: No such file or directory
** (lxterminal:1): WARNING **: 10:12:52.497: Configuration file create failed: No such file or directory
DEBUGNOTE[12:12:53,184]: finish(): Container still running. Executing 'docker stop'.
Will wait up to 15 seconds for docker to finish.
DEBUGNOTE[12:12:53,215]: finish(): Waiting for container to terminate ...
DEBUGNOTE[12:12:54,254]: finish(): Waiting for container to terminate ...
DEBUGNOTE[12:12:55,286]: finish(): Waiting for container to terminate ...
DEBUGNOTE[12:12:56,316]: finish(): Waiting for container to terminate ...
DEBUGNOTE[12:12:57,350]: finish(): Waiting for container to terminate ...
DEBUGNOTE[12:12:58,380]: finish(): Waiting for container to terminate ...
DEBUGNOTE[12:12:59,417]: finish(): Waiting for container to terminate ...
DEBUGNOTE[12:13:00,492]: finish(): Container terminated successfully
DEBUGNOTE[12:13:00,708]: x11docker exit code: 64 From there I did $ docker exec --privileged --tty -u root 1f91e19d4cb1 sh -c "pstree"
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "open /dev/ptmx: no such device": unknown I'll do the above test ASAP |
Hum just saw your edits, I'm starting to think that somehow installing nvidia runtime messed up my whole docker package/configs. I'll re-flash and test everything again without installing nvidia runtime package. |
That would be interesting. I have no good idea what is wrong yet.
Ubuntu on arm might be another source of issues. Debian might be a better choice. |
Thank you, I'll prepare a plain debian then for the next tests ( I am using this board as my daily driver so I need to find the good timing to re flash ) |
Closing due to inactivity. |
Hi, so I did further testing using arch Linux, yesterday, it happens that we where missing some kernel option related to namespace. I did reproduce the same exact issues with the same commands in arch with the right options now enabled in our kernel, I think it should be good to share with you our kernel repository : Sorry for not keeping you updated with this for a while. |
Thank you for the feedback! I'll reopen now. |
Because the issue seems to boil down to A short test without x11docker:
I assume that |
Test result : $ docker run --name mysleep alpine sleep 10 &
[1] 6456
$ docker exec mysleep ps aux
OCI runtime exec failed: exec failed: container_linux.go:370: starting container process caused exec: "ps": executable file not found in $PATH: unknown |
Ok, this indicates that there is an issue with the kernel. |
Thank you, I'll take a look at what can be possibly missing and get back to you as soon as I have more insight on the kernel configuration. |
I think I can close here because it is not an x11docker bug but a kernel configuration issue and can be reproduced with |
Platform: Jetson-TX1
Architecture: aarch64
OS: Ubuntu 20.10
Docker version:
Hi, I'm trying to get x11docker and pass through the GPU, without using nvidia's runtime.
My test have been successful outside of x11docker, and the GPU is correctly being pass through/used inside the docker containers I used.
Working test using docker only :
docker run --rm -it --device=/dev/nvhost-ctrl \ --device=/dev/nvhost-ctrl-gpu \ --device=/dev/nvhost-prof-gpu \ --device=/dev/nvmap \ --device=/dev/nvhost-gpu \ --device=/dev/nvhost-as-gpu -e DISPLAY=${DISPLAY} \ --network=host \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -v /usr/lib/aarch64-linux-gnu/tegra:/usr/lib/aarch64-linux-gnu/tegra \ x11docker/lxde
Note: I'm using x11docker-Dockerfiles but built for aarch64
x11docker command :
x11docker --xpra --debug -- "--device=/dev/nvhost-ctrl --device=/dev/nvhost-ctrl-gpu --device=/dev/nvhost-prof-gpu --device=/dev/nvmap --device=/dev/nvhost-gpu --device=/dev/nvhost-as-gpu -v /usr/lib/aarch64-linux-gnu/tegra:/usr/lib/aarch64-linux-gnu/tegra" x11docker/lxde
debug log from x11docker :
Complete log file: x11docker.log
The text was updated successfully, but these errors were encountered: