Skip to content

Commit 0fbf265

Browse files
2 parents a9462dc + c142c75 commit 0fbf265

4 files changed

Lines changed: 50 additions & 6 deletions

File tree

Dockerfile.raspberrypi5

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,20 @@ RUN install_packages \
1111
lsb-release \
1212
scrot
1313

14+
RUN install_packages \
15+
libgles2-mesa \
16+
mesa-vdpau-drivers \
17+
xserver-xorg-video-fbdev \
18+
libgl1-mesa-dri \
19+
libglx-mesa0 \
20+
mesa-vulkan-drivers \
21+
mesa-va-drivers \
22+
alsa-utils \
23+
libasound2-dev \
24+
pulseaudio \
25+
xterm \
26+
wget
27+
1428
WORKDIR /usr/src/app
1529

1630
# install node dependencies
@@ -38,9 +52,7 @@ RUN usermod -a -G audio,video,tty chromium
3852

3953
RUN ln -s /usr/bin/chromium /usr/bin/chromium-browser || true
4054

41-
# Set up the audio block. This won't have any effect if the audio block is not being used.
42-
RUN curl -skL https://raw.githubusercontent.com/balena-labs-projects/audio/master/scripts/alsa-bridge/debian-setup.sh| sh
43-
ENV PULSE_SERVER=tcp:audio:4317
55+
COPY ./asound.conf /etc/asound.conf
4456

4557
COPY VERSION .
4658
ENV DISPLAY=:0

Dockerfile.template

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,6 @@ RUN usermod -a -G audio,video,tty chromium
3636

3737
RUN ln -s /usr/bin/chromium /usr/bin/chromium-browser || true
3838

39-
# Set up the audio block. This won't have any effect if the audio block is not being used.
40-
RUN curl -skL https://raw.githubusercontent.com/balena-labs-projects/audio/master/scripts/alsa-bridge/debian-setup.sh| sh
41-
ENV PULSE_SERVER=tcp:audio:4317
4239

4340
COPY VERSION .
4441
ENV DISPLAY=:0

asound.conf

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
pcm.!default {
2+
type plug
3+
slave {
4+
pcm "hw:2,0"
5+
# Optional: Force output to stereo (2 channels) if the ReSpeaker Lite supports it
6+
channels 2
7+
# Optional: Force output to a common sample rate like 48000 Hz if the ReSpeaker Lite supports it
8+
# If not, let 'plug' convert to the ReSpeaker's native rate.
9+
rate 16000
10+
}
11+
}
12+
13+
ctl.!default {
14+
type hw
15+
card 2
16+
}
17+
18+
capture.!pcm {
19+
type plug
20+
slave {
21+
pcm {
22+
type hw
23+
card 0
24+
device 0
25+
}
26+
}
27+
}

src/server.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,14 @@ let launchChromium = async function (url) {
143143

144144
flags = flags.concat(["--no-sandbox", "--test-type", "--disable-features=Translate"]);
145145

146+
if (USER_FLAGS != null) {
147+
var userFlagsArray = USER_FLAGS.split(" ");
148+
flags = flags.concat(userFlagsArray);
149+
}
150+
146151
console.log(`Starting Chromium with flags: ${flags}`);
147152
console.log(`Displaying URL: ${startingUrl}`);
153+
console.log(flags);
148154

149155
setTimeout(function () {
150156
console.log("[MAIN] --- Container set Ready state ---");
@@ -157,6 +163,8 @@ let launchChromium = async function (url) {
157163
ignoreDefaultFlags: true,
158164
chromeFlags: flags,
159165
port: REMOTE_DEBUG_PORT,
166+
connectionPollInterval: 1000,
167+
maxConnectionRetries: 120,
160168
userDataDir: "1" === PERSISTENT_DATA ? "/data/chromium" : undefined,
161169
});
162170

0 commit comments

Comments
 (0)