Compare commits
No commits in common. "440ef15fcb71c2a7cf629c1d7906a184e14d2b62" and "57fdea94427b170c2ae2e3dd8722ef0fa0d5e2fc" have entirely different histories.
440ef15fcb
...
57fdea9442
6 changed files with 7 additions and 90 deletions
27
PKGBUILD
27
PKGBUILD
|
@ -1,27 +0,0 @@
|
||||||
# Maintainer: Dymstro <ricardo at dymstro dot nl>
|
|
||||||
|
|
||||||
pkgname=nova-chatmix
|
|
||||||
pkgver=0.1.0
|
|
||||||
pkgrel=1
|
|
||||||
arch=('any')
|
|
||||||
url='https://git.dymstro.nl/Dymstro/nova-chatmix-linux'
|
|
||||||
license=('0BSD')
|
|
||||||
depends=('python' 'python-hidapi' 'pipewire' 'libpulse')
|
|
||||||
makedepends=('git')
|
|
||||||
source=("$pkgname::git+https://git.dymstro.nl/Dymstro/nova-chatmix-linux.git#tag=v${pkgver}")
|
|
||||||
sha256sums=('SKIP')
|
|
||||||
install=nova-chatmix.install
|
|
||||||
|
|
||||||
prepare() {
|
|
||||||
# Change service to point to system bin directory
|
|
||||||
sed -i 's#%h/\.local/bin#/usr/bin#g' ${pkgname}/nova-chatmix.service
|
|
||||||
}
|
|
||||||
|
|
||||||
package() {
|
|
||||||
cd "${pkgname}"
|
|
||||||
install -Dm755 nova-chatmix.py "${pkgdir}/usr/bin/nova-chatmix/nova-chatmix"
|
|
||||||
install -Dm644 50-nova-pro-wireless.rules "${pkgdir}/usr/lib/udev/rules.d/50-nova-pro-wireless.rules"
|
|
||||||
install -Dm644 nova-chatmix.service "${pkgdir}/usr/lib/systemd/user/nova-chatmix.service"
|
|
||||||
install -Dm644 README.md "${pkgdir}/usr/share/doc/${pkgname}/README.md"
|
|
||||||
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
|
|
||||||
}
|
|
10
README.md
10
README.md
|
@ -59,7 +59,7 @@ To be able to run the script as a non-root user, some udev rules need to be appl
|
||||||
Copy `50-nova-pro-wireless.rules` to `/etc/udev/rules.d` and reload udev rules:
|
Copy `50-nova-pro-wireless.rules` to `/etc/udev/rules.d` and reload udev rules:
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo cp 50-nova-pro-wireless.rules /etc/udev/rules.d/50-nova-pro-wireless.rules
|
sudo cp 50-nova-pro-wireless.rules /etc/udev/rules.d/
|
||||||
|
|
||||||
sudo udevadm control --reload-rules
|
sudo udevadm control --reload-rules
|
||||||
sudo udevadm trigger
|
sudo udevadm trigger
|
||||||
|
@ -72,12 +72,12 @@ If you want to run this script on startup you can add and enable the systemd ser
|
||||||
# Create the folder if it doesn't exist
|
# Create the folder if it doesn't exist
|
||||||
mkdir -p ~/.local/bin
|
mkdir -p ~/.local/bin
|
||||||
# Copy the script to the expected location
|
# Copy the script to the expected location
|
||||||
cp -i nova-chatmix.py ~/.local/bin/nova-chatmix
|
cp -i nova.py ~/.local/bin
|
||||||
|
|
||||||
# Create systemd user unit folder if it doesn't exist
|
# Create systemd user unit folder if it doesn't exist
|
||||||
mkdir -p ~/.config/systemd/user
|
mkdir -p ~/.config/systemd/user
|
||||||
# Install the service file
|
# Install the service file
|
||||||
cp nova-chatmix.service ~/.config/systemd/user/nova-chatmix.service
|
cp nova-chatmix.service ~/.config/systemd/user/
|
||||||
# Reload systemd configuration
|
# Reload systemd configuration
|
||||||
systemctl --user daemon-reload
|
systemctl --user daemon-reload
|
||||||
# Enable and start the service
|
# Enable and start the service
|
||||||
|
@ -94,7 +94,7 @@ This will create 2 virtual sound devices:
|
||||||
|
|
||||||
```
|
```
|
||||||
# You do not need to run this if you installed the systemd unit!
|
# You do not need to run this if you installed the systemd unit!
|
||||||
python nova-chatmix.py
|
python nova.py
|
||||||
```
|
```
|
||||||
|
|
||||||
This command does not generate any output, but the Sonar icon should now be visible on the base station.
|
This command does not generate any output, but the Sonar icon should now be visible on the base station.
|
||||||
|
@ -113,7 +113,7 @@ I am on MCU firmware version `01.29.27` and DSP firmware version `00.03.82`.
|
||||||
|
|
||||||
### Protocol description
|
### Protocol description
|
||||||
|
|
||||||
See `nova-chatmix.py` for a commented example implementation.
|
See `nova.py` for a commented example implementation.
|
||||||
|
|
||||||
The controls and data output are on USB Interface 4 (`bInterfaceNumber=4`). This interface has 2 endpoint, 1 for sending data (`0x04`) and 1 for receiving data (`0x84`).
|
The controls and data output are on USB Interface 4 (`bInterfaceNumber=4`). This interface has 2 endpoint, 1 for sending data (`0x04`) and 1 for receiving data (`0x84`).
|
||||||
|
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
post_install() {
|
|
||||||
udevadm control --reload-rules
|
|
||||||
udevadm trigger
|
|
||||||
echo "==> To enable nova-chatmix for your user, run:"
|
|
||||||
echo " systemctl --user enable --now nova-chatmix"
|
|
||||||
}
|
|
|
@ -4,8 +4,9 @@ After=pipewire.service pipewire-pulse.service
|
||||||
Wants=network-online.target
|
Wants=network-online.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
|
Restart=no
|
||||||
Type=simple
|
Type=simple
|
||||||
ExecStart=%h/.local/bin/nova-chatmix
|
ExecStart=%h/.local/bin/nova.py
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
|
|
|
@ -1,51 +0,0 @@
|
||||||
Name: nova-chatmix
|
|
||||||
Version: 0.1.0
|
|
||||||
Release: 1%{?dist}
|
|
||||||
Summary: ChatMix Implementation for the SteelSeries Arctis Nova Pro Wireless headset
|
|
||||||
|
|
||||||
License: 0BSD
|
|
||||||
URL: https://git.dymstro.nl/Dymstro/nova-chatmix-linux
|
|
||||||
Source0: %{name}-%{version}.tar.gz
|
|
||||||
|
|
||||||
BuildRequires: systemd-rpm-macros
|
|
||||||
Requires: python3,python3-hidapi,pipewire,pulseaudio-utils
|
|
||||||
|
|
||||||
BuildArch: noarch
|
|
||||||
|
|
||||||
%description
|
|
||||||
ChatMix Implementation for the SteelSeries Arctis Nova Pro Wireless headset
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%setup -qc
|
|
||||||
# Change service to point to system bin directory
|
|
||||||
sed -i 's#%h/\.local/bin#%{_bindir}#g' nova-chatmix.service
|
|
||||||
|
|
||||||
%install
|
|
||||||
install -Dm 0755 nova-chatmix.py %{buildroot}/%{_bindir}/nova-chatmix
|
|
||||||
install -Dm 0644 50-nova-pro-wireless.rules %{buildroot}/%{_libdir}/udev/rules.d/50-nova-pro-wireless.rules
|
|
||||||
install -Dm 0644 nova-chatmix.service %{buildroot}/%{_libdir}/systemd/user/nova-chatmix.service
|
|
||||||
|
|
||||||
%post
|
|
||||||
udevadm control --reload-rules
|
|
||||||
udevadm trigger
|
|
||||||
%systemd_user_post nova-chatmix.service
|
|
||||||
|
|
||||||
%preun
|
|
||||||
%systemd_user_preun nova-chatmix.service
|
|
||||||
|
|
||||||
%postun
|
|
||||||
%systemd_user_postun_with_restart nova-chatmix.service
|
|
||||||
%systemd_user_postun nova-chatmix.service
|
|
||||||
|
|
||||||
|
|
||||||
%files
|
|
||||||
%license LICENSE
|
|
||||||
%doc README.md
|
|
||||||
%{_bindir}/nova-chatmix
|
|
||||||
%{_libdir}/udev/rules.d/50-nova-pro-wireless.rules
|
|
||||||
%{_libdir}/systemd/user/nova-chatmix.service
|
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
|
||||||
* Sat Aug 16 2025 Ricardo <ricardo@dymstro.nl>
|
|
||||||
- Release 0.1.0
|
|
Loading…
Add table
Reference in a new issue