Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ Mice:
- Razer Basilisk Ultimate
- Razer Basilisk V2
- Razer Basilisk V3
- Razer Basilisk V3 X HyperSpeed
- Razer DeathAdder 3 5G
- Razer DeathAdder 1800
- Razer DeathAdder 2013 (under older mouse effects)
Expand Down Expand Up @@ -274,3 +275,7 @@ Builds on work done by these amazing projects:
- [openrazer](https://github.com/openrazer/openrazer)
- [osx-razer-blade](https://github.com/kprinssu/osx-razer-blade)
- [osx-razer-led](https://github.com/dylanparker/osx-razer-led)
## New Device Support
- ✨ Added support for **Razer Basilisk V3 X HyperSpeed**
- Full RGB lighting control and wireless connectivity support
- Compatible with all standard mouse effects (static, breathing, spectrum cycling, etc.)
79 changes: 79 additions & 0 deletions openrazer/.builds/alpine.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
image: alpine/latest
packages:
- astyle
- dbus-x11
- linux-lts-dev
- py3-autopep8
- py3-daemonize
- py3-dbus
- py3-gobject3
- py3-numpy
- py3-pylint
- py3-setproctitle
- py3-setuptools
- py3-udev
- sed
sources:
- https://github.com/openrazer/openrazer
tasks:
- check-formatting: |
cd openrazer

# Check the formatting of the driver and the python code
# Disable astyle for now:
# https://gitlab.com/saalen/astyle/-/issues/91
#./scripts/ci/check-astyle-formatting.sh
./scripts/ci/check-autopep8-formatting.sh

- check-misc: |
cd openrazer

# Check with pylint for errors
./scripts/ci/check-pylint.sh
# Check for auto-generated files
./scripts/ci/test-auto-generate.sh
# Check for hex casing issues
./scripts/ci/test-hex-casing.sh

- compile-driver: |
cd openrazer

kerneldirs=(/lib/modules/*/build)
kerneldir="${kerneldirs[0]}"

# Work around the following error by disabling gcc plugins
# cc1: error: incompatible gcc/plugin versions
# cc1: error: failed to initialize plugin ./scripts/gcc-plugins/stackleak_plugin.so
sudo truncate -s 0 "$kerneldir"/scripts/Makefile.gcc-plugins

# Compile the kernel driver
echo "ccflags-y := -Wall -Werror" >> driver/Makefile
make KERNELDIR="$kerneldir"

- functional-test-setup: |
# The daemon wants the user to be in the plugdev group
sudo addgroup -S plugdev
sudo addgroup -S $USER plugdev

- functional-test: |
cd openrazer

# Clean up background processes on exit
trap "pkill -f openrazer-daemon;
pkill -f create_fake_dev;
pkill -f dbus-daemon" EXIT

# Launch dbus
eval $(dbus-launch --sh-syntax)

# Setup the fake driver
./scripts/ci/setup-fakedriver.sh

# Launch the daemon
./scripts/ci/launch-daemon.sh

# Wait for the daemon to be ready
sleep 5

# Run a simple check to see if the daemon is alive
./scripts/ci/test-daemon.sh
13 changes: 13 additions & 0 deletions openrazer/.builds/ubuntu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
image: ubuntu/oldlts
packages:
- linux-headers-generic
sources:
- https://github.com/openrazer/openrazer
tasks:
- compile-driver: |
cd openrazer

# Compile the kernel driver
echo "ccflags-y := -Wall -Werror" >> driver/Makefile
kerneldir=(/lib/modules/*/build)
make KERNELDIR="${kerneldir[0]}"
17 changes: 17 additions & 0 deletions openrazer/.bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
[bumpversion]
current_version = 3.10.3

[bumpversion:file:pylib/openrazer/client/__init__.py]

[bumpversion:file:daemon/openrazer_daemon/daemon.py]

[bumpversion:file:driver/razercommon.h]

[bumpversion:file:pylib/setup.py]

[bumpversion:file:daemon/setup.py]

[bumpversion:file:Makefile]

[bumpversion:file:install_files/dkms/dkms.conf]

1 change: 1 addition & 0 deletions openrazer/.github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
custom: ["https://www.paypal.me/z3ntu", "https://www.paypal.me/LukeHorwell", "https://www.paypal.me/terrycain1337"]
108 changes: 108 additions & 0 deletions openrazer/.github/ISSUE_TEMPLATE/00-new-device.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
name: "Support for a new device"
title: "Support for Razer [name]"
description: "Provide details to request support for a new device PID"
labels: ["Device Support"]
body:
- type: markdown
attributes:
value: |
👆 Please substitute the device name in the title above.

## Before you continue...

[🔍 Search for existing issues and pull requests](https://github.com/openrazer/openrazer/issues?q=label%3A%22Device+Support%22) by searching for your USB PID. Please avoid creating duplicates.

You can get your USB PID by running `lsusb` in a terminal:

```shell
lsusb | grep 1532
```

For example, if you see `1532:0203`, your device PID is `0203`.

Your device may have different PIDs depending if it's wired or wireless, so check those too.

If the issue is closed, or the pull request is merged (purple), your device is supported in the next release. [Check the comparison](https://github.com/openrazer/openrazer/compare/stable...master) to see if that's the case!

## For new devices

- type: input
id: device_name
attributes:
label: "Device Name"
description: Check the sticker under the device.
placeholder: Razer BlackWidow Chroma
validations:
required: true

- type: input
id: product_number
attributes:
label: "Product Number"
description: Check the sticker under the device.
placeholder: RZ03-01220300
validations:
required: true

- type: input
id: model_number
attributes:
label: "Model Number"
description: Check the sticker under the device.
placeholder: RZ03-0122
validations:
required: true

- type: input
id: device_pid
attributes:
label: "VID:PID"
description: "Run 'lsusb' in a terminal. Enter the ID seen before the device name."
placeholder: "1532:0203"
validations:
required: true

- type: textarea
id: lsusb_output
attributes:
label: "USB Details"
description: "Paste the output of this command: lsusb -d 1532: -v"
render: shell
validations:
required: true

- type: textarea
id: sysfs_output
attributes:
label: "Device Input Paths"
description: "Paste the output of this command: ls -lah /dev/input/by-id/"
render: shell
validations:
required: true

- type: textarea
id: usbhid_dump_output
attributes:
label: "USB HID Dump"
description: "Paste the output of this command: usbhid-dump -m 1532 -ed"
render: shell
validations:
required: false

- type: textarea
id: packet_captures
attributes:
label: "Packet Captures"
description: "To analyse the communication and protocol required for this device. See here on capturing this: https://github.com/openrazer/openrazer/wiki/Reverse-Engineering-USB-Protocol"
placeholder: "Drag and drop to upload files"
validations:
required: false

- type: textarea
id: synapse_screenshots
attributes:
label: "Synapse Screenshots"
description: "Please take screenshots of all available options in Razer Synapse from a Windows environment."
placeholder: "Drag and drop to upload images"
validations:
required: false
74 changes: 74 additions & 0 deletions openrazer/.github/ISSUE_TEMPLATE/01-support.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: "Report a problem or support request"
description: "The driver, daemon or my device isn't working as expected"
labels: ["support"]
body:
- type: input
id: device_name
attributes:
label: "Affected Device / PID"
description:
placeholder: "Razer BlackWidow Chroma, 1532:0203"
validations:
required: true

- type: input
id: distro_version
attributes:
label: "Operating System / Version"
placeholder: "Ubuntu 24.04"
validations:
required: true

- type: input
id: kernel_version
attributes:
label: "Kernel Version"
description: "Run 'uname -r' in a terminal."
placeholder: "6.8.0-39-generic"
validations:
required: true

- type: input
id: openrazer_version
attributes:
label: "OpenRazer Version"
description:
placeholder: "3.7.0"
validations:
required: true

- type: checkboxes
id: declaration
attributes:
label: "Support Checklist"
description: "Please check before submitting:"
options:
- label: "My user was added to the plugdev group."
required: true
- label: "I have rebooted and the problem persists."
required: true
- label: "I looked at the [Troubleshooting](https://github.com/openrazer/openrazer/wiki/Troubleshooting) page and it did not solve the problem."
required: true

- type: checkboxes
id: checklist
attributes:
label: Symptoms
description: "Do any of these apply?"
options:
- label: "Uninstalling OpenRazer fixes the problem"
- label: "Re-plugging the device fixes the problem"
- label: "It worked before a system/kernel update."
- label: "Only a problem if the daemon is running."
- label: "Only a problem from power up or a reboot."
- label: "I'm dual booting with Windows."
- label: "Intermittent or erratic problem."
- label: "My device is missing a feature."

- type: textarea
id: description
attributes:
label: "Please describe the issue"
description: "Include any logs (in code blocks) if necessary."
validations:
required: true
13 changes: 13 additions & 0 deletions openrazer/.github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
blank_issues_enabled: true
contact_links:
- name: ⚠️ Installation not working?
url: https://github.com/openrazer/openrazer/wiki/Troubleshooting
about: The troubleshooting guide covers most common problems

- name: 🗨️ Ask the Community Chat on Telegram
url: https://t.me/joinchat/AMhHjj9Txhkhn8JM5_LeMg
about: OpenRazer General

- name: 🗨️ Ask the Community Chat on Matrix
url: https://matrix.to/#/#openrazer:matrix.org
about: Bridged with the Telegram chat
22 changes: 22 additions & 0 deletions openrazer/.github/workflows/stale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Mark stale issues
on:
schedule:
- cron: '30 1 * * *'

jobs:
stale:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
actions: write
steps:
- uses: actions/stale@v9
with:
stale-issue-message: 'This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.'
days-before-issue-stale: 120
days-before-issue-close: 30
days-before-pr-stale: -1
days-before-pr-close: -1
stale-issue-label: 'wontfix'
exempt-issue-labels: 'Device Support,not stale'
Loading