# <img src='https://camo.githubusercontent.com/48b782bbddb51b97cf2971fda5817080075f7799/68747470733a2f2f7261772e6769746861636b2e636f6d2f466f7274417765736f6d652f466f6e742d417765736f6d652f6d61737465722f737667732f736f6c69642f636f67732e737667' width='50' height='50' style='vertical-align:bottom'/> OpenVoiceOS - Mycroft Edition A minimalistic Linux OS bringing the open source voice assistant Mycroft A.I. to embbeded, low-spec headless and/or small (touch)screen devices. ## System. ### OpenVoiceOS - Full 64 Bit distribution - Linux kernel 5.10.x (LTS) - Buildroot 2021.02.x (LTS) - Mycroft 20.08.x (mycroft-lib pip installable version) - Raspberry Pi 3|3b|3b+ (Initial development hardware = 3b) - Raspberry Pi 4 (Current development hardware) ## Stats: | [](https://travis-ci.org/OpenVoiceOS/OpenVoiceOS) | [](https://github.com/OpenVoiceOS/OpenVoiceOS/commits/develop) | |:---:|:---:| | This shows if the code is valid and can be build. | This shows when this repo was updated for the last time | | [](https://github.com/OpenVoiceOS/OpenVoiceOS/stargazers) | [](https://github.com/OpenVoiceOS/OpenVoiceOS/issues) | | Please :star: this repo if you find it useful | Issues are like my personal TODO list and information archive | |[](http://www.apache.org/licenses/LICENSE-2.0.html)| [](https://github.com/OpenVoiceOS/OpenVoiceOS/pulls) | | I'm using the Apache License 2.0 similar as Mycroft A.I. which means commercial use is allowed | If you have any ideas, they're always welcome. Either submit an issue or a PR! | | [](https://stats.uptimerobot.com/Y5L6rSB07) | [](https://www.paypal.me/j1nxnl) | | I use uptime robot to monitor for things i can't monitor when the connection drops. | If you feel the need, now it's as easy as clicking this button! | ## Getting started. At this moment development is in very early stages and focussed on the Raspberry Pi 3B & 4. As soon as an initial first workable version is created, other hardware might be added. ### Getting the code. First, get the code on your system! The simplest method is via git. <br> - cd ~/ - git clone --recurse-submodules https://github.com/OpenVoiceOS/OpenVoiceOS.git - cd OpenVoiceOS ### Patching Buildroot. *(ONLY at the first clean checkout/clone)* If this is the very first time you are going to build an image, you need to execute the following command once; <br> - ./scripts/br-patches.sh <br> This will patch the Buildroot packages. ### Installing System Build Dependencies The following system packages are required to build the image: - gcc - subversion - qttools5-dev - qttools5-dev-tools - python ## Building the image. Building the image(s) can be done by utilizing a proper Makefile; <br> To see the available commands, just run: 'make help' <br> As example to build the rpi4 version;<br> - make clean - make rpi4_64-gui-config - make rpi4_64-gui Now grab a cup of coffee, go for a walk, sleep and repeat as the build process takes up a long time pulling everything from source and cross compiling everything for the device. Especially the qtwebengine package is taking a LONG time. <br> (At the moment there is an outstanding issue which prevents the build to run completely to the end. The plasma-workspace package will error out, not finding the libGLESv4 properly linked within QT5GUI. When the build stopped bacause of this error, edit the following file; <br><br> buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake <br><br> at the bottom of the file replace this line; <br><br> _qt5gui_find_extra_libs(OPENGL "GLESv2" "" "") <br><br>And replace it bit this line;<br><br> _qt5gui_find_extra_libs(OPENGL "${CMAKE_SYSROOT}/usr/lib/libGLESv2.so" "" "${CMAKE_SYSROOT}/usr/include/libdrm") <br><br> Then you can continue the build process by re-running the "make rpi4_64-gui" command. (DO NOT, run "make clean" and/or "make rpi4_64-gui-config" again, or you will start from scratch again !!!) <br><br> When everything goes fine the xz compressed image will be available within the release directory. ## Documentation. More information and instructions can be found within the "documentation" folder. ## Credits Mycroft AI (@MycroftAI)<br> Buildroot (@buildroot) HelloChatterbox (@hellochatterbox) ### Inspired by; HassOS (@home-assistant)<br>