Release 0.5
Projected timeline based on previous release and current cadence is late November / early December 2020
Core Changes
-
✅ File changes-
✅ Keep all files in an XDG-compliant configuration directory -
✅ Add a config file override to the command line #463 (closed)
-
-
✅ Settings Manager-
✅ Store settings in a json file-
✅ In configuration directory. See #594 (closed)
-
-
✅ Settings Manager instance should be owned by Resource Manager -
✅ Settings Manager should provide a way to get and set settings, save settings file, reload settings file-
✅ Get settings fragment based on a settings key -
✅ Load settings from file -
✅ Save settings to file -
✅ Set/update settings fragment in global settings store
-
-
❌ Qt GUI tab that interfaces with Settings Manager (Postponed to 0.6)- Settings manager provides a way to register a setting so that it shows in the GUI
- Registered setting defines keys and types
- Device list settings should provide add/remove device functionality
-
✅ Existing settings file users should be migrated to use settings manager-
✅ E1.31 Device Configuration -
✅ LED Strip Device Configuration -
✅ Espurna Device Configuration -
✅ Philips Wiz Device Configuration -
✅ Debug Device Configuration -
✅ Disabled Device List -
✅ Linux sysfs LEDs -
✅ Philips Hue Configuration (philips_hue_rebase branch)
-
-
-
✅ Resource Manager Changes-
✅ Move network server and client handling to Resource Manager -
✅ Add an option to redetect devices -
✅ Split updating the detection progress into a separate callback from updating the device list -
✅ Resource manager should track separate controller lists (Partially postponed to 0.6, possible rework)-
✅ Source: Hardware -
❌ Source: Client -
✅ Destination: GUI -
❌ Destination: Server
-
-
✅ Resource manager should sync source changes to destination lists -
✅ Resource manager should handle applying sizes to newly detected controllers
-
-
✅ User Interface Changes-
✅ Reuse existing controller tabs rather than deleting everything and recreating them every time list updates -
✅ Ensure controller tab order matches controller list order when processing list updates -
✅ Don't interfere with information tabs that aren't device related (software version, i2c tools)
-
-
✅ SDK Protocol, RGBController API Changes-
✅ SDK server needs a way to inform clients of device list changes -
✅ Add vendor strings ("Corsair", "Razer", etc) -
✅ SDK versioning scheme -
✅ Standardize Location strings-
✅ Prefixes for common interfaces-
✅ USB: -
✅ HID: -
✅ I2C: -
✅ TCP:, UDP: -
✅ COM: -
✅ E1.31: -
❌ Other (OpenRazer, Faustus, etc)
-
-
❌ Include PID/VID for USB devices
-
-
-
✅ Partial MacOS support - master branch should be able to build and run with limited capabilities -
✅ Move all controller-specific RGBController files into the Controllers directory, as the RGBController directory was getting really messy -
✅ E1.31-
✅ Create RGBController objects for each E1.31 device specified rather than grouping them all into one controller-
✅ EXCEPT if two E1.31 device specifications overlap - use the same universe - then combine them into one controller-
✅ Check entire range of universes not just starting universe
-
-
✅ E1.31 controllers containing only one device should use the E1.31 device name -
✅ E1.31 controllers should have a location string starting with "E1.31: " and containing a list/range of universes
-
-
✅ Unicast support - Unicast devices should be their own controllers-
❌ EXCEPT if two devices use the same unicast destination and overlap - use the same universe - then combine them into one controller
-
-
✅ Make sure OpenRGB E1.31 Receiver only sends a single device update for received E1.31 data, so OpenRGB can act as an E1.31 repeater of sorts without sending duplicate messages
-
-
✅ Dark theme for Windows -
✅ Fix I2C Tools not having a list of buses - this change is needed because buses are async detected now
Device Support
-
✅ Fill in PCI information for SMBus/I2C controllers-
✅ AMD ADL I2C -
✅ All Linux i2c interfaces (not just nVidia) -
✅ AMD SMBus on Windows -
✅ Intel SMBus on Windows -
✅ Default to zero for non-PCI i2c interfaces (like nuvoton)
-
-
✅ Rework all GPU controllers to use PCI ID information-
❌ ASUS GPU -
✅ Galax GPU -
✅ Gigabyte GPU -
✅ MSI GPU -
✅ Sapphire GPU
-
-
✅ Rework all Motherboard and RAM SMBus controllers to use PCI ID information-
✅ ASUS Aura SMBus (AMD, Intel, Nuvoton) -
✅ ASRock Polychrome (AMD, Intel) -
✅ Gigabyte RGB Fusion (AMD, Intel) -
✅ Gigabyte RGB Fusion 2 SMBus (AMD, Intel) -
✅ Corsair Vengeance (AMD, Intel) -
✅ Corsair Vengeance Pro (AMD, Intel) -
✅ Crucial (AMD, Intel) -
✅ HyperX DRAM (AMD, Intel) -
✅ Patriot Viper (AMD, Intel) -
❌ Investigate limiting motherboard detection even further using subsystem information
-
-
✅ MSI-RGB inversion flag set from DMI information (#452 (closed)) -
✅ Corsair mouse labels-
✅ Corsair M65 RGB Elite -
✅ Corsair Harpoon RGB Pro -
✅ Corsair Sabre RGB
-
-
✅ Espurna controller (https://github.com/xoseperez/espurna)-
✅ Light device type
-
- EVGA GPU support (https://gitlab.com/CalcProgrammer1/OpenRGB/-/wikis/EVGA-GPU)
-
✅ EVGA V1 (Pascal) - EVGA V2 (Turing)
-
❌ EVGA V3 (Ampere)?
-
-
✅ New SteelSeries Devices-
✅ SteelSeries Apex Pro TKL -
✅ SteelSeries Old Apex
-
-
❌ Philips Hue (philips_hue_rebase branch) (Postponing until 0.6)-
✅ Connect to Hue bridge (https://github.com/enwi/hueplusplus) -
✅ Support for color-controlled bulbs and strips -
✅ Figure out how to pair with bridge and save username -
✅ Light device type -
✅ Entertainment Mode group controller -
✅ Move Entertainment Mode functionality into hueplusplus library - Integrate hueplusplus library cleanly
-
✅ Use settings manager for Philips Hue bridge network locations, usernames, client keys - Multiple bridge support
- Only create individual bulb controllers for bulbs not in entertainment group
-
-
✅ Philips Wiz-
✅ Send RGB control to Wiz bulb -
✅ Receive module name and firmware version -
❌ Figure out if it is possible to avoid fade effect -
❌ Autodetection? -
✅ Light device type
-
-
✅ Generic Linux LED sysfs interface-
✅ Manual detection using linuxleds.txt -
❌ Improve configuration to handle trigger setting, blink setting, and possibly others -
❌ Autodetect RGB LEDs
-
-
✅ Corsair Dominator Platinum RGB-
✅ Detection -
✅ Direct mode -
❌ Effect modes
-
-
✅ Sony DualShock 4 (!160 (closed))-
✅ Add GamePad type
-
-
❌ Adalight protocol (https://forums.adafruit.com/viewtopic.php?f=47&t=29970) (Arduino serial protocol that is a bit better than my Keyboard Visualizer one) (Postponing until 0.6) -
✅ Logitech G213 (MR !171 (closed)) -
❌ ROG Swift PG27VQ-
❌ See #499 -
❌ Captures provided, USB Aura device -
❌ Add Monitor type
-
-
✅ ROG Gladius II Core -
✅ ROG Gladius II -
✅ HyperX Fury Ultra Mousemat-
✅ Detection, Direct Mode -
❌ Built in effects -
✅ Correct LED count and zones -
❌ Figure out issues with interface 0 not showing up in Linux with hidraw
-
-
✅ SteelSeries Apex M750 -
✅ Asus TUF Gaming laptops (WMI version on Windows) -
✅ Coolermaster ARGB Controller #530 (closed) !180 (closed) -
❌ See New Device Issues (Any not listed postponed to 0.6)
Nice to Haves
- Move key names to a common header file
-
❌ USB Hotplug (probably won't make it into 0.5)
Related Project Improvements (i.e. Non OpenRGB)
Stretch targets
Last minute to-dos before release
-
✅ NZXT Hue+ Fix-Up-
✅ Add Direct mode (much faster!) -
❌ Fix glitching on Linux
-
-
✅ HyperX DRAM Fix-Up-
✅ Either change name to HyperX DRAM or use SPD information to choose proper name (Predator vs Fury) -
✅ Fix mapping when not all slots are filled -
✅ See if we can reduce flickering
-
-
✅ Settings UI for detectors-
✅ Rework to interface only with settings manager
-
-
✅ Desktop file on Linux doesn't open OpenRGB with lowercase name-
✅ Rechecked on @Dr_No's and @CalcProgrammer1's systems
-
-
✅ Wiki article or FAQ instructions for "disabling devices" #804 (closed)-
✅ Added link to OpenRGB Settings page on wiki homepage -
✅ Added link to README as well.
-
-
✅ Keymaps for Razer keyboards:-
✅ Huntsman (non-Elite) -
✅ Ornata Chroma
-
-
✅ Profile delete button doesn't work
Edited by Adam Honse