1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
BalenaOS Jetson Nano | X server Docker Container & Box64 Unity3D Docker Container
Hey. I might be in a special use case here.
We're trying to deploy graphical interfaces OTA with BalenaOS on ARM architecture. The license from Unity was quite expensive to compile to ARM so before we take that route I thought I'd try with Box64.
I've got one container managing the X server through this https://github.com/balena-labs-projects/xserver
And another container running the exported unity project.
But nothing shows up on the display other than a mouse cursor that i can move around once plugged in..
Heres the docker container for the Unity project:
```
FROM balenalib/jetson-nano-ubuntu:latest
RUN apt update && apt install wget -y
RUN wget https://ryanfortner.github.io/box64-debs/box64.list -O /etc/apt/sources.list.d/box64.list
RUN wget -O- https://ryanfortner.github.io/box64-debs/KEY.gpg | gpg --dearmor -o /usr/share/keyrings/box64-debs-archive-keyring.gpg
RUN apt update && apt install box64 -y
WORKDIR /usr/src/app
COPY JetsonNanoTest .
COPY entry.sh .
RUN chmod +x hmi.x86_64
RUN chmod +x entry.sh
RUN apt install libxss1 libwayland-egl1 libwayland-cursor0 libxkbcommon0 libxkbcommon-x11-0 libxcursor1 libxinerama1 libxi6 libxrandr2 libxxf86vm1 -y
ENV BOX64_LOG =2
#ENTRYPOINT ["/bin/bash", "/usr/src/app/entry.sh"]
CMD [ "box64" ,"/usr/src/app/hmi.x86_64"]
```
Docker-compose file:
```
version: '2.1'
volumes:
x11:
services:
xserver:
build: ./Containers/XServer
restart: always
privileged: true
network_mode: host
volumes:
- 'x11:/tmp/.X11-unix'
emulator:
build: ./Containers/emulator
restart: always
privileged: true
network_mode: host
devices:
- /dev/dri
group_add:
- video
volumes:
- 'x11:/tmp/.X11-unix'
```
The display is default :0 , is there any specific command that Box64 needs to target a display somehow?
Logs from startup
```
[Logs] [2/23/2023, 16:42:13] [emulator] Debug level is 1
[Logs] [2/23/2023, 16:42:13] [emulator] Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL PageSize:4096 Cores:4
[Logs] [2/23/2023, 16:42:13] [emulator] Params database has 15 entries
[Logs] [2/23/2023, 16:42:13] [emulator] Box64 with Dynarec v0.2.1 ce61d27d built on Feb 22 2023 07:15:03
[Logs] [2/23/2023, 16:42:13] [emulator] Debug level is 1
[Logs] [2/23/2023, 16:42:13] [emulator] Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL PageSize:4096 Cores:4
[Logs] [2/23/2023, 16:42:13] [emulator] Params database has 15 entries
[Logs] [2/23/2023, 16:42:13] [emulator] Box64 with Dynarec v0.2.1 ce61d27d built on Feb 22 2023 07:15:03
[Logs] [2/23/2023, 16:42:13] [emulator] Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
[Logs] [2/23/2023, 16:42:13] [emulator] Using default BOX64_PATH: ./:bin/
[Logs] [2/23/2023, 16:42:13] [emulator] Counted 33 Env var
[Logs] [2/23/2023, 16:42:13] [emulator] Looking for /usr/src/app/hmi.x86_64
[Logs] [2/23/2023, 16:42:13] [emulator] Rename process to "hmi.x86_64"
[Logs] [2/23/2023, 16:42:13] [emulator] Using emulated UnityPlayer.so
[Logs] [2/23/2023, 16:42:13] [emulator] Using native(wrapped) libm.so.6
[Logs] [2/23/2023, 16:42:13] [emulator] Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
[Logs] [2/23/2023, 16:42:13] [emulator] Using native(wrapped) libpthread.so.0
[Logs] [2/23/2023, 16:42:13] [emulator] Using native(wrapped) libc.so.6
[Logs] [2/23/2023, 16:42:13] [emulator] Using native(wrapped) ld-linux-x86-64.so.2
[Logs] [2/23/2023, 16:42:13] [emulator] Using native(wrapped) libutil.so.1
[Logs] [2/23/2023, 16:42:13] [emulator] Using native(wrapped) librt.so.1
[Logs] [2/23/2023, 16:42:13] [emulator] Using native(wrapped) libdl.so.2
[Logs] [2/23/2023, 16:42:14] [emulator] [UnityMemory] Configuration Parameters - Can be set up in boot.config
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-bucket-allocator-granularity=16"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-bucket-allocator-bucket-count=8"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-bucket-allocator-block-size=4194304"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-bucket-allocator-block-count=1"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-main-allocator-block-size=16777216"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-thread-allocator-block-size=16777216"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-gfx-main-allocator-block-size=16777216"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-gfx-thread-allocator-block-size=16777216"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-cache-allocator-block-size=4194304"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-typetree-allocator-block-size=2097152"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-profiler-bucket-allocator-granularity=16"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-profiler-bucket-allocator-bucket-count=8"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-profiler-bucket-allocator-block-size=4194304"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-profiler-bucket-allocator-block-count=1"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-profiler-allocator-block-size=16777216"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-profiler-editor-allocator-block-size=1048576"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-job-temp-allocator-block-size-background=1048576"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-job-temp-allocator-reduction-small-platforms=262144"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-temp-allocator-size-background-worker=32768"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-temp-allocator-size-job-worker=262144"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-temp-allocator-size-preload-manager=262144"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-temp-allocator-size-nav-mesh-worker=65536"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-temp-allocator-size-audio-worker=65536"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-temp-allocator-size-cloud-worker=32768"
[Logs] [2/23/2023, 16:42:14] [emulator] "memorysetup-temp-allocator-size-gfx=262144"
[Logs] [2/23/2023, 16:42:14] [emulator] Using native(wrapped) libX11.so.6
[Logs] [2/23/2023, 16:42:14] [emulator] Using native(wrapped) libXext.so.6
[Logs] [2/23/2023, 16:42:14] [emulator] Using native(wrapped) libxcb.so.1
[Logs] [2/23/2023, 16:42:14] [emulator] Using native(wrapped) libXau.so.6
[Logs] [2/23/2023, 16:42:14] [emulator] Using native(wrapped) libXdmcp.so.6
[Logs] [2/23/2023, 16:42:14] [emulator] Using native(wrapped) libXcursor.so.1
[Logs] [2/23/2023, 16:42:14] [emulator] Using native(wrapped) libXinerama.so.1
[Logs] [2/23/2023, 16:42:14] [emulator] Using native(wrapped) libXi.so.6
[Logs] [2/23/2023, 16:42:14] [emulator] Using native(wrapped) libXrandr.so.2
[Logs] [2/23/2023, 16:42:14] [emulator] Using native(wrapped) libXrender.so.1
[Logs] [2/23/2023, 16:42:14] [emulator] Using native(wrapped) libXss.so.1
[Logs] [2/23/2023, 16:42:14] [emulator] Using native(wrapped) libXxf86vm.so.1
[Logs] [2/23/2023, 16:42:14] [emulator] Using native(wrapped) libwayland-client.so.0
[Logs] [2/23/2023, 16:42:14] [emulator] Using native(wrapped) libwayland-egl.so.1
[Logs] [2/23/2023, 16:42:14] [emulator] Using native(wrapped) libwayland-cursor.so.0
[Logs] [2/23/2023, 16:42:14] [emulator] Using native(wrapped) libxkbcommon.so.0
[Live] Device state settled
```
|