Coder Social home page Coder Social logo

hyperb1iss / uchroma Goto Github PK

View Code? Open in Web Editor NEW
48.0 48.0 9.0 907 KB

An advanced driver for Razer Chroma hardware in Linux

Home Page: https://cyanogen.github.io/uchroma/

License: GNU Lesser General Public License v3.0

Python 99.16% Makefile 0.61% Shell 0.11% Dockerfile 0.13%
animation blade chroma color driver hardware keyboard led linux mouse python python-library razer razer-chroma userspace

uchroma's People

Contributors

hyperb1iss avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

uchroma's Issues

GNOME frontend

UChroma needs a nice GUI frontend with indicators for battery level and such.

Make venv compatible

So I tried to get this setup in a venv instead of / because its just cleaner imho.
After the dependency install (as well as fixing python3-gi as such ) I get the following error:

(.venv3) ➜  uchroma git:(master) uchroma -h
Traceback (most recent call last):
  File "/home/jramapuram/.venv3/bin/uchroma", line 11, in <module>
    load_entry_point('uchroma==1.0', 'console_scripts', 'uchroma')()
  File "/home/jramapuram/.venv3/lib/python3.6/site-packages/uchroma/client/client.py", line 702, in run_client
    UChromaTool().run()
  File "/home/jramapuram/.venv3/lib/python3.6/site-packages/uchroma/client/cmd.py", line 45, in __init__
    self._add_subparsers(sub)
  File "/home/jramapuram/.venv3/lib/python3.6/site-packages/uchroma/client/client.py", line 675, in _add_subparsers
    driver = self.get_driver()
  File "/home/jramapuram/.venv3/lib/python3.6/site-packages/uchroma/client/cmd.py", line 92, in get_driver
    dev_paths = self._client.get_device_paths()
  File "/home/jramapuram/.venv3/lib/python3.6/site-packages/uchroma/client/dbus_client.py", line 18, in get_device_paths
    dm = self._bus.get(SERVICE)
  File "/home/jramapuram/.venv3/lib/python3.6/site-packages/pydbus/proxy.py", line 47, in get
    0, timeout_to_glib(timeout), None)
GLib.Error: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildExited: Process org.chemlab.UChroma exited with status 1 (25)

Brightness not restored after resume from suspend

I have a RBS Late 2016 and sometimes the brightness is not restored after a resume from suspend.
It looks like it needs 2 suspend/resume to trigger the issue.
I noticed that the bug occurs when the light is turned off abruptly at suspend but does not occur when the light gradually fades out at suspend.

I figured out that I can workaround it if I comment this piece of code in uchroma/server/device_base.py. With the comment, the light always fades out gradually.

l. 235:
if fast: self._set_brightness(0) else: if self._device_open(): self._brightness_animator.animate(self.brightness, 0, done_cb=self._done_cb)

Sorry, I'd like to eventually make a pull request but I'm currently not confident enough in python to try something. I hope my description helps anyway.

Other than that, it's a pretty neat package.

Kraken 7.1 Chroma

It's the only device right now I own that gets listed (I own BlackWidow Chroma, DeathAdder Chroma & Kraken 7.1 Chroma). When I try to set the brightness with uchroma brightness 100, nothing changes and I have the following output in my systemd journal: http://pastebin.com/cZ5Ax2zC

Zone support

It should be possible to define "zones" on keyboards and independently apply custom effects.

E: Unable to locate package uchroma

I just use the following cmd:

sudo add-apt-repository ppa:cyanogen/uchroma
sudo apt update
sudo apt install uchroma

Then I get

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package uchroma

I don't know why.
anyone has the some question?

ModuleNotFoundError: No module named 'Cython'

Ubuntu 20.04.2 LTS

when i try build from source

$ sudo make install
python3 setup.py install --root=/
Traceback (most recent call last):
  File "setup.py", line 28, in <module>
    from Cython.Distutils import build_ext
ModuleNotFoundError: No module named 'Cython'
make: *** [Makefile:12: install_library] Error 1

but, already installed cython

$ pip3 install Cython
Requirement already satisfied: Cython in /home/vm/.local/lib/python3.8/site-packages (0.29.22)
$ pip3 install pycocotools
Requirement already satisfied: pycocotools in /home/vm/.local/lib/python3.8/site-packages (2.0.2)
Requirement already satisfied: matplotlib>=2.1.0 in /home/vm/.local/lib/python3.8/site-packages (from pycocotools) (3.4.1)
Requirement already satisfied: setuptools>=18.0 in /usr/lib/python3/dist-packages (from pycocotools) (45.2.0)
Requirement already satisfied: cython>=0.27.3 in /home/vm/.local/lib/python3.8/site-packages (from pycocotools) (0.29.22)
Requirement already satisfied: numpy>=1.16 in /home/vm/.local/lib/python3.8/site-packages (from matplotlib>=2.1.0->pycocotools) (1.20.2)
Requirement already satisfied: cycler>=0.10 in /home/vm/.local/lib/python3.8/site-packages (from matplotlib>=2.1.0->pycocotools) (0.10.0)
Requirement already satisfied: pillow>=6.2.0 in /usr/lib/python3/dist-packages (from matplotlib>=2.1.0->pycocotools) (7.0.0)
Requirement already satisfied: python-dateutil>=2.7 in /usr/lib/python3/dist-packages (from matplotlib>=2.1.0->pycocotools) (2.7.3)
Requirement already satisfied: kiwisolver>=1.0.1 in /home/vm/.local/lib/python3.8/site-packages (from matplotlib>=2.1.0->pycocotools) (1.3.1)
Requirement already satisfied: pyparsing>=2.2.1 in /home/vm/.local/lib/python3.8/site-packages (from matplotlib>=2.1.0->pycocotools) (2.4.7)
Requirement already satisfied: six in /usr/lib/python3/dist-packages (from cycler>=0.10->matplotlib>=2.1.0->pycocotools) (1.14.0)

whats the problem?

Need keycode -> matrix mappings for all keyboards

We have a (horrible) generic one which is definitely wrong, and a perfect one for the Blade Pro (my daily driver). Keymaps need created for all supported devices for keyboard-driven animations to display correctly. Really need help with this as the user community grows :)

Clean Uninstall Fails

On a build failure, eg: ModuleNotFoundError: No module named 'grapefruit' the uninstall is not clean:

➜  uchroma git:(master) sudo make uninstall
find: ‘//usr/local/lib/python3*’: No such file or directory
readlink: invalid option -- '*'
Try 'readlink --help' for more information.
install -m 644 -v -D install/org.chemlab.UChroma.service //usr/share/dbus-1/services/org.chemlab.UChroma.service
removed '//usr/share/dbus-1/services/org.chemlab.UChroma.service'
'install/org.chemlab.UChroma.service' -> '//usr/share/dbus-1/services/org.chemlab.UChroma.service'
install -m 644 -v -D install/uchromad.service //usr/lib/systemd/user/uchromad.service
removed '//usr/lib/systemd/user/uchromad.service'
'install/uchromad.service' -> '//usr/lib/systemd/user/uchromad.service'

The uchromad service is not properly uninstalled due to the first failure from above:

➜  uchroma git:(master) ls -lht /usr/lib/systemd/user
total 152K              
-rw-r--r-- 1 root root  165 Mar  7 11:08 uchromad.service

Gbulb dependency not maintained

The gbulb dependency is no longer maintained. To install with from the Aur, I had to edit its pkgbuild and skip tests. There are multiple failed tests and deprecation warnings about Python >3.8 incompatibility. Has replacing this dependency been considered?

OS: Manjaro
Python: 3.8.1

uchroma -l returns empty

Tried to install on Razer Blade Stealth (Kaby Lake) running openSUSE Tumbleweed. Could be same as #13

git clone https://github.com/cyanogen/uchroma.git
I installed dependencies manually in order to successfully run 'sudo make install':
sudo zypper in python-cffi
sudo pip install argcomplete cffi colorlog colr evdev frozendict gbulb grapefruit hidapi-cffi hsluv matplotlib numpy pydbus pyudev ruamel.yaml scikit-image scipy traitlets wrapt
sudo make install

I noticed that uchromad seem to shut down:

Mar 30 21:07:52 linux-lbe3 dbus-daemon[1482]: Activating service name='org.chemlab.UChroma'
Mar 30 21:07:53 linux-lbe3 dbus-daemon[1482]: Successfully activated service 'org.chemlab.UChroma'
Mar 30 21:07:53 linux-lbe3 org.chemlab.UChroma[1482]:  uchroma.power/INFO     | Connected screensaver: org.freedesktop.ScreenSaver (':1.10',)
Mar 30 21:07:53 linux-lbe3 org.chemlab.UChroma[1482]:  uchroma.power/INFO     | Connected to org.freedesktop.login1 (':1.3',)
Mar 30 21:08:40 linux-lbe3 org.chemlab.UChroma[1482]:  uchroma.server/INFO     | Shutting down
Mar 30 21:08:40 linux-lbe3 org.chemlab.UChroma[1482]: Error in atexit._run_exitfuncs:
Mar 30 21:08:40 linux-lbe3 org.chemlab.UChroma[1482]: Traceback (most recent call last):
Mar 30 21:08:40 linux-lbe3 org.chemlab.UChroma[1482]:   File "/usr/lib64/python3.6/site-packages/uchroma/server/server.py", line 121, in exit
Mar 30 21:08:40 linux-lbe3 org.chemlab.UChroma[1482]:     return_when=futures.ALL_COMPLETED))
Mar 30 21:08:40 linux-lbe3 org.chemlab.UChroma[1482]:   File "/usr/lib/python3.6/site-packages/gbulb/glib_events.py", line 136, in run_until_complete
Mar 30 21:08:40 linux-lbe3 org.chemlab.UChroma[1482]:     return future.result()
Mar 30 21:08:40 linux-lbe3 org.chemlab.UChroma[1482]:   File "/usr/lib64/python3.6/asyncio/tasks.py", line 298, in wait
Mar 30 21:08:40 linux-lbe3 org.chemlab.UChroma[1482]:     raise ValueError('Set of coroutines/Futures is empty.')
Mar 30 21:08:40 linux-lbe3 org.chemlab.UChroma[1482]: ValueError: Set of coroutines/Futures is empty.

When starting it again manually:

linux-lbe3:~> uchromad -d
 uchroma.devicemanager/DEBUG    | Udev monitor started                                              
 uchroma.power/INFO     | Connected screensaver: org.freedesktop.ScreenSaver (':1.10',)             
 uchroma.power/INFO     | Connected to org.freedesktop.login1 (':1.3',)

uchroma -l returns nothing:

linux-lbe3:~> uchroma -l
linux-lbe3:~>

lsusb output for reference:

Bus 001 Device 004: ID 1532:0220 Razer USA, Ltd 
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1532 Razer USA, Ltd
  idProduct          0x0220 
  bcdDevice            2.00
  iManufacturer           1 
  iProduct                2 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           84
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      61
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     159
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      2 Mouse
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      94
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               1

uchromad service fails to start with Razer Blade Stealth (late 2016)

Hi cyanogen,
I'm using the Kaby Lake Razer Blade Stealth on Arch, I managed to install the AUR package but I could not start the daemon.

Here's the trace:

uchromad -d
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/uchroma/util.py", line 346, in call
return cls.__instance
AttributeError: type object 'UChromaDeviceManager' has no attribute '_Singleton__instance'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/bin/uchromad", line 11, in
load_entry_point('uchroma==1.0.1', 'console_scripts', 'uchromad')()
File "/usr/lib/python3.6/site-packages/uchroma/server/server.py", line 110, in run_server
UChromaServer().run()
File "/usr/lib/python3.6/site-packages/uchroma/server/server.py", line 59, in run
self._run()
File "/usr/lib/python3.6/site-packages/uchroma/server/server.py", line 65, in _run
dm = UChromaDeviceManager()
File "/usr/lib/python3.6/site-packages/uchroma/util.py", line 348, in call
cls.__instance = super(Singleton, cls).call(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/uchroma/server/device_manager.py", line 85, in init
self.discover()
File "/usr/lib/python3.6/site-packages/uchroma/server/device_manager.py", line 118, in discover
if self._key_for_path(parent.sys_path) is not None:
AttributeError: 'NoneType' object has no attribute 'sys_path'

Did I do something wrong ? Maybe RBS is not supported ?

HID layer is not asyncio-friendly

Which can cause jank that only gets worse as devices are added, mostly due to the mandatory sleep required before reading back status after sending a command. The lower layer is using HIDAPI, which does have nonblocking IO (except for feature reports, which do not notify by design), it will need hooked up to asyncio. At least one hack is in place to handle brightness fading already, this needs to go away.

Razer Blade 15" keyboard

How can I help you to get the Razer Blade 15" keyboard working?

Device ID: 1532:0245 Razer USA, Ltd

Currently when I run: uchroma -l I think it crashes. There is no output displayed.

No devices on Blade Stealth early 2020

uchroma -l shows no devices on Razer blade stealth early 2020.

Would like to help if possible.

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 1532:0252 Razer USA, Ltd Razer Blade
Bus 003 Device 002: ID 13d3:56d5 IMC Networks Integrated Camera
Bus 003 Device 004: ID 8087:0026 Intel Corp. AX201 Bluetooth
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Razer Razer Blade                       	id=11	[slave  pointer  (2)]
⎜   ↳ Razer Razer Blade                       	id=12	[slave  pointer  (2)]
⎜   ↳ CUST0001:00 06CB:CDA3 Mouse             	id=13	[slave  pointer  (2)]
⎜   ↳ CUST0001:00 06CB:CDA3 Touchpad          	id=14	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Power Button                            	id=7	[slave  keyboard (3)]
    ↳ Integrated Camera: Integrated C         	id=8	[slave  keyboard (3)]
    ↳ Integrated Camera: Integrated I         	id=9	[slave  keyboard (3)]
    ↳ Razer Razer Blade                       	id=10	[slave  keyboard (3)]
    ↳ Razer Razer Blade                       	id=15	[slave  keyboard (3)]

Trouble, maybe python 3.6?

I'm having a little trouble with uchroma from AUR on Arch. I had to do some udevadm control --reload and udevadm trigger shenanigans before the hid devices could find their udev parent hidraw cousins. Maybe this should go in the AUR package?

Anyways, now I'm here:

[sj26@wheeljack ~]$ uchromad --debug
 uchroma.driver-0/DEBUG    | Loaded renderers: uchroma.fxlib.plasma.Plasma, uchroma.fxlib.rainbow.Rainbow, uchroma.fxlib.ripple.Ripple
 uchroma.driver-1/DEBUG    | Loaded renderers: uchroma.fxlib.plasma.Plasma, uchroma.fxlib.rainbow.Rainbow, uchroma.fxlib.ripple.Ripple
 uchroma.devicemanager/DEBUG    | Udev monitor started
 uchroma.power/INFO     | Connected screensaver: org.freedesktop.ScreenSaver (':1.41',)
 uchroma.power/INFO     | Connected screensaver: org.gnome.ScreenSaver (':1.16',)
 uchroma.power/INFO     | Connected to org.freedesktop.login1 (':1.1',)
 uchroma.server/INFO     | add: UChromaWirelessMouse(name=Mamba (Wireless), type=Mouse, product_id=0x0045, index=0)
 uchroma.server/INFO     | add: UChromaKeyboard(name=Ornata Chroma, type=Keyboard, product_id=0x021e, index=1)
Unhandled exception in async future
future: <Task finished coro=<UChromaDeviceManager._fire_callbacks() done, defined at /usr/lib/python3.6/site-packages/uchroma/server/device_manager.py:90> exception=TypeError('only integer scalar arrays can be converted to a scalar index',) created at /usr/lib/python3.6/site-packages/uchroma/util.py:278>
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/uchroma/server/device_manager.py", line 96, in _fire_callbacks
    yield from callback(action, device)
  File "/usr/lib/python3.6/asyncio/coroutines.py", line 210, in coro
    res = func(*args, **kw)
  File "/usr/lib/python3.6/site-packages/uchroma/server/dbus.py", line 736, in _dm_callback
    path = self._publish_device(device)
  File "/usr/lib/python3.6/site-packages/uchroma/server/dbus.py", line 712, in _publish_device
    devapi = DeviceAPI(device, self._bus)
  File "/usr/lib/python3.6/site-packages/uchroma/server/dbus.py", line 113, in __init__
    self.__class__.dbus = self._get_descriptor()
  File "/usr/lib/python3.6/site-packages/uchroma/server/dbus.py", line 301, in _get_descriptor
    if hasattr(self._driver, name):
  File "/usr/lib/python3.6/site-packages/uchroma/server/mouse.py", line 183, in battery_level
    value = self.run_with_result(UChromaWirelessMouse.Command.GET_BATTERY_LEVEL)
  File "/usr/lib/python3.6/site-packages/uchroma/server/device_base.py", line 341, in run_with_result
    result = report.result
  File "/usr/lib/python3.6/site-packages/uchroma/server/report.py", line 201, in result
    return bytes(self._result)
TypeError: only integer scalar arrays can be converted to a scalar index
Unhandled exception in async future
future: <Task finished coro=<UChromaDeviceManager._fire_callbacks() done, defined at /usr/lib/python3.6/site-packages/uchroma/server/device_manager.py:90> exception=TypeError('only integer scalar arrays can be converted to a scalar index',) created at /usr/lib/python3.6/site-packages/uchroma/util.py:278>
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/uchroma/server/device_manager.py", line 96, in _fire_callbacks
    yield from callback(action, device)
  File "/usr/lib/python3.6/asyncio/coroutines.py", line 210, in coro
    res = func(*args, **kw)
  File "/usr/lib/python3.6/site-packages/uchroma/server/dbus.py", line 736, in _dm_callback
    path = self._publish_device(device)
  File "/usr/lib/python3.6/site-packages/uchroma/server/dbus.py", line 712, in _publish_device
    devapi = DeviceAPI(device, self._bus)
  File "/usr/lib/python3.6/site-packages/uchroma/server/dbus.py", line 113, in __init__
    self.__class__.dbus = self._get_descriptor()
  File "/usr/lib/python3.6/site-packages/uchroma/server/dbus.py", line 301, in _get_descriptor
    if hasattr(self._driver, name):
  File "/usr/lib/python3.6/site-packages/uchroma/server/device_base.py", line 435, in firmware_version
    version = self._get_firmware_version()
  File "/usr/lib/python3.6/site-packages/uchroma/server/device_base.py", line 426, in _get_firmware_version
    return self.run_with_result(BaseUChromaDevice.Command.GET_FIRMWARE_VERSION)
  File "/usr/lib/python3.6/site-packages/uchroma/server/device_base.py", line 341, in run_with_result
    result = report.result
  File "/usr/lib/python3.6/site-packages/uchroma/server/report.py", line 201, in result
    return bytes(self._result)
TypeError: only integer scalar arrays can be converted to a scalar index

Kinda looks like the Ornata and Mamba might be doing something unexpected?

The server keeps running, but the client doesn't seem to see anything:

[sj26@wheeljack ~]$ uchroma
usage: uchroma [-v] [-g] [-d DEVICE] [-l] {} ...
uchroma: error: Multiple devices found, select one with --device
[sj26@wheeljack ~]$ uchroma -v
uchroma-1.0
[sj26@wheeljack ~]$ uchroma -l
[sj26@wheeljack ~]$ uchroma -d 0 
usage: uchroma [-v] [-g] [-d DEVICE] [-l] {} ...
uchroma: error: Invalid device: 0
[sj26@wheeljack ~]$ uchroma -d 1
usage: uchroma [-v] [-g] [-d DEVICE] [-l] {} ...
uchroma: error: Invalid device: 1

Docs

Finish high-level documentation before release, including renderer docs

openrazer compatibility ?

Is there a chance to make this so that it coexists with openrazer and allows for persistent makros ?

Installing on Arch with yaourt have problem

Hello thank you for this project,
I want to install this project from aur but get this error :) what we should do ?

error: failed to commit transaction (conflicting files)
python-wrapt: /usr/lib/python3.6/site-packages/wrapt-1.10.10-py3.6.egg-info exists in filesystem
python-wrapt: /usr/lib/python3.6/site-packages/wrapt/__init__.py exists in filesystem
python-wrapt: /usr/lib/python3.6/site-packages/wrapt/__pycache__/__init__.cpython-36.pyc exists in filesystem
python-wrapt: /usr/lib/python3.6/site-packages/wrapt/__pycache__/arguments.cpython-36.pyc exists in filesystem
python-wrapt: /usr/lib/python3.6/site-packages/wrapt/__pycache__/decorators.cpython-36.pyc exists in filesystem
python-wrapt: /usr/lib/python3.6/site-packages/wrapt/__pycache__/importer.cpython-36.pyc exists in filesystem
python-wrapt: /usr/lib/python3.6/site-packages/wrapt/__pycache__/wrappers.cpython-36.pyc exists in filesystem
python-wrapt: /usr/lib/python3.6/site-packages/wrapt/_wrappers.cpython-36m-x86_64-linux-gnu.so exists in filesystem
python-wrapt: /usr/lib/python3.6/site-packages/wrapt/arguments.py exists in filesystem
python-wrapt: /usr/lib/python3.6/site-packages/wrapt/decorators.py exists in filesystem
python-wrapt: /usr/lib/python3.6/site-packages/wrapt/importer.py exists in filesystem
python-wrapt: /usr/lib/python3.6/site-packages/wrapt/wrappers.py exists in filesystem
Errors occurred, no packages were upgraded.

Manjaro install failed

I am unsure how this is done, delete this if it is done incorrectly.

I cloned the repo and ran sudo make install

python3 setup.py install --root=/
running install
running build
running build_py
running egg_info
writing uchroma.egg-info/PKG-INFO
writing dependency_links to uchroma.egg-info/dependency_links.txt
writing entry points to uchroma.egg-info/entry_points.txt
writing requirements to uchroma.egg-info/requires.txt
writing top-level names to uchroma.egg-info/top_level.txt
reading manifest file 'uchroma.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'uchroma.egg-info/SOURCES.txt'
running build_ext
running install_lib
running install_egg_info
removing '/usr/lib/python3.6/site-packages/uchroma-1.0.1-py3.6.egg-info' (and everything under it)
Copying uchroma.egg-info to /usr/lib/python3.6/site-packages/uchroma-1.0.1-py3.6.egg-info
running install_scripts
Installing uchroma script to /usr/bin
Installing uchromad script to /usr/bin
/usr/lib/python3.6/distutils/dist.py:261: UserWarning: Unknown distribution option: 'platform'
  warnings.warn(msg)
python3 setup.py build_ext --inplace
running build_ext
/usr/lib/python3.6/distutils/dist.py:261: UserWarning: Unknown distribution option: 'platform'
  warnings.warn(msg)
install -m 644 -v -D install/70-uchroma.rules //etc/udev/rules.d/70-uchroma.rules
removed '//etc/udev/rules.d/70-uchroma.rules'
'install/70-uchroma.rules' -> '//etc/udev/rules.d/70-uchroma.rules'
python3 setup.py -q hwdb > /tmp/tmp.Yxjs0l1Moo
/usr/lib/python3.6/distutils/dist.py:261: UserWarning: Unknown distribution option: 'platform'
  warnings.warn(msg)
Traceback (most recent call last):
  File "/usr/lib/python3.6/pydoc.py", line 343, in safeimport
    module = __import__(path)
  File "/home/piper/Cloud/Documents/Config/bin/uchroma/uchroma/server/__init__.py", line 1, in <module>
    from .device import UChromaDevice
  File "/home/piper/Cloud/Documents/Config/bin/uchroma/uchroma/server/device.py", line 1, in <module>
    import hidapi
ModuleNotFoundError: No module named 'hidapi'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "setup.py", line 95, in <module>
    'Topic :: System :: Hardware :: Hardware Drivers'
  File "/usr/lib/python3.6/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/lib/python3.6/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "setup.py", line 51, in run
    print(HWDBGenerator.generate())
  File "setup.py", line 37, in generate
    hw = locate('uchroma.server.Hardware')
  File "/usr/lib/python3.6/pydoc.py", line 1581, in locate
    nextmodule = safeimport('.'.join(parts[:n+1]), forceload)
  File "/usr/lib/python3.6/pydoc.py", line 358, in safeimport
    raise ErrorDuringImport(path, sys.exc_info())
pydoc.ErrorDuringImport: problem in uchroma.server - ModuleNotFoundError: No module named 'hidapi'
make: *** [Makefile:20: install_udev] Error 1
 

DeathStalker Chroma Support

Can't configure uchroma to list keyboard configuration. product_id: 0x0204 (according to lsusb), but i dont know other values such as dimenstion etc.

Hook up blend modes

Most of the code is there, but it's not properly passed from the commandline client.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.