-
Notifications
You must be signed in to change notification settings - Fork 10
developer qt_ide
This topic is currently being created and worked on!
The development of the YIO Remote software doesn't require a physical YIO Remote or a Raspberry Pi! The software also runs on Linux, macOS and Windows desktops :-) Of course certain low level functionality won't work, but otherwise it's fully functional including integrations. It's a great way to try out the software and developing new features without the crosscompile and device deployment overhead.
The software of the remote is written in Qt C++ and QML with Qt Creator.
The build environment consists of the following parts:
- Qt Open Source Edition: runtime and developer tools.
- Buildroot for creating the Raspberry Pi SD card image. See Buildroot Setup.
For desktop development only (without cross compilation):
- Supported Linux, macOS or Windows PC with admin / root privileges.
- See supported platforms.
- At the moment the YIO remote software is actively developed on Linux, macOS and Windows.
Other platforms are neither tested nor currently supported in the qmake configuration. Please feel free to add other platforms!
- Internet connection for the Qt installer and to download the YIO projects.
- Recommended: Git client
For Buildroot cross compilation:
- A Linux box or VM, otherwise Docker Desktop.
- At least 20 GB of free space. A SSD is highly recommended.
- At least 4 GB RAM. More RAM = better file system caching.
- Fast CPU. More cores = quicker build times.
- Internet connection: packages will be downloaded during the build.
See Developer VM Setup on how to setup an Ubuntu Linux VM for development.
In order to get the code running on your machine you need to download and install the Qt open source license edition for Windows, Mac or Linux. The YIO Remote software is written for Qt 5.12 which is the runtime on the RPi Zero. Therefore it's recommended to use the current 5.12.x release for development. Newer releases should work as long as no new features are being used.
The required Qt components and other OS specific pre-requisits are listed below. The Developer and Designer Tools are preselected and are required if you want the Qt Creator IDE.
In case you need to add, remove or change components post-install, start the MaintenanceTool application in the root of the Install directory (C:\Qt or ~/Qt by default).
Please use the downloaded Qt installer and not an available version from your Linux distribution. This avoids confusion caused by different Qt versions and developer tools. Each version of a Linux distribution usually comes with a different Qt version. If you download and install Qt for yourself you can independently update the OS and the Qt environment.
The core developers are using Ubuntu desktop x64 (18.04 and 19.10). Other distros should work as well as long as they are supported.
Required Qt components:
- Desktop gcc 64-bit
- Sources
- Qt Virtual Keyboard
- Qt Network Authorization
XCode is required and must be installed to use Qt Creator on macOS. It should be launched at least once to complete initialization and to install the command line developer tools.
Required Qt components:
- macOS
- Sources
- Qt Virtual Keyboard
- Optional: iOS if you wish to run it on your Apple mobile device too (experimental & no priority at the moment)
The configuration of a Raspberry Pi cross compilation toolchain with Buildroot has been abandoned. It seems possible but very complicated. Please contact us if you have a working solution!
Use the Docker image for cross compilation and image creation. See Setup Buildroot.
Required Qt components:
- All MSVC entries
- MinGW 7.3.0 64-bit
- Sources
- Qt Virtual Keyboard
- Qt Debug Information Files
The configuration of a Raspberry Pi cross compilation toolchain with Buildroot has not been looked at. Please contact us if you have a working solution!
Use the Docker image for cross compilation and image creation. See Setup Buildroot.
TODO
TODO
TODO
YIO Remote Project Documentation Wiki Page https://github.com/YIO-Remote/documentation/wiki
Home
YIO Remote API
Dock
FAQ
Supporters
Remote Firmware
Dock Firmware
YIO Homepage
YIO Community
YIO Github
YIO Discord Channel
YIO Facebook
YIO Instagram
YIO Twitter
YIO YouTube
YIO Translation
Dock
Remote
Supported IR Extenders
Home Assistant
Homey
openHAB
Roon
Spotify
YIO Dock
Build Environment
Setup Qt IDE
Setup PlatformIO IDE
Developer VM
Setup Buildroot
API
API
WebSocket API
Generic
SSH/SCP
Architecture
Coding Guidelines
Configuration File
Developing Integrations
Entity Types
Logging
Workflow
Git Workflow
Pull Requests
Continuous Integration