OpenVoiceOS / ovos-installer

Open Voice OS and/or HiveMind installer using Ansible with an intuitive and easy Text-based User Interface
https://www.openvoiceos.org
81 stars 24 forks source link

Operating System Not Supported: Arch Linux ARM #202

Closed 2q2code closed 1 week ago

2q2code commented 1 week ago

Honestly I don't mind if it's supported or not, but there's no linked documentation on how to perform a manual installation if the automated one fails. I will have a look around later on to see if I can find documentation elsewhere or I'll deconstruct the installer script. Just wanted to report this.

The system is a Raspberry Pi 2B+ running Arch Linux ARM. I just want to set it up as a satellite for the main system, which will be a docker container running on an AMD64 server running Arch Linux.

goldyfruit commented 1 week ago

Its mentioned here, this link is in the README.md.

Raspberry Pi 2B+ is 32-bit architecture which is not supported by the installer.

2q2code commented 1 week ago

Okay. Thank you. I skimmed through the whole thread, but was unable to find an answer on this. Is the Pi 2B+ 32-bit architecture not supported, even as a satellite? I just need to know to adjust my aims/hardware etc.

goldyfruit commented 1 week ago

Okay. Thank you. I skimmed through the whole thread, but was unable to find an answer on this. Is the Pi 2B+ 32-bit architecture not supported, even as a satellite? I just need to know to adjust my aims/hardware etc.

From the link above:

image

2q2code commented 1 week ago

Sorry. This doesn't answer my question. The context around that image says: "Here is a quick overview of what the ovos-installer could provide."

Vague language choices aside, the subject of the graphic is the installer, and not the OVOS in entirety.

My question is specifically this:

If I were to install OVOS manually, will it be able to run as a low-power satellite on a Raspberry Pi 2B+ running Arch Linux ARM?

I mean, an ESP8266 can be made to work as a satellite by turning it into a streaming UDP microphone/speaker pair. All the processing is done on other hardware. So it's not much of a reach to ask if the 2B could run as a satellite.

It has done so quite well with Rhasspy for years.

Perhaps I could rephrase again. Is there anything, in the satellite mode of OVOS, that explicitly requires a 64-bit architecture?

JarbasAl commented 1 week ago

The silero vad plugin won't work in 32bit, wake words with tensor flow might also cause issues, you can always change those plugins that don't work as ovos is super modular, but you are on your own to figure out what even needs changing, in short noone bothered trying to run in 32bit for a long long time

2q2code commented 1 week ago

Fair. Thanks.

JarbasAl commented 1 week ago

if you get it working please document your experiences :)

goldyfruit commented 1 week ago

If I were to install OVOS manually, will it be able to run as a low-power satellite on a Raspberry Pi 2B+ running Arch Linux ARM?

Did that last year on a Raspberry Pi Zero (armv7l) and I would not recommend it.

JarbasAl commented 1 week ago

the new mic satellite might be usable, as it only needs to run vad on device (doesnt need to use silero)

your best bet would be

NOTE: VAD is ok to be somewhat innacurate, as it is only used to decide when to stream audio to server, so as long as it detects noise it's fine if it streams crap like music and so on, the server has it's own VAD+WakeWord running in incoming audio. it's much less important in a mic satellite to distinguish noise from speech than in regular OVOS.

the latency/experience won't be as good obviously

JarbasAl commented 1 week ago

related to #200 , i think this issue should be closed and considered in the upcoming hivemind-installer, there it makes sense to support the mic satellite, but for OVOS i don't think it makes much sense to explicitly support 32bit in general

goldyfruit commented 1 week ago

I do not recommend 32-bit support from us as it might be very hard to guaranty stability and security.

goldyfruit commented 1 week ago

Update to be more explicit.

image

2q2code commented 1 week ago

I've updated my minimalist strategy to use the RPi Zero 2 Wireless, which has a 64-bit SOC, same as the 3B, just a fraction slower. Again, just for the satellite mode. The main node is an old gaming PC with plenty of power.

goldyfruit commented 1 week ago

I've updated my minimalist strategy to use the RPi Zero 2 Wireless, which has a 64-bit SOC, same as the 3B, just a fraction slower. Again, just for the satellite mode. The main node is an old gaming PC with plenty of power.

This is the setup I tested. :+1: