I just updated the Flatpak release to 1.0rc2 so new installs in Bazzite, SteamOS, etc. should be the same as downloading the AppImage from openrgb.org. Remember to set up udev rules in either case.
Profiles are a bit of a mess in the current builds, but should work resuming from suspend. Hibernation may not work because the USB ports are likely powered off along with the entire system and thus the USB connection may not be reestablished properly. If this is the case, not much we can do until hidapi supports hotplugging (this has been something we wanted to support for a long time bit I don't want to depend on a fork of hidapi)
There are a handful of mostly-older games that had native Linux ports by third-party porting houses which broke save compatibility between the Windows and Linux versions of the game. However, these old Linux native ports are generally absolute garbage and you're better off running the Windows version via Proton, which does have compatibility with your Windows saves as it is running the same exact game version. It seems most games with native Linux versions released by the actual developer are fine, it's just when they offload the Linux version to a porting house that it can get messy. Those old third-party ported games were typically from the original SteamOS/Steam on Linux era (2012-2015 or so) before Proton became a thing though.
Might be because I added a systemd service recently, so OpenRGB may run as a background service. However, the device configuration in the GUI is for the local instance, not the remote one (as the service runs OpenRGB as root so it uses root's configuration). You can disable the service with systemctl disable openrgb and reboot and see if that fixes it. As part of the API/SDK rework I'm doing before 1.0 I want to add a settings interface so the GUI can change some settings on the server to fix this issue.
I think the defaults are extreme and also use LW as a no telemetry/ads FF replacement, but I understand the vision. I'm fine with LW having the defaults it has, they can be easily turned off and I'd rather start with extreme privacy and just change what I need than the other way around where I could be leaving privacy options on the table.
Honestly, not even mad. Sucks for the victims, but we need hackers poking holes in kernel anticheats. Show the game companies that kernel anticheat is a waste of effort and maybe this horrific plague of gaming will die off.
If Bungie is behind it I have zero interest without even knowing what it is. Destiny 2 was an OK game, but its god awful anticheat bans Linux users. That is a sure-fire way to make me pretend your game doesn't exist. Client side anticheat is a plague. Do it properly on the server side.
Until any competing store releases a Linux client, I can't really argue against Steam. They are a gatekeeper and almost a monopoly, but they're also the most benevolent and pro-consumer gatekeeper that we have in the PC gaming distribution space. As long as all the competition continue to be Windows-only and, in some cases, actively work against Linux users, I don't want Valve's digital fiefdom to fall.
I've been experimenting with both of these and recently wrote up a guide for installing FEX on postmarketOS (as I am testing it on my phone and tablet) but the steps should work for Pi as well.
I also just made a video tutorial/demo on YouTube. I ran Half Life 2 and Tomb Raider (2013). I'm not sure how capable the Pi 4 GPU is in comparison to the Adreno GPUs I tested.
APIs can be complex too. Look at how much stuff the Win32 API provides from all the kernel calls, defined data structures/types, libraries, etc. I would venture a guess that if you documented the Win32 API including all the needed system libraries to make something like Wine, it would also be 850 pages long. The fact remains that a documented prototype for a software implementation is free to reimplement but a documented prototype for a hardware implementation requires a license. This makes no sense from a fairness perspective. I'm fine with ARM not giving away their fully developed IP cores which are actual implementations of the ARM instruction set, but locking third parties from making their own compatible designs without a license is horribly anticompetitive. I wish standards organizations still had power. Letting corporations own de-facto "standards" is awful for everyone.
In the mobile Linux scene, Qualcomm chips are some of the best supported ones. I don't love everything Qualcomm does, but the Snapdragon 845 makes for a great Linux phone and has open source drivers for most of the stack (little thanks to Qualcomm themselves).
RISC V is just an open standard set of instructions and their encodings. It is not expected nor required for implementations of RISC V to be open sourced, but if they do make a RISC V chip they don't have to pay anyone to have that privilege and the chip will be compatible with other RISC V chips because it is an open and standardized instruction set. That's the point. Qualcomm pays ARM to make their own chip designs that implement the ARM instruction set, they aren't paying for off the shelf ARM designs like most ARM chip companies do.
Hopefully Qualcomm takes the hint and takes this opportunity to develop a high performance RISC V core. Don't just give the extortionists more money, break free and use an open standard. Instruction sets shouldn't even require licensing to begin with if APIs aren't copyrightable. Why is it OK to make your own implentation of any software API (see Oracle vs. Google on the Java API, Wine implementing the Windows API, etc) but not OK to do the same thing with an instruction set (which is just a hardware API). Why is writing an ARM or x86 emulator fine but not making your own chip? Why are FPGA emulator systems legal if instruction sets are protected? It makes no sense.
The other acceptable outcome here is a Qualcomm vs. ARM lawsuit that sets a precedence that instruction sets are not protected. If they want to copyright their own cores and sell the core design fine, but Qualcomm is making their own in house designs here.
It's just a matter of flashing the CorsairLightingProtocol firmware (instructions on the project's GitHub page) and then soldering the data pin of your LED strip to the appropriate Arduino pin. You can provide 5V power to the LEDs from a Molex or SATA power cable which allows as much power as your PSU can handle. You can draw 5V from the Arduino directly to run the LEDs but I would only run 30 LEDs or fewer with this power source. If you want more LEDs then connect them straight to your PSU.
Corsair Lighting Node is another good option. The real Corsair one works well but if you're willing to DIY you can use CorsairLightingProtocol on an Arduino Pro Micro and have 2 channels of ARGB with direct mode support for like $6, and you can use multiple. I have one in my case for case lighting as I used up my motherboard headers on fans and I used this as the controller for my OpenRGB desk fan project as well.
Except the one platform that actually matters, Linux. My girlfriend got me into this game and it's the only game I have to keep a Windows installation around for. It doesn't run on the Steam Deck, so it's the only multiplayer game I play where I would even contemplate having to play it on Switch. I hate Epic Games.
The name Unity just needs to be avoided. I get the well intentioned meaning behind the word, but it has been the name of three major controversial/disastrous products in semi-recent history - Ubuntu Unity Desktop, Assassin's Creed: Unity, and the Unity Engine.
Leave it on, but turn off the monitor. I have it set up as a GitLab runner for some projects and also want to be able to SSH/SFTP in to access files, run updates, etc.
If it doesn't have an official control app then we most likely cannot add it. Usually button-controlled RGB means that the device just uses the USB cable for power, not data, so there is no control protocol we can send to the device to control it. We use the official applications to reverse engineer the control commands.
I just updated the Flatpak release to 1.0rc2 so new installs in Bazzite, SteamOS, etc. should be the same as downloading the AppImage from openrgb.org. Remember to set up udev rules in either case.
Profiles are a bit of a mess in the current builds, but should work resuming from suspend. Hibernation may not work because the USB ports are likely powered off along with the entire system and thus the USB connection may not be reestablished properly. If this is the case, not much we can do until hidapi supports hotplugging (this has been something we wanted to support for a long time bit I don't want to depend on a fork of hidapi)
There are a handful of mostly-older games that had native Linux ports by third-party porting houses which broke save compatibility between the Windows and Linux versions of the game. However, these old Linux native ports are generally absolute garbage and you're better off running the Windows version via Proton, which does have compatibility with your Windows saves as it is running the same exact game version. It seems most games with native Linux versions released by the actual developer are fine, it's just when they offload the Linux version to a porting house that it can get messy. Those old third-party ported games were typically from the original SteamOS/Steam on Linux era (2012-2015 or so) before Proton became a thing though.
Might be because I added a systemd service recently, so OpenRGB may run as a background service. However, the device configuration in the GUI is for the local instance, not the remote one (as the service runs OpenRGB as root so it uses root's configuration). You can disable the service with systemctl disable openrgb and reboot and see if that fixes it. As part of the API/SDK rework I'm doing before 1.0 I want to add a settings interface so the GUI can change some settings on the server to fix this issue.
I think the defaults are extreme and also use LW as a no telemetry/ads FF replacement, but I understand the vision. I'm fine with LW having the defaults it has, they can be easily turned off and I'd rather start with extreme privacy and just change what I need than the other way around where I could be leaving privacy options on the table.
Honestly, not even mad. Sucks for the victims, but we need hackers poking holes in kernel anticheats. Show the game companies that kernel anticheat is a waste of effort and maybe this horrific plague of gaming will die off.
If Bungie is behind it I have zero interest without even knowing what it is. Destiny 2 was an OK game, but its god awful anticheat bans Linux users. That is a sure-fire way to make me pretend your game doesn't exist. Client side anticheat is a plague. Do it properly on the server side.
Until any competing store releases a Linux client, I can't really argue against Steam. They are a gatekeeper and almost a monopoly, but they're also the most benevolent and pro-consumer gatekeeper that we have in the PC gaming distribution space. As long as all the competition continue to be Windows-only and, in some cases, actively work against Linux users, I don't want Valve's digital fiefdom to fall.
I've been experimenting with both of these and recently wrote up a guide for installing FEX on postmarketOS (as I am testing it on my phone and tablet) but the steps should work for Pi as well.
https://wiki.postmarketos.org/wiki/Steam
I also just made a video tutorial/demo on YouTube. I ran Half Life 2 and Tomb Raider (2013). I'm not sure how capable the Pi 4 GPU is in comparison to the Adreno GPUs I tested.
https://youtube.com/watch?v=EuOX2L_yNqI
Box86/64 and FEX can both run Steam on ARM. Lighter games should be playable on RPi4 and 5.
APIs can be complex too. Look at how much stuff the Win32 API provides from all the kernel calls, defined data structures/types, libraries, etc. I would venture a guess that if you documented the Win32 API including all the needed system libraries to make something like Wine, it would also be 850 pages long. The fact remains that a documented prototype for a software implementation is free to reimplement but a documented prototype for a hardware implementation requires a license. This makes no sense from a fairness perspective. I'm fine with ARM not giving away their fully developed IP cores which are actual implementations of the ARM instruction set, but locking third parties from making their own compatible designs without a license is horribly anticompetitive. I wish standards organizations still had power. Letting corporations own de-facto "standards" is awful for everyone.
In the mobile Linux scene, Qualcomm chips are some of the best supported ones. I don't love everything Qualcomm does, but the Snapdragon 845 makes for a great Linux phone and has open source drivers for most of the stack (little thanks to Qualcomm themselves).
RISC V is just an open standard set of instructions and their encodings. It is not expected nor required for implementations of RISC V to be open sourced, but if they do make a RISC V chip they don't have to pay anyone to have that privilege and the chip will be compatible with other RISC V chips because it is an open and standardized instruction set. That's the point. Qualcomm pays ARM to make their own chip designs that implement the ARM instruction set, they aren't paying for off the shelf ARM designs like most ARM chip companies do.
Hopefully Qualcomm takes the hint and takes this opportunity to develop a high performance RISC V core. Don't just give the extortionists more money, break free and use an open standard. Instruction sets shouldn't even require licensing to begin with if APIs aren't copyrightable. Why is it OK to make your own implentation of any software API (see Oracle vs. Google on the Java API, Wine implementing the Windows API, etc) but not OK to do the same thing with an instruction set (which is just a hardware API). Why is writing an ARM or x86 emulator fine but not making your own chip? Why are FPGA emulator systems legal if instruction sets are protected? It makes no sense.
The other acceptable outcome here is a Qualcomm vs. ARM lawsuit that sets a precedence that instruction sets are not protected. If they want to copyright their own cores and sell the core design fine, but Qualcomm is making their own in house designs here.
It's just a matter of flashing the CorsairLightingProtocol firmware (instructions on the project's GitHub page) and then soldering the data pin of your LED strip to the appropriate Arduino pin. You can provide 5V power to the LEDs from a Molex or SATA power cable which allows as much power as your PSU can handle. You can draw 5V from the Arduino directly to run the LEDs but I would only run 30 LEDs or fewer with this power source. If you want more LEDs then connect them straight to your PSU.
Corsair Lighting Node is another good option. The real Corsair one works well but if you're willing to DIY you can use CorsairLightingProtocol on an Arduino Pro Micro and have 2 channels of ARGB with direct mode support for like $6, and you can use multiple. I have one in my case for case lighting as I used up my motherboard headers on fans and I used this as the controller for my OpenRGB desk fan project as well.
Except the one platform that actually matters, Linux. My girlfriend got me into this game and it's the only game I have to keep a Windows installation around for. It doesn't run on the Steam Deck, so it's the only multiplayer game I play where I would even contemplate having to play it on Switch. I hate Epic Games.
The name Unity just needs to be avoided. I get the well intentioned meaning behind the word, but it has been the name of three major controversial/disastrous products in semi-recent history - Ubuntu Unity Desktop, Assassin's Creed: Unity, and the Unity Engine.
Leave it on, but turn off the monitor. I have it set up as a GitLab runner for some projects and also want to be able to SSH/SFTP in to access files, run updates, etc.
If it doesn't have an official control app then we most likely cannot add it. Usually button-controlled RGB means that the device just uses the USB cable for power, not data, so there is no control protocol we can send to the device to control it. We use the official applications to reverse engineer the control commands.