Giter Club home page Giter Club logo

openrgb-container's Introduction

P3R OpenRGB

P3R OpenRGB

RGB software... Every manufacturer has their own app, their own brand, their own style. Most of these apps are windows only, and usually only support their own brands hardware. OpenRGB was developed as a way to bypass this issue, and P3R took the initiative to turn the application into a container for systems operating as hyervisors. The primary focus of this project was to give users of Unraid OS a way to edit their RGB configurations, with s little effort as necessary.

Supported Devices

See the Project Wiki for the current list of supported devices.

WARNING!

This project provides a tool to probe the SMBus. This is a potentially dangerous operation if you don't know what you're doing. Exercise caution when clicking the Detect Devices or Dump Device buttons. There have been reports of Gigabyte motherboards having serious issues (bricking the RGB or bricking the entire board) when dumping certain devices. On the same lines, exercise the same caution when using the i2cdump and i2cdetect commands on Linux, as they perform the same functionality. OpenRGB is not liable for damage caused by improper SMBus access.

As of now, only Gigabyte RGB Fusion 2.0 boards have been reported to have issues.

SMBus Access

  • SMBus access is necessary for controlling RGB RAM and certain motherboard on-board LEDs.

  • If you are not trying to use OpenRGB to control RGB RAM or motherboard LEDs, you may skip this section.

  • ASUS and ASRock motherboards have their RGB controller on an SMBus interface that is not accessible by an unmodified Linux kernel (for now). I am working on getting patches submitted upstream, but for now you must patch your kernel with the provided OpenRGB.patch file.

  • Allowing access to SMBus from Unraid OS Console

    1. Load the i2c-dev module: modprobe i2c-dev

    2. Load the i2c driver for your chipset:

      • Intel:
        • modprobe i2c-i801
        • modprobe i2c-nct6775 - Secondary controller for motherboard LEDs (requires a kernel patch, not yet tested)
      • AMD:
        • modprobe i2c-piix4
        • Unmodified kernel will have one interface, patched kernel will have two. The first at 0x0B00 and the second at 0x0B20. The 0x0B20 interface is for motherboard LEDs.
  • Modprobe will have to be run on each Unraid server reboot, or you can add the drivers to your 'go' file to automatically do this.:

         # modprobe for each sensor
         modprobe i2c-dev
         modprobe i2c-i801
         modprobe <sensor3>
    
  • Instructions on patching the kernel:

  • Some Gigabyte/Aorus motherboards have an ACPI conflict with the SMBus controller.

    • Add acpi_enforce_resources=lax to your kernel command line and reboot. The controller should now show up.
  • You'll have to enable perl in order for detect script to work on Unraid console.

    • List all SMBus controllers: `sensors-detect'. type Yes for all prompts, this is safe according to Unraid.
    • Note the number for PIIX4, I801, and NCT6775 controllers.
    • Pass these devices to P3R OpenRGB, ie. /dev/i2c-0, /dev/i2c-1, with read only permission is acceptable.

USB Access

  • USB devices should auto-populate if you didnt change UID or PID settings in the container.

Projects Used

openrgb-container's People

Contributors

captainasic avatar captasic avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

openrgb-container's Issues

Plugin Installation not Working

I copied the plugin into the home dir of the docker container and selected it on install plugin in the webinterface, but it just wont install it sadly, is there any fix possible?

OpenRGB Patch

Hi,
I have created a plugin for Unraid which installs the OpenRGB Patch that is needed to take full advantage over RGB in conjunction with your container.
I have now two requests:

  • Can you change the description from your plugin so that it tells what to do after installing the plugin (modprobes are not necessary anymore because that is handled by the plugin)
  • I've also found a little thing in the template for Unraid where you use a Path instead of Devices in the Docker template.

You are using:
image

Where it should be:
image

If you use Paths in your template this can cause problems because in Docker Paths and Devices are handled completely differently and a user that tested the Plugin in conjunction with your Docker container had to actually change the Paths to Devices so that it fully works.

Cheers,
Christoph

docker run command

Please help with pulling the container and starting it properly. Couldn't find any docker run example - would be good to have it in the ReadMe

Applying a led profile at launch of container

I currently have the P3R OpenRGB container to run at boot of my Unraid server. To enable my saved profile, which is to turn off the LEDs on the motherboard, I need to manually go onto the webpage and load the profile.

It looks CalcProgrammer1 (author of OpenRGB) has CLI parameters to specify and apply the profile (see: https://old.reddit.com/r/linux/comments/fqvfbg/openrgb_01_a_new_way_to_control_your_rgb_devices/flsu9zy/). The exact command is ./OpenRGB --profile saved_profile.orp

Perhaps we can set up a Docker ENV var to do so?

Applying Kernel Patch on Unraid docker

Hi there im using unraid with a x570 Asus Strix an some Vengeance Pro RGB Ram, what can i do to let the Docker recognize the RAM? Could I apply the Kernel Patch to Unraid? Is this even possible?

greetings Alex

Can't find any devices - Gigabyte B660 Gaming X AX

Have both the main docker + the patch installed.

Have acpi_enforce_resources=lax in Syslinux

I am doing:
modprobe i2c-dev & modprobe i2c-i801 before starting the container.

Get this error:

image

Unraid: 6.10.3
Corsair Vengeance RGB Pro RAM

Liquidctl works, but can only talk to the motherboard header.

Here are some logs I captured from sensors-detect and liquidctl for more hardware info:

Lastly, we can probe the I2C/SMBus adapters for connected hardware
monitoring devices. This is the most risky part, and while it works
reasonably well on most systems, it has been reported to cause trouble
on some systems.
Do you want to probe the I2C/SMBus adapters now? (YES/no): y
Found unknown SMBus adapter 8086:7aa3 at 0000:00:1f.4.
Sorry, no supported PCI bus adapters found.

Next adapter: SMBus I801 adapter at efa0 (i2c-0)
Do you want to scan it? (YES/no/selectively): y
Client found at address 0x19

[DEBUG] (usb) (find_devices): HidapiBus drivers: AuraLed, CommanderCore, CommanderPro, CorsairHidPsu, H1V2, HydroPlatinum, Kraken2, KrakenX3, KrakenZ3, NzxtEPsu, RgbFusion2, SmartDevice, SmartDevice2, _BaseSmartDevice
[DEBUG] (usb) (find_devices): HID device: 048d:5702 (usage_page=0xff89 usage=0x0010)
[DEBUG] (usb) (find_devices): HID device: 048d:5702 (usage_page=0xff89 usage=0x00cc)
[DEBUG] (usb) (probe): RgbFusion2 identified: Gigabyte RGB Fusion 2.0 5702 Controller

root@cb9c95423e7e:/# liquidctl list -v
Device #0: Gigabyte RGB Fusion 2.0 5702 Controller
├── Vendor ID: 0x048d
├── Product ID: 0x5702
├── Release number: 0x0001
├── Bus: hid
├── Address: /dev/hidraw0
└── Driver: RgbFusion2

Config:
image

root@xbmcdown:/etc# lsmod | grep i2c
i2c_piix4              24576  0
i2c_dev                16384  0
i2c_algo_bit           16384  1 i915
i2c_i801               24576  0
i2c_smbus              16384  1 i2c_i801
i2c_core               86016  9 drm_kms_helper,i2c_algo_bit,nvidia,i2c_smbus,i2c_i801,i915,i2c_piix4,i2c_dev,drm

Upgrade OpenRGB to 0.9

Hi! New version of OpenRGB has been released. 0.9. Would be awesome if this container can be updated ! :)

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.