SMS DOCS

Install & First Boot

SMS ships as a single PlayStation 2 executable β€” an SMS.elf file. There is no installer and nothing to write to the console itself: you copy the ELF to storage your PS2 can read, then launch it however you normally launch homebrew. This page covers what you need, where to get the build, the common ways to run it, what the first boot looks like, and how to prepare a media device.

β„Ή In one sentence
Put SMS.elf somewhere your PS2 can reach (a memory card or a USB drive), launch it from your homebrew loader, and put your videos and music on any FAT32/exFAT drive. That is the whole install.

What you need

SMS is homebrew: it is an unsigned program, so your console needs to be able to run unsigned programs. It does not modify your PS2, install anything to the system, or require a modchip β€” it just needs a way in.

β„Ή DualShock 3 / 4
Wired DS3/DS4 support uses USB and is loaded automatically. For Bluetooth, connect a compatible USB Bluetooth dongle, plug the controller into USB, choose Device settings β†’ Pair Bluetooth controller, then unplug the cable and power the controller on. These USB controller paths do not contend with MX4SIO on SIO2.
⚠ Homebrew access is up to you
This guide assumes your console can already launch homebrew. Setting up FreeMcBoot, FreeDVDBoot or another exploit is a separate, well-documented topic that depends on your exact console model and region β€” follow a current guide for your PS2. SMS itself asks nothing special of your console beyond "can run an ELF."

Getting SMS

You need one file: the compiled SMS.elf. Grab it from the project's builds β€” the Releases & Changelog page tracks the available downloads. If you would rather build the ELF yourself from the source tree, the Building from Source page walks through the Docker toolchain and make.

The IOP driver modules SMS needs (USB, MX4SIO, HDD, MMCE, network and the rest) are embedded inside the ELF, so a single file is genuinely all you copy β€” there are no loose .irx files to place beside it.

β„Ή One file, many names
You can rename the ELF to suit your loader (some setups expect BOOT.ELF on a memory card, for example). The program is the same regardless of the filename.

Running the ELF

SMS launches like any other PS2 homebrew ELF. Use whichever method your console is already set up for β€” the following are the common ones, not an exhaustive list. If your loader can point at an ELF, it can launch SMS.

From a memory card via FreeMcBoot / OSDSYS

If your memory card runs FreeMcBoot, copy SMS.elf to the card (via a memory-card manager on the PS2, or an FTP/USB transfer tool) and add it to your FreeMcBoot / OSDSYS launch menu, or drop it where your menu already looks for ELFs. Then pick it from the boot menu at power-on. This is the most convenient setup β€” SMS is available every time you turn the console on, no disc required.

With wLaunchELF (uLaunchELF) off USB or a memory card

wLaunchELF (uLaunchELF / uLE) is the community file-manager-and-launcher most homebrew users already have. Copy SMS.elf to a USB drive or memory card, open uLaunchELF, browse to the file (mass: for USB, mc0:/mc1: for a memory card) and press the launch/confirm button on it. uLaunchELF loads the ELF and SMS starts. There are legacy walk-through screenshots of this flow in the project's image set.

Launched by another loader or as an auto-boot ELF

Any launcher that can run an arbitrary ELF can start SMS β€” some people wire it into their boot menu so it runs automatically, or launch it from another homebrew front-end. As long as the loader hands control to SMS.elf, SMS behaves the same. Where SMS then saves its settings depends on where it was booted from β€” see Next steps.

From a burned disc (older consoles)

On consoles set up for it, SMS can also be run from optical media (for example via FreeDVDBoot or a boot disc), which is handy on an early PS2 with no other storage. Preparing a bootable disc is a console-specific process; once it boots, the SMS experience is identical.

β„Ή Legacy install screenshots
The project keeps older step-by-step images (uLaunchELF, CD burning, FTP transfer) under docs/images/ β€” files named installation-*.png. They predate this fork's UI refresh but still illustrate the general launch-from-USB and copy-to-card flows.

First boot β€” what you see

When SMS starts you land on its desktop: a full-screen background with three bordered areas.

The active area is highlighted; each area sits inside its own rounded rectangle. You move between the device row and the file list with the D-pad β€” full navigation is covered in Getting Started and the Devices Overview.

⚠ On a clean install, nothing auto-starts
Out of the box SMS starts with no storage devices running β€” the device row will look sparse until you turn something on. This is deliberate: you enable exactly the devices you use. Open the settings menu and flip the matching Autostart toggle (USB, MX4SIO, HDD, i.LINK, MMCE, network or UDPFS), or use its Start … item to bring it up on the spot without a reboot. Once a device is started it appears in the top row and you can browse into it. Full details are on the Settings Reference.
βœ‹ Three resource pairs β€” choose one from each
MX4SIO and MMCE share SIO2; the internal HDD's APA/PFS and exFAT/BDM paths share ATA; and SMB/host and UDPFS load different stacks for the one Ethernet controller. Whichever starts first owns the shared resource for that boot. See Devices Overview for the specifics.

Preparing a media device

SMS is a media player that browses the raw filesystem of whatever device you point it at and plays media files wherever they sit. There is no required folder structure β€” no special "movies" or "cover-art" tree to build. You just put files on a drive and browse to them.

Format the drive FAT32 or exFAT

A standard FAT32 or exFAT USB flash drive or microSD works. Format it on your PC the normal way; no special partitioning is needed for USB or MX4SIO. (The internal APA HDD is the exception β€” that path uses the PS2's own partition scheme; see Internal HDD.)

Copy your media anywhere on it

Drop your videos, music and pictures onto the drive in whatever folders you like. SMS recognises files by extension β€” AVI/DivX/Xvid, mp4v MP4 and MPG/MPEG for video; MP2/MP3, AAC, AC3, FLAC, OGG and WMA for audio; JPEG for pictures; plus M3U playlists and external SRT/SUB subtitles. The full list is on the Video and Audio pages.

Plug it in and start the device in SMS

Connect the drive, then start the matching device from the SMS device menu or its Autostart toggle. Your files appear in the browser, ready to open with Cross. That is it β€” no import step, no database.

β„Ή Device names you'll see
BDM mass-storage devices (USB, MX4SIO, exFAT HDD, i.LINK) all appear as massN: where N is 0, 1, 2… MMCE units show as mmce0:/mmce1:, the internal APA HDD as hdd0:, UDPFS as udpfs:, and optical discs via cdfs. You rarely need to type these β€” you pick devices by their icon β€” but they show up in the status line's path.

Next steps

SMS is running and a device is prepared β€” now go play something and tune the setup:

Where do my settings get saved?

By default SMS writes its configuration to the memory card at mc0:/SMS/SMS.cfg. In this fork, if SMS was booted from another device (USB, HDD…) and there is no memory card to save to, it stores the settings next to the SMS.elf on that boot device instead β€” so a memory-card-less setup still keeps its preferences. Deleting the config file resets SMS to clean defaults, which means (as on first boot) nothing auto-starts until you turn it back on. More on the Settings Reference.

Do I have to build my media into an OPL-style folder tree?

No. SMS is not OPL β€” there are no ISOs, no VMC, no ul.* files and no coverart folders. It plays whatever media files it finds, wherever they are on the drive. Just copy your files on and browse to them.