Official client for Napster streaming service, providing a native Linux desktop experince.
It is simply an Electron wrapper that loads the official Napster bigscreen application page, just as it would in a regular web browser.
Find the assets for your library here:
- Go to the latest release.
- Download the specific file that best fits your disto.
- A machine running Arch/Ubuntu on a
x86_64
achitecture (VMs/docker should work) nmp
&node
for building only the electron app, see.nvmrc
fileflatpak
installed on your local machine as well as theflatpak-builder
package from apt/dnf/pamacorg.freedesktop.Platform
flatpakorg.freedesktop.Sdk
flatpakorg.electronjs.Electron2.BaseApp
flatpak
Once you have npm, clone the wrapper to a convenient location:
git clone https://github.com/flathub/com.napster.napster-bigscreen-electron.git
npm install
npm run build
The package should be inside the <project-root>/dist
; If built on mac, generates a dmg
as well as .app
files; Linux gets electron zip as well as AppImage
npm run build:flatpak
You can point to a different electron build (zip) by changing the following lines inside the yaml file:
From:
sources:
- type: file
url: https://github.com/flathub/com.napster.napster-bigscreen-electron/releases/download/v1.0.0/napster-bigscreen-electron_1.0.0_linux.zip
sha256: 4c7b6f7cfbb7d07303aa4b7bf1dd93f12382dc3a32333497df90361dad2c46da
To:
sources:
- type: file
path: path/to/my/build/napster-bigscreen-electron_1.0.0_linux.zip
sha256: (update the sha265 here; mac use `shasum` command; linux use `sha256sum` command)
Use a gamepad! It's intended to be used with gamepads, however, up/down/left/right/enter/backspace can be used for navigation as well as touch-screen/mouse. Note that you cannot input text with your keyboard on text fields as you'll need to use the virtual on-screen keyboard (Issue #1); This is so we can have a cross-platform app.
Set your window to 1280x800 to simulate Steamdeck's aspect ratio and resolution.
For testing you have two approaches:
- using the electron build, described above, which is multi-platform (mac,linux,windows,x64,arm) thanks to
electron-builder
; - using the flatpak build, described above, which internally pulls the latest zip release from github
Until we solve the below to-dos:
- Generate a new electron build on a
linux/x86_64
environment - Upload it to the project's releases here
- Update the
url
andsha
on the yaml file under "sources" - Push these changes to the
master
branch
- Use flatpak's node package to build the app in-place (and support multi-platform builds)
- Automation to update the version on github's releases