- Death of Sol :(
- Nemesis is EmuFlight's future configurator that is still under development.
Edit/create udev rules: (use vi, nano, or any text editor)
sudo nano /etc/udev/rules.d/50-myusb.rules Copy/paste the contents and save it:
# ALL STMicroelectronics devices & DFU SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="****", GROUP="users", MODE="0664" SUBSYSTEM=="tty", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="****", GROUP="users", MODE="0664" Then run
sudo udevadm control --reload add yourself to the dialout group for tty/serial permissions
sudo usermod -a -G dialout $USER #logout/login, or: #temporary group membership for this shell session: newgrp dialout To use the AppImage:
chmod +x Nemesis*.AppImage /Nemesis*.AppImage If it fails to fully run properly, then extract the contents and run directly:
./Nemesis*.AppImage --appimage-extract cd sqaush-fs ./nemesis - in effort to assist troubleshooting, this has both old and new code where old is
#commented out.
git config --global core.autocrlf input git config --global core.whitespace cr-at-eol git config --global core.filemode false #install build tools #libudev-dev is essential for USB (nodejs' usb) sudo apt-get install build-essential git libudev-dev nodejs npm yarn git clone https://github.com/emuflight/Nemesis.git cd Nemesis #currently npm v6 required npm install -g npm@6 #in some cases may need sudo #set python2 npm config set python /usr/bin/python2.7 #set node version 12 npm install -g n #in some cases may need sudo sudo n 12 #sets node version 12 #occasionally purge node_modules when versions cause problem. rm -rf node_modules/ #install required node modules npm install usb@1.6.1 --save npm install --save --save-exact --include=dev #installs exact versions, not updated packages #run in dev-mode rm -rf ./build/ npm run build && npm run electron-dev #compile to unpacked binary # results in ./dist/linux-unpacked/nemesis rm -rf ./build/ npm run build && npm run electron-pack ls -lh ./build/ #compile to AppImage rm -rf ./build/ rm -rf ./dist/ npm run build && npm run electron-pack && npm run dist ls -h ./dist/ #disable annoying desktop shortcut creation for election apps touch $HOME/.local/share/appimagekit/no_desktopintegration #run it chmod +x dist/Nemesis*.AppImage ./dist/Nemesis-*.AppImage other npm options: npm run OPTION , where OPTION is:
build electron-dev electron-pack-lin precommit pretty test build-css electron-dev-win electron-pack-win preelectron-pack ship watch-css eject electron-pack install preship start install libusb, npm and yarn using brew
brew install libusb npm yarn clone the repository
git clone https://github.com/emuflight/Nemesis.git cd Nemesis set up node v12 and set python 2.7
npm config set python /usr/bin/python2.7 npm install -g n sudo n 12 # sets node version 12 install required node modules
npm install usb@1.6.1 --save npm install --save --save-exact --include=dev #installs exact versions, not updated packages start development version
npm run electron-dev install electron builder to be able to build executable
npm install electron-builder --save-dev build app (results in ./dist/mac)
npm run build npm run electron-pack This guide assumes you have git installed and working on your machine:
https://git-scm.com/download/win Install Node.js 12 for Windows. This particular Node.js version is required. If you have other versions of Node installed, consider using nvm to manage multiple installs
https://nodejs.org/dist/latest-v12.x/ #please install via .msi, not .zip git clone the repository (or your fork):
git clone https://github.com/emuflight/Nemesis.git cd Nemesis Install Windows build tools. (run from either administrative command prompt, or powershell with administrative rights) This step may stall at Successfully installed Python 2.7, if this is the case, simply Ctrl-C one time and enter "N" for no.
npm install --global --production windows-build-tools Install Yarn, Configure python, (this part can be done from regular command line):
npm install yarn npm config set python %USERPROFILE%\.windows-build-tools\python27\python.exe Install required node modules
npm install usb@1.6.1 --save npm install --save --save-exact --include=dev #installs exact versions, not updated packages start development version
npm run electron-dev-win install electron builder to be able to build executable
npm install electron-builder --save-dev build app (results in ./dist/win-unpacked)
npm run build npm run electron-pack (these were not needed on fresh install of Windows 10 / x64 as of Dec 3, 2020) If your target device is not HID, you must install a driver before you can communicate with it using libusb. Currently, this means installing one of Microsoft's WinUSB, libusb-win32 or libusbK drivers. Two options are available:
- Recommended: Use the most recent version of Zadig, an Automated Driver Installer GUI application for
WinUSB,libusb-win32andlibusbK... - Alternatively, if you are only interested in
WinUSB, you can download the WinUSB driver files and customize theinffile for your device. - For version 1.0.21 or later, you can also use usbdk backend. usbdk provides another driver option for libusb Windows backend. For 1.0.21, usbdk is a compile-time option, but it becomes a runtime option from version 1.0.22 onwards, so you need to specify the usbdk backend using something like the following.
libusb_context * ctx = NULL; libusb_init(&ctx); libusb_set_option(ctx, LIBUSB_OPTION_USE_USBDK);