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:
- A rooted WebOS TV (see here, also maybe here, also maybe here);
- WebOS Dev Manager or recommended, a decent SFTP client, like WinSCP, muCommander, FileZilla Client, etc;
- (Optional if you don't want it to look ugly/broken) Retroarch installed on your machine for assets.
- The cores you want to use:
- 2048 (2048 game);
- CrocoDS (Amstrad CPC);
- DOSBox (MSDOS);
- Frodo 64 (Commodore 64);
- Gambatte (Game Boy / GameBoy Color);
- Lutro (Lua);
- mGBA (Game Boy Advance);
- Mini vMac (Machintosh with Motorola's 680x0 CPUs);
- Nestopia (NES / Famicom):
- NXEngine (Cave Story / Doukutsu Monogatari);
- PicoDrive (Sega Master System, Sega Game Gear, Sega Sega Mega Drive/Genesis, Sega (Mega) CD, Sega 32X and Sega Pico);
- RACE (SNK - Neo Geo Pocket / Neo Geo Pocket Color);
- Snes9x (SNES / Super Famicom);
- TyrQuake (Quake 1).
Guide:
- Go to your TV settings > All Settings > General > Network > <whatever network you are using> and take note of your IP address;
- Go to the Homebrew Channel and install RetroArch;
- Still in the Homebrew Channel go to options and enable the SSH server and then select the reboot option.
- 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);
- (Optional) On your computer go to your RetroArch installation folder and copy the contents of the "assets" folder to your TV, to the folder "/media/developer/apps/usr/palm/applications/com.retroarch/.config/retroarch/assets". If you are using the WebOS Dev Manager, you'll have to create the inner folder manually and upload the file contents of each folder and subfolder, a folder node at a time, hence why I recommended using a decent SFTP client like WinSCP. (Note that you might want to be selective here, you may want to only copy the assets you use to preserve the limit space your TV offers. For example, if you use Ozone and not the XMB interface, you may want to refrain from copying the XMB interface assets. You may skip this step entirely if you don't care about having RetroArch menu assets even and don't mind having those ugly black squares showing);
- (If you followed step #5,) reboot your TV using the option in the Homebrew Channel options;
- 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.
- 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";
- 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;
- (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;
- 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);
- Go to Settings > File Browser and turn "Filter Unknown Extensions Off"
- 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);
- Still 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.
- (Optional) 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.
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.