Firmware Hero
0

webos-powera-relay

Use a PowerA USB controller (20d6:2027) as a virtual Xbox 360 controller on a rooted LG webOS TV.

  • Add-on
  • Alpha
  • Low brick risk

Source code

This project hasn't been claimed by its maintainer yet, so its details come from the community. Is it yours? Claim it

Before you start

How hard is it?
HardUses the command line or developer tools.
What you need
  • Comfort with the command line
  • A computer
  • Another hack installed first
Can it break my device?
Very unlikely to break anything.
Can I undo it?
The project doesn't say. Assume you can't.
Get itOpens github.com

Did it work for you?

Did webos-powera-relay work on your LG OLED C3?

No reports yet.

One-tap reports from owners. Bricked reports are checked before they count.

Compatibility

Devices: LG OLED C3.

No compatibility information yet.

Getting started

From the project's README ("Installation"):

Download and extract this repository on your computer. Review the files first.

From the folder containing relay.py on your Mac/Linux computer, copy the files to the TV (replace TVIP with its local IP address):

ssh root@TVIP 'mkdir -p /tmp/webos-powera-relay' scp -O relay.py install.py uninstall.py root@TVIP:/tmp/webos-powera-relay/ ssh root@TVIP

-O selects legacy SCP for TVs without an SFTP subsystem. If your SCP client does not support that flag, try the same command without it.

In the TV's root SSH shell:

python3 /tmp/webos-powera-relay/install.py

The installer refuses to overwrite an existing installation. It installs only:

/var/lib/webosbrew/powera-relay/relay.py /var/lib/webosbrew/init.d/80-powera-relay

It configures startup but does not start the relay immediately. On the TV choose Homebrew Channel > Settings > System reboot. After the TV returns, reconnect over SSH and inspect:

tail -n 10 /tmp/powera-relay.log

With the controller connected, look for RELAIS ACTIF. A successful install message alone does not prove the relay is running. Open a browser gamepad tester and confirm the virtual Xbox 360 entry uses standard mapping, then test Luna. Test another full reboot and USB unplug/replug before relying on your setup.

The new helper scripts have not been run on the original TV. The existing working installation was installed with an earlier inline installer producing the same relay path and startup command.

Read the full instructions

Risk and recovery

Brick risk
Low
Requires opening the device
No

From the project's README ("Disable or uninstall"):

To disable startup while keeping the installation:

chmod -x /var/lib/webosbrew/init.d/80-powera-relay

Use System reboot to stop the running instance. Re-enable with chmod +x and another System reboot.

To remove it, copy uninstall.py to the TV again if /tmp was cleared. In the root SSH shell:

python3 /tmp/webos-powera-relay/uninstall.py

The uninstaller removes the hook and Python file. Reboot through Homebrew Channel to stop any running relay and release the controller. It intentionally leaves the lock file to avoid invalidating a running instance's lock. After reboot, optional cleanup:

rm -f /var/lib/webosbrew/powera-relay/relay.lock rmdir /var/lib/webosbrew/powera-relay

The uninstaller does not change root, Homebrew Channel, Bluetooth pairing, or device permissions. No recursive directory deletion is used.

Read the full instructions

Credits, license and support

License
MIT