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:
Guide:
Additional thoughs:
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;
- 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);
- 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.
- 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;
- 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);
- 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
- 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);
- 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.
- (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.
- 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,