Skip to content

Instantly share code, notes, and snippets.

@mdeguzis
Created January 31, 2016 01:39
Show Gist options
  • Save mdeguzis/c4a2ea905aa4754120fa to your computer and use it in GitHub Desktop.
Save mdeguzis/c4a2ea905aa4754120fa to your computer and use it in GitHub Desktop.
ice-steamos(6) Games Manual ice-steamos(6)
NAME
ice-steamos - Utility to add ROMs to Steam BPM and make launching them much easier.
SYNOPSIS
RUNNING ON STEAMOS
sudo systemctl stop lightdm
su - steam
ice-steamos [option]
exit
sudo systemctl start lightdm
RUNNING ON DEBIAN DISTROS
ice-steamos [option]
DESCRIPTION
ice-steamos is a fork of the original upstream "Ice" program by Scott Rice.
Use Steam to play all your old games! Just because old consoles aren't sold anymore doesn't mean you can't enjoy their
games. ice-steamos leverages Steam's Big Picture mode to turn it into an emulator frontend (similar to Hyperspin). It
accomplishes this by creating folders in specified locations on the user's hard drive, then adding any ROMs that are
placed in these folders to Steam as non-Steam games.
The goal of this fork is to fix up Ice and tailor it for use on SteamOS. Debian packaging is in use to automate instal‐
lation over using pip/python commands. pysteam, psutil, pysteam, and pastebin python packages were converted into
Debian packages, which requires adding the SteamOS-Tools repository, noted below. ice-steamos follows the latest "sta‐
ble" release (either upstream or deemed stable by us), and ice-steamos-unstable, which follows the latest upstream com‐
mits.
NOTES
Steam must be closed before running ice-steamos. The reason this check exists is because Steam writes its shortcuts.vdf
file on close, so if Ice is run while Steam is open when Steam closes (which will need to happen to view shortcuts) it
will overwrite anything you did.
OPTIONS
pdebug
Pastes debug logs to pastebin to include with bug reports
-s --skip-steam-check
Skips checking whether Steam is running (not a good idea).
-c --config
Specify a config file.
-C --consoles
Specify a specific consoles.txt file.
-e --emulators
Specify a specific emulators.txt file.
-d --dry-run
Only test running ice-steamos.
EMULATORS
This fork makes use of as many libretro cores as we can, so that gamepad input (by way of retroarch-joypad-autoconfig)
is handled automatically, taking out the need for manual configurations on our part, and the user. However, emulators,
such as Dolphin, will need setup as the steam user (or migrated after setup with the desktop user) in Desktop Mode. Mak‐
ing non-libretro cores easier to configure is something that will be looked into. See "depends" lines of [debian/con‐
trol](https://github.com/ProfessorKaos64/SteamOS-Tools-Packaging/tree/brewmaster/ice/debian/control) for a list of emu‐
lators in use.
FILES
/etc/ice/config.txt
The configuration file for ice-steamos itself
/etc/ice/emulators.txt
The configuration file which defines available emulators
/etc/ice/consoles.txt
The configuration file which defines the system/consoles in use, and what emulators they employ.
/usr/games/ice-steamos
The script launcher for launching ice-steamos.
ADDING ROMS
When running Ice for the first time the directory `/home/steam/ROMs` will be created containing directories for all sup‐
ported emulators. The easiest way to add ROMs to this directory is with rsync or scp. These pieces of software allow you
to transfer files over ssh. To be able to use ssh as the steam user, you will need to set a password this can be done
from the commandline as the desktop user with:
sudo passwd steam
Once you've done that you can connect to it with winscp with steam as username and with your new password. If you're on
Mac or Linux you can transfer and the content of your local roms directory like this:
rsync -ave ssh romsdir/NES/ steam@steamos:ROMs/NES/
Or you could use scp for single files:
scp rom.z64 steam@steamos:ROMs/N64/
In both cases replace steamos with your Steam Machine's IP address and the rom/romdir with what you want to transfer.
scp can also handle folders with it's "-r" option in the same way the "cp" command does. Once you've done this you can
run Ice again to add the ROMs to Steam.
REMOVING ROMs / CATEGORIES ADDED TO STEAMOS
scp can also handle folders with it's "-r" option in the same way the "cp" command does. Once you've done this you can
run Ice again to add the ROMs to Steam.
REMOVING ROMs / CATEGORIES ADDED TO STEAMOS
Simply remove / relocate the ROM/folder and run Ice again. If there are no games in a given folder, the category will be
removed.
SEE ALSO
UPSTREAM CODE REPOSITORY
https://github.com/scottrice
BUGS
(1) Error msg: 'Ice cannot run because of issues with your system.'
(1) Error text:
* Ice requires write access too `/home/steam/.local/share/Steam/userdata/21885827/config/grid` to run. Please resolve
these issues and try running Ice again.
(1) Resolution:
Close the window, or hit enter to exit... Re-run ice-steamos once more. For some reason, the first time you run ice,
this may show up as a false positive. This is being looked into.
AUTHORS
SteamOS version:
ProfessorKaos64, [email protected]
Sharkwouter, https://github.com/sharkwouter
Original source code
Scott Rice, https://github.com/scottrice/Ice
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment