Tutorial  Updated

Setting up RetroArch on a rooted WebOS LG TV

Guide updated for version 1.17.0.

Ok, so, this might actually not need a rooted TV, as RetroArch reportedly can be installed with Dev mode. I don't have any non-rooted LG TVs and I'm not going to unroot neither of my TVs, so I can't test it - but if anyone wants to go on that adventure, please share your steps. Also, I may have written this guide elsewhere.

So let's start with what you'll need:

Requirements:
You can download more cores here (click a core you want to download, and press the "download raw file" button).
Guide:
  1. Go to your TV settings > All Settings > General > Network > <whatever network you are using> and take note of your IP address;
  2. Go to the Homebrew Channel and install RetroArch;
  3. Still in the Homebrew Channel go to options and enable the SSH server and then select the reboot option.
  4. Wait for it to reboot and open WebOS Dev Manager on your computer or your SFTP client of choice, create a new connection (on WebOS Dev Manager select the "Use SSH Server by Homebrew Channel (Requires rooted TV)" option), use the IP you took note earlier, if a user is required, use "root" and the default password is "alpine" (in the case of WebOS Dev Manager, in the connection configuration, you need to change the authentication from SSH key to password, unless of course if you set up a key before);
  5. Go to Main Menu > Online Updater and select the options to update the database, input mappings if you are using a controller and assets and cheats if you want.
  6. Now, for the cores, you'll have to download manually one by one as the root directory is forbidden for some reason, while individually, the files aren't (links above in the Requirements section). On your PC download the cores you want to your machine and decompress them to a single folder.
  7. Using WebOS Dev Manager or your SFTP client of choice, upload the cores to "/media/developer/apps/usr/palm/applications/com.retroarch/.config/retroarch/downloads";
  8. Open RetroArch on your TV go to Main Menu > Load Core > Install or Restore Core and install the first core on the list. Repeat for all the others;
  9. (Optional) Using WebOS Dev Manager or your SFTP client of choice, you can now delete the .so files on "/media/developer/apps/usr/palm/applications/com.retroarch/.config/retroarch/downloads" to save space;
  10. If you want to use the TV internal memory for ROM storage, using WebOS Dev Manager or your SFTP client of choice and create a folder for your ROMs in "media/internal/". I recommend creating subfolder for each game system. Upload your ROMs, but be mindful of your free space on the TV (check WebOS Dev Manager to know);
  11. If you want to use an external USB storage device (reccomended), download this script (note: don't copy/Paste the script from the page or RAW, download the zip on the corner and use the file inside it, then:
    • Format your USB drive to NTFS (either use Windows or you need a third party tool);
    • Copy the script to the drive and insert it to the TV
    • Using WebOS Dev Manager, open the terminal and navigate to the defaulted mounted path: /tmp/usb/sda/sda1/;
    • Modify the script permitions for execution with chmod +x add_usb_drive_to_retroarch_media_folder_install.sh;
    • Execute the script with ./add_usb_drive_to_retroarch_media_folder_install.sh, press enter and the TV will reboot;
    • To add ROMs to the drive (I reccomend creating a folder for each system), always remove and replug the USB drive with the TV turned off / in standby. If RetroArch stops recognizing the drive, you need to reboot the TV via Homebrew Channel with the USB plugged in. RetroArch will always see the drive as '/media/internal'. 2- The webosbrew is the app that you install on your tv and updates the HomeBrew Channel 3- Those folders are part of the tv OS: the colocation might differ depending on the version 4- SCRIPT_TO_RUN_AFTER_BOOT is what this little script creates
  12. Go to Settings > File Browser and turn "Filter Unknown Extensions Off"
  13. In Retroarch go to Import Content > Scan Directory (if this doesn't work, you'll have to scan manually, setting the designated core first to see respective to the individual directory you scan);
  14. If you are not using a controller, in RetroArch, go to Settings > Input > Hotkeys and look for "Close content" and assign a button or key to it (I assigned 0 on the TV remote). You may want to check to assign extra keys.
  15. (Optional) Also if you are not using a controller, In RetroArch, go to Settings > Input > Port 1 Controls and adjust basic controls to your liking. I set up to use my TV remote as a Wii controller, so "2" as left on the D-pad, "6" as up, "4" as down and "8" as right; and then the coloured buttons as A, B, X and Y, "3" as L and "9" as R. I left "enter" (the OK or center wheel button) as "start". I then reassigned the wheel directionals (it isn't really an analog wheel on the LG Magic Remote if you have one, is just directional buttons with a wheel connecting them, it doesn't even do diagonals) to save state hotkeys. You can likelly plug a controller or a keyboard to the TV for better experience.
  16. If you are using a controller, you should set a quick menu combo on your controller on the Input menu.

Additional thoughs:
  • Probably a good idea to keep a backup of the cores somewhere, also, the RetroArch IPK and the WebOS Dev Manager, even if not using right now, you never know.
  • If this guide was helpful to you and you are comfortable enough, consider buing me a Ko-fi.
 
Last edited by pustal,

ThetaX55

New Member
Newbie
Joined
Oct 22, 2020
Messages
3
Trophies
0
Age
39
XP
56
Country
Canada
Who can cringe setting that up.
It's not in webos store page that i saw. You gotta put it thru program. or hack web thing.

I wonder what emulators the a9 runs thru retro arch. I mean the highest.

Showed my buddy. It's a $2000+ TV. Told me just get a nvidea shield or mini PC. Maybe get better results less risk.
Homebrew channel doesn't have that much apps i want anyways. Maybe kodi. I don't know why it's not just on the web os? Wonder why not other emulators?
 

DarkKingMetalSlime

New Member
Newbie
Joined
Jun 14, 2023
Messages
2
Trophies
0
Age
52
XP
23
Country
United States
I'm very interested in this, too. did you do any further testing? currently, I have it all set up on my CX and both my C1s and it works well. SNES and NES roms. Still, I'm uncertain about how much it can be pushed. is it capable of PSX and N64, or any later generations? I'll try some stuff and report.
 

pustal

Yeah! This is happenin'!
OP
Member
Joined
Jul 19, 2011
Messages
1,627
Trophies
2
Location
Emerald Coast
Website
web.archive.org
XP
7,090
Country
Portugal
I'm very interested in this, too. did you do any further testing? currently, I have it all set up on my CX and both my C1s and it works well. SNES and NES roms. Still, I'm uncertain about how much it can be pushed. is it capable of PSX and N64, or any later generations? I'll try some stuff and report.

Sorry for the late reply, had forgotten to subscribe to my own thread :wacko:

There aren't any PSX or N64 cores thus far to my knowledge, but performance will really depend on your TV. I have a C1 model and will run SNES fine as well, but GBA for example, struggles. Not sure how well mGBA e optimized for it, but I'd doubt it'd have the power for 32bit home consoles.
 

Plazorn

<= Merry Christmas! =>
Member
Joined
Jun 8, 2021
Messages
930
Trophies
2
Location
nowhere in particular
XP
2,800
Country
United States
Guide updated for version 1.17.0.

Ok, so, this might actually not need a rooted TV, as RetroArch reportedly can be installed with Dev mode. I don't have any non-rooted LG TVs and I'm not going to unroot neither of my TVs, so I can't test it - but if anyone wants to go on that adventure, please share your steps. Also, I may have written this guide elsewhere.

So let's start with what you'll need:

Requirements:
You can download more cores here (click a core you want to download, and press the "download raw file" button).
Guide:
  1. Go to your TV settings > All Settings > General > Network > <whatever network you are using> and take note of your IP address;
  2. Go to the Homebrew Channel and install RetroArch;
  3. Still in the Homebrew Channel go to options and enable the SSH server and then select the reboot option.
  4. Wait for it to reboot and open WebOS Dev Manager on your computer or your SFTP client of choice, create a new connection (on WebOS Dev Manager select the "Use SSH Server by Homebrew Channel (Requires rooted TV)" option), use the IP you took note earlier, if a user is required, use "root" and the default password is "alpine" (in the case of WebOS Dev Manager, in the connection configuration, you need to change the authentication from SSH key to password, unless of course if you set up a key before);
  5. Go to Main Menu > Online Updater and select the options to update the database, input mappings if you are using a controller and assets and cheats if you want.
  6. Now, for the cores, you'll have to download manually one by one as the root directory is forbidden for some reason, while individually, the files aren't (links above in the Requirements section). On your PC download the cores you want to your machine and decompress them to a single folder.
  7. Using WebOS Dev Manager or your SFTP client of choice, upload the cores to "/media/developer/apps/usr/palm/applications/com.retroarch/.config/retroarch/downloads";
  8. Open RetroArch on your TV go to Main Menu > Load Core > Install or Restore Core and install the first core on the list. Repeat for all the others;
  9. (Optional) Using WebOS Dev Manager or your SFTP client of choice, you can now delete the .so files on "/media/developer/apps/usr/palm/applications/com.retroarch/.config/retroarch/downloads" to save space;
  10. If you want to use the TV internal memory for ROM storage, using WebOS Dev Manager or your SFTP client of choice and create a folder for your ROMs in "media/internal/". I recommend creating subfolder for each game system. Upload your ROMs, but be mindful of your free space on the TV (check WebOS Dev Manager to know);
  11. If you want to use an external USB storage device (reccomended), download this script (note: don't copy/Paste the script from the page or RAW, download the zip on the corner and use the file inside it, then:
    • Format your USB drive to NTFS (either use Windows or you need a third party tool);
    • Copy the script to the drive and insert it to the TV
    • Using WebOS Dev Manager, open the terminal and navigate to the defaulted mounted path: /tmp/usb/sda/sda1/;
    • Modify the script permitions for execution with chmod +x add_usb_drive_to_retroarch_media_folder_install.sh;
    • Execute the script with ./add_usb_drive_to_retroarch_media_folder_install.sh, press enter and the TV will reboot;
    • To add ROMs to the drive (I reccomend creating a folder for each system), always remove and replug the USB drive with the TV turned off / in standby. If RetroArch stops recognizing the drive, you need to reboot the TV via Homebrew Channel with the USB plugged in. RetroArch will always see the drive as '/media/internal'. 2- The webosbrew is the app that you install on your tv and updates the HomeBrew Channel 3- Those folders are part of the tv OS: the colocation might differ depending on the version 4- SCRIPT_TO_RUN_AFTER_BOOT is what this little script creates
  12. Go to Settings > File Browser and turn "Filter Unknown Extensions Off"
  13. In Retroarch go to Import Content > Scan Directory (if this doesn't work, you'll have to scan manually, setting the designated core first to see respective to the individual directory you scan);
  14. If you are not using a controller, in RetroArch, go to Settings > Input > Hotkeys and look for "Close content" and assign a button or key to it (I assigned 0 on the TV remote). You may want to check to assign extra keys.
  15. (Optional) Also if you are not using a controller, In RetroArch, go to Settings > Input > Port 1 Controls and adjust basic controls to your liking. I set up to use my TV remote as a Wii controller, so "2" as left on the D-pad, "6" as up, "4" as down and "8" as right; and then the coloured buttons as A, B, X and Y, "3" as L and "9" as R. I left "enter" (the OK or center wheel button) as "start". I then reassigned the wheel directionals (it isn't really an analog wheel on the LG Magic Remote if you have one, is just directional buttons with a wheel connecting them, it doesn't even do diagonals) to save state hotkeys. You can likelly plug a controller or a keyboard to the TV for better experience.
  16. If you are using a controller, you should set a quick menu combo on your controller on the Input menu.

Additional thoughs:
  • Probably a good idea to keep a backup of the cores somewhere, also, the RetroArch IPK and the WebOS Dev Manager, even if not using right now, you never know.
  • If this guide was helpful to you and you are comfortable enough, consider buing me a Ko-fi.
Nice I just rooted my webos tv. This is extremely unholy to be honest
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv3 @ K3Nv3: Nah we need 240hz display with 360p gpu outputs that upscale to 8k