scottrice / Ice

Application to automatically add ROMs to Steam
http://scottrice.github.io/Ice/
MIT License
835 stars 96 forks source link

Ice on SteamOS #130

Open geraldhumphries opened 10 years ago

geraldhumphries commented 10 years ago

Alpha17x was having a lot of issues using Ice on Steam OS, summarized here: https://github.com/scottrice/Ice/issues/118#issuecomment-30635423

When logged in as the desktop user, Ice can't find Steam's userdata location without editing config.txt.

Python's sys.platform returns "linux2". Steam is installed under the steam user, not the desktop user, so Ice's default ~/.local/share/Steam/userdata/ will not work if running it from the desktop user.

I think the best solution to a lot of issues would be running Ice as the steam user.

I was able to install SteamOS in a VM and then add the default Debian repositories to APT. I used vi to edit /etc/apt/sources.list. Then I installed Mednafen and configured it as the GBA emulator. The debian repositories are in this comment: http://steamdb.info/blog/35/#reply-1081

I will update this issue as I make progress.

Alpha17x commented 10 years ago

Were you able to get them to list inside the Big Picture UI, and did you do this before or after the running of ~/post_logon.sh?

I was attempting to do it after the OS Installation was entirely finalized. At this point I've wiped the system and am starting from scratch.

geraldhumphries commented 10 years ago

I haven't gotten far enough to actually run Ice properly, I ran into issues with the user accounts like you did. This is all before running post_logon.sh. I'll try the same steps in a fresh install after running post_logon.sh and see what difference it makes.

Alpha17x commented 10 years ago

Alright. I've made some progress. Games are now populating in steam. The emulators aren't launching the games though. I'm using the presets defined in http://scottrice.github.io/Ice/emulators/ I"m assuming it's a command line argument problem perhaps, but those emulators all work outside of steam so that is another issue I'll put aside.

It's just as you thought, and it makes perfect sense, you need to do it from the steam account.

Here is what I had to do, there could be an easier way but this was what I did; This is all assuming you've manually added the debian repositories back to sources.list so you can apt-get the desired emulators.

After you've run post_logon.sh The system should restart, you may get a boot error, if so just restart, the next boot should take you into Big Picture Mode.

Go to settings and under interface options; enable linux desktop.

Choose exit/power options and exit to the desktop.

Open a terminal window, you need to login as root and then do the following;

nano /etc/lightdm/lightdm.conf

scroll down to where is says "user-session=steamos" and change it to "#user-session=steamos"

under it find "autologin-user=steam" and change it to "#autologin-user=steam"

You will have to go past the entry that says #autologin-user= to see it

Close the file with ctrl-x and save it

Enter the command; service lightdm restart

The system should either go black or glitch out an then go black with a blinking text cursor.

ctrl alt del to reboot.

When it comes back up you should have a login screen. change the session to gnome, enter steam as the user name (there should be no password for it.

From this point as long as ice is configured correctly it should work without any problem. You just need to go nano into lightdm.conf again as root and remove the pound signs that were added , do another lightdm service restart and reboot.

At the very least all the games ice could find should be listed, and as long as the command arguments in emulators.txt are correct. the shortcuts should allow the games to launch. Though I am having trouble with that at the moment, i believe it's a command argument issue, and nothing to do with ice.

Pour the champagne, play the Final Fantasy Victory Fanfare, do a dance.

Edit: As a side note; I did not know linux outside of a GUI before I started working with SteamOS and ICE and I've had to spend a lot of that time in the terminal or console. It has been interesting and I'm quite pleased at having learned something new.

marcusmoller commented 10 years ago

I'm installing SteamOS in VirtualBox as I type this, so will be interesting to see if I can get something working real quick.

geraldhumphries commented 10 years ago

Don't run post_logon.sh because that makes it start in Steam big picture mode. You won't be able to see anything because there are no drivers for the VM GPU.

ghost commented 10 years ago

@scottrice We're running a SteamOS / Steam Machine development competition at the moment and someone pointed me in your direction. You've got some great stuff in your repos, would you be at all interested in entering one or two of them? If you're interested or want to find out a bit more then drop me a line, or take a quick peek at this page: http://www.steam-scene.com/index.php?p=/discussion/27/hacking-steamos-for-fun-and-profit-steam-gift-cards-and-free-stickers-up-for-grabs#Item_1.

mdeguzis commented 10 years ago

@Alpha17x, so did you get this fully working? I am working on a secondary box to run Steam on just for Retro games but I have a more powerful SteamOS box. If I can get this on that box, I have no reason to keep making the other one. Thanks!

mdeguzis commented 10 years ago

@Alpha17x , all, I did get this semi-working (just ZSNES for now). Sound is working on ZNES and I can play games via SteamOS. It does make an entry in SteamOS as expected. With a few filters it looks great on my 1360x768 HDMI display. I had trouble with artwork at first, but re-ran ICE to correct that. ZSNES was a bit trick too install and not mess up the SteamOS-specific session, but I carefully installed all I could from the Alchemist repo without specifying the -t option until I had to install ZSNES (which obviously isn't in there).

Games launch fine from the desktop, but not within Steam. They launch ok, but seem to ignore all the settings I made on the desktop ZSNES program.

SamuelTilly commented 10 years ago

@ProfessorKaos64 application settings are not shared between users, you could either symlink (but then you need to make sure that both users have read/write access) or copy over the settings from the desktop user to the steam user. something like cp -r /home/desktop/.zsnes /home/steam/.zsnes (not sure where zsnes stores is settings tho, might be .config/zsnes) and then chown -R steam:steam /home/steam/.zsnes to make sure the steam user have access to the files.

SamuelTilly commented 10 years ago

I was able to do this easily by installing a ssh server onto steam, sudo apt-get install openssh-server and then ssh to the box from another machine and temporarily stopping the lightdm service sudo service lightdm stop do all the icy things and then when ready i just start the service again sudo service lightdm start

mdeguzis commented 8 years ago

For anyone on this thread, a fork of this repository is available until upstream is more compatible with SteamOS. In my repository noted in the readme, there is an upstream package that follows this master tree, but it carries 0 guarantee of working and is for testing only.

https://github.com/ProfessorKaos64/Ice