scottrice / Ice

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

Not able to get a ROM folder working #118

Open raskulous opened 10 years ago

raskulous commented 10 years ago

I have tried to use the default (non specified) folder, and also setting it manually to my ROMS folder.

In either case I get this error:

=========================Starting Ice

An Error has occurred: 'roms directory'

Close the window, or hit enter to exit...

scottrice commented 10 years ago

That is really odd. Would you mind posting your log.txt?

geraldhumphries commented 10 years ago

That looks like a config issue. Maybe you accidentally removed or changed the text "ROMs Directory=" in config.txt?

Alpha17x commented 10 years ago

Can anyone explain how to properly edit the config? I'm trying to get this going under Steam OS.

I have not had to even touch the config.txt file before thankfully but steam OS moved the install of steam to /home/steam/.local/share/Steam

On a 'normal' install of linux, it's located at /home/.local/share/Steam.

I had thought I could edit the config.txt file with; [Storage]# /home/steam/.local/share/Steam or [Storage]# ~/steam/.local/share/Steam

Another possible interpretation is putting it after '=>'

These do not work.

I've come up with parsing errors, the 'Roms directory' error. however I deleted everything other than the [Storage]# part since the rest seemed like it was example text.

The formatting of the config.txt file makes id almost impossible to tell where to edit something and what to edit, because there's no formatting. It's just one long line. It seems so far like absolutely any edit to this file at all causes a 'Roms Directory' Error

scottrice commented 10 years ago

@Alpha17x You mention that config.txt is showing up all in one line for you. That is definitely not intended. What program are you using to edit config.txt?

Alpha17x commented 10 years ago

Hello. Im' using notepad in windows. I am attempting to edit the file in windows and then after i've done so I'm copying it to the SteamOS system to test on linux. (SteamOS doesn't have a text editor)

scottrice commented 10 years ago

Ok, thats what I was wondering. Notepad on Windows has been giving my trouble specifically. Have you tried any other editors? When I am on windows I normally use notepad++ and that displays it correctly. You mention you are setting it up on SteamOS, have you tried any of the linux editors?

As for why this is happening, I believe Windows ends all of their lines with the characters '\r\n'. On Mac (where I do all of my development) and Linux, lines are normally ended with just '\n'. Notepad I think expects every line to be finished with '\r\n', which doesnt show up anywhere in config.txt, so it displays everything in one line.

I do plan on fixing that specific issue in the future though, as notepad is the default .txt editor on Windows and having config.txt display incorrectly on the default editor is not ok.

Alpha17x commented 10 years ago

I've grabbed Notepad ++ It displays with formatting intact now. Thank you. I"m going to give it another shot and see how it goes. I will edit this comment or respond with a result.

The adventure continues

scottrice commented 10 years ago

Let me know how things go on SteamOS. I unfortunately haven't had the time to mess with it yet, but I am really excited about the idea of using Ice with it.

Alpha17x commented 10 years ago

Alright. so i'm no longer getting a 'roms' directory error so I think that I've got that solved. A new issue and one that i was expecting is;

An Error has occured; Steam userdata directory not found in the default location

It makes sense because valve moved it in steam OS. Can I point to the location in the config file? Or would I have to edit another file/other files.

In SteamOS it has been moved to /home/steam/.local/share/Steam

Maybe I'll just have to wait. I'm not experienced with python or really any form of programming and I've learned more linux in the last two days because of steam OS, than I ever knew or would have bothered to learn before.

scottrice commented 10 years ago

Funnily enough, I just accepted a pull request about 30 min ago that adds a 'userdata directory' option in config.txt. Since you are on SteamOS I imagine you are using the source code, so try getting the most recent version and running that. emulators.txt and consoles.txt should be copy/paste-able, but I would recommend reentering your config.txt changes (if you had any previously) by hand.

Alpha17x commented 10 years ago

Hahaha. Okay. I'll grab the new stuff and give it a go.

Okay. I tried it out. I didn't get any error messages but I also don't have anything added to steam.

It told me it created a roms folder at /home/ROMs (because I told it to) and it seemed to attempt to download images, but did not. So right now I suspect that there is an empty ROM's folder I need to find.

Edit: It had some permission problems so I ran ice.py with sudo. And it looks like because of that it made the roms folder under root, which is kind of funny. I"ll have to figure out how to make it use the path/account I want. I'm pretty sure the only thing stopping me is just correctly listing the folder location.

The way I'm having to do this is odd. in SteamOS, Steam itself runs in big picture mode under a 'SteamOS' user acount. and any administrative action is done from the 'desktop' account.

I tried this all out no a normal linux system. it works just fine. SteamOS is what's complicating things at this point.

geraldhumphries commented 10 years ago

I knew that change would come in handy, funny that it's needed for SteamOS and happened right before its release. There should be a new issue opened to make Ice work on SteamOS without having to edit config.txt. If python's system.platform returns something unique then it should be pretty straightforward.

scottrice commented 10 years ago

Yeah thats my goal. Assuming python has something special for sys.platform, I should be able to add in SteamOS-specific functionality with minimal effort.

Alpha17x commented 10 years ago

I still can't get it to work on Steam OS. I think the fact that it uses two accounts is causing the problem. Works fine and with zero problems on Linux Mint and Ubuntu.

In order to run ice.py you have to run via Sudo or it won't allow ice to touch the shortcuts.vdf file. As it's under a separate user account called 'steam'

It's easy enough (now that I'm using notepad++ to point at the steam install location. I think it's still using the wrong roms folder. But I think I need to figure out how to copy the roms across accounts.

Right now the roms are sitting in the desktop account. ICE is probably trying to find them under the Steam account.

I'm going to look up some linux command line wizardry. At this point I believe I need to copy ~desktop/home/ROMs to ~steam/home/ROMs. Not sure how to do that at the moment. Then I'll probably have to run ice.py via sudo again.

geraldhumphries commented 10 years ago

Hi Alpha,

Can you give us log.txt? It should be located in Ice's directory.

Alpha17x commented 10 years ago

Here's the last successful run. I've done a few since then but those are just directory testing. I noticed it created a directory at root (because I ran via sudo, likely) so I gave it another shot right after with some changes.

At the moment I've got a folder in the home folder of the desktop folder called 'ROMs' Im' trying to make it look there for SNES roms. I'm probably going to have to copy them to the steam account however because Im' sure that even if I can get them listed in steam. it will run into a permission problem trying to run them from across two user accounts.

[12/15/13 19:33:31] #################################### [12/15/13 19:33:48] =========================Starting Ice [12/15/13 19:33:48] Creating ROMs directory at /root/ROMs [12/15/13 19:33:48] Emulator '' not found for Nintendo DS. Ignoring [12/15/13 19:33:48] Emulator '' not found for Super Nintendo. Ignoring [12/15/13 19:33:48] Emulator '' not found for Playstation 2. Ignoring [12/15/13 19:33:48] Emulator '' not found for Playstation 1. Ignoring [12/15/13 19:33:48] Emulator '' not found for Nintendo Entertainment System. Ignoring [12/15/13 19:33:48] Emulator '' not found for Sega Dreamcast. Ignoring [12/15/13 19:33:48] Emulator '' not found for Gameboy Advance. Ignoring [12/15/13 19:33:48] Emulator '' not found for Sega Genesis. Ignoring [12/15/13 19:33:48] Emulator '' not found for Nintendo Gamecube. Ignoring [12/15/13 19:33:48] Emulator '' not found for Nintendo 64. Ignoring [12/15/13 19:33:48] Emulator '' not found for Nintendo Wii. Ignoring [12/15/13 19:33:48] Emulator '' not found for Nintendo Gameboy. Ignoring [12/15/13 19:33:48] ---------------Running for user 129211884 [12/15/13 19:33:48] ---Downloading grid images [12/15/13 19:33:48] ---------------Running for user 67677 [12/15/13 19:33:48] ---Downloading grid images [12/15/13 19:33:48] =========================Finished [12/15/13 19:37:05] =========================Starting Ice [12/15/13 19:37:05] Creating ROMs directory at /home/ROMs [12/15/13 19:37:05] Emulator '' not found for Nintendo DS. Ignoring [12/15/13 19:37:05] Emulator '' not found for Super Nintendo. Ignoring [12/15/13 19:37:05] Emulator '' not found for Playstation 2. Ignoring [12/15/13 19:37:05] Emulator '' not found for Playstation 1. Ignoring [12/15/13 19:37:05] Emulator '' not found for Nintendo Entertainment System. Ignoring [12/15/13 19:37:05] Emulator '' not found for Sega Dreamcast. Ignoring [12/15/13 19:37:05] Emulator '' not found for Gameboy Advance. Ignoring [12/15/13 19:37:05] Emulator '' not found for Sega Genesis. Ignoring [12/15/13 19:37:05] Emulator '' not found for Nintendo Gamecube. Ignoring [12/15/13 19:37:05] Emulator '' not found for Nintendo 64. Ignoring [12/15/13 19:37:05] Emulator '' not found for Nintendo Wii. Ignoring [12/15/13 19:37:05] Emulator '' not found for Nintendo Gameboy. Ignoring [12/15/13 19:37:05] ---------------Running for user 129211884 [12/15/13 19:37:05] ---Downloading grid images [12/15/13 19:37:05] ---------------Running for user 67677 [12/15/13 19:37:05] ---Downloading grid images [12/15/13 19:37:05] =========================Finished

geraldhumphries commented 10 years ago

Regarding your edit, make sure you're linking to the right folder. Ice will convert the "~" symbol to the path of your current user's home directory, for example "~/desktop" will convert to "/home/username/desktop".

I'm not sure how SteamOS is laid out but it looks like /desktop/home/ROMs might already be the full path and you only need to remove the ~ from config.txt.

Alpha17x commented 10 years ago

Can it perhaps not see the roms I have in there?

There are over 600 roms in there so they're hard to miss. Here's an example of the naming format they're using;

'ActRaiser (U) [!].zip'

Do they need to be unzipped?

As well, since I keep getting 'Emulator not found. do I need to install emulators manually?

[12/15/13 20:36:17] #################################### [12/15/13 20:36:47] =========================Starting Ice [12/15/13 20:36:47] Creating ROMs directory at /desktop/home/ROMs [12/15/13 20:36:47] Emulator '' not found for Nintendo DS. Ignoring [12/15/13 20:36:47] Emulator '' not found for Super Nintendo. Ignoring [12/15/13 20:36:47] Emulator '' not found for Playstation 2. Ignoring [12/15/13 20:36:47] Emulator '' not found for Playstation 1. Ignoring [12/15/13 20:36:47] Emulator '' not found for Nintendo Entertainment System. Ignoring [12/15/13 20:36:47] Emulator '' not found for Sega Dreamcast. Ignoring [12/15/13 20:36:47] Emulator '' not found for Gameboy Advance. Ignoring [12/15/13 20:36:47] Emulator '' not found for Sega Genesis. Ignoring [12/15/13 20:36:47] Emulator '' not found for Nintendo Gamecube. Ignoring [12/15/13 20:36:47] Emulator '' not found for Nintendo 64. Ignoring [12/15/13 20:36:47] Emulator '' not found for Nintendo Wii. Ignoring [12/15/13 20:36:47] Emulator '' not found for Nintendo Gameboy. Ignoring [12/15/13 20:36:47] ---------------Running for user 129211884 [12/15/13 20:36:47] ---Downloading grid images [12/15/13 20:36:47] ---------------Running for user 67677 [12/15/13 20:36:47] ---Downloading grid images [12/15/13 20:36:47] =========================Finished

geraldhumphries commented 10 years ago

Yes, Ice doesn't automatically download emulators for you any more. They need to be installed manually then configured in emulators.txt. You also need to choose what emulator you want to use for each console in consoles.txt

Alpha17x commented 10 years ago

Hmm Okay. I will check into that right now.

Steam OS has no repositories outside of what valve has. I am going to be a very very very long time with this one. I've got no idea how to get software onto linux outside of a repository.

Alpha17x commented 10 years ago

Looks like I'm going to have to give up. It's just too difficult to do this as Steam OS is now.

You can't get an emulator from the software manager because you can't add repositories. You can download something like zsnes but for some reason linux programs never come in nice immediately usable packages, so you have to attempt to compile from the console - which will fail.

Steam OS splits everything between two accounts. The primary UI is under the SteamOS account, which has steam in big picture mode and absolutely no desktop functionality.

You can get into an administrative desktop but need to manually copy the roms across accounts so steam can launch them without an access error, let alone even see them and list the games.

This is very much a problem with how Steam OS is configured. ICE works fine on windows, and it works fine on a normal installation of linux.

It's probably entirely doable on Steam OS, but it's going to require a ridiculously complicated amount of work. I've been at his for days. It's time to stop.

Thank you both for your help. I look forward to hopefully seeing ICE work on Steam OS in the future. It probably technically does. It's just an epic nightmare to set up.

geraldhumphries commented 10 years ago

I'm setting up SteamOS in a VM. I'll play around with it and let you know if I get Ice working.

Alpha17x commented 10 years ago

I'm pretty sure I'm at the point where I just need to get an Emulator on here. Unfortunately I am having to do it manually. I hope you get it working. I'd love to see it working It would be great to use Ice on Steam OS. I expect that if there were an easy way to get it going, it would become very popular very fast.

geraldhumphries commented 10 years ago

I made some progress, particularly with apt and installing emulators. I posted a new issue describing what I did, we can move the discussion there.