Beastachu Posted April 15, 2017 Share Posted April 15, 2017 K, a little over a month ago I came across a nifty emulation service called Retro Achievements that adds fan-made achievements to games from sega MS - 32X, the Gameboy family (GB, GBC, & GBA), NES, SNES, & Turbo 16 games and ROM hacks. It seemed great, and it caused me to load ROMs on my computer of games I had previously beaten relentlessly, as well as the games I hadn't touched yet that were already there. Retro Achievements provides altered versions of some of the more common stand-alone emulators (SNES9X, Fceux, & VBA-M to name a few) with a built-in overlay so you can check the achievement list for the game you have loaded, also RetroArch provides syncing with the service, so that you can still log whatever you have accomplished. Normally, I would have preferred the stand-alones, however, this isn't possible with LaunchBox as the Retro Achievement emulators require the emulator to be loaded prior to the ROM file in order to connect to the server. The emulator would still work, but the main purpose wouldn't. Also, I am running a copy of most of these games on my ThinkPad X220T laptop, which only has Intel HD 3000 graphics, so every build fresh off the download page of RetroArch crashed immediately when first loading. This post is to cover the difficulties I came across trying to make this service work with LaunchBox, and fixes I found to numerous problems associated with RetroArch 1.5.0.1: Getting the damn thing to work Since I couldn't get the stand-alone to work with LauchBox I had to either give up LaunchBox entirely or suck it up and install RetroArch. After some digging in the forums here, I found someone else who had a similar problem & had given me a link to the Libretro forums where they discussed the same thing. Their solution was to open the cfg file, look for video_driver & change gl to D3D. Yes, this worked, however, this was a hideous black window with harsh yellow text. BG image couldn't be changed, and none of the graphical adaptions would work. I also heard you can change menu_driver to rgui. I will warn, that's a much older interface skin, and I would only recommend it if you're running a really low-end computer. One other thing I noticed in the Libretro post, was the initial poster had no problem prior to the 1.4.1 update - 1.3.6 worked fine on their Intel HD 3000 graphics card, so I went to the archived downloads and tried that build, sure enough, it loaded without a problem. However, RetroArch 1.3.6 still hadn't quite gotten down support for Retro Achievements: Achievements were constantly set to unlock, so I never knew what I needed to do still, and NES achievements weren't even available. So, back to the drawing board. About 2 weeks later (at this point I was spending more time looking up ways to be able to load games rather than play games, and a friend thought I might have an obsessive problem) I stumbled across a thread from the Duke4 forums on a similar issue here . And decided to try their work around. SUCCESS!!!!!! 1.5.0 is now working on my computer. Apparently, there is a line in the XML file of RetroArch that points toward Windows 10 graphics drivers. Since Intel hasn't made official drivers for that card on 10, it causes RetroArch to crash upon loading. This tool edits the XML file and removes that line. Just download it from here, double click the file, and point it at RetroArch.exe. A CMD window will open and will tell you to hit any key a couple of times, and that's all. It loads everything like it was never an issue to begin with. Quote Link to comment Share on other sites More sharing options...
Beastachu Posted April 15, 2017 Author Share Posted April 15, 2017 2: Great it loads, but how do we customize it RetroArch 1.3.6 worked with the custom config that is frequently talked about in early installments of the LaunchBox YouTube tutorials, however, they don't work as well with 1.5.0, but 1.5.0 has a new feature in overrides so configs automatically load when different platforms load. Personally, I have a dedicated folder for screenshots in general in My Pictures directory on my computer, and folders for each platform's save states, system saves, and cheats. I noticed with the overrides it would keep changes made to my cheat folder, and to my screenshots, but not my save folders and on some occasions customized controller configs as well. Thanx to the sexy beasts that are Zombeaver & LordMonkus on Discord the other day, I figured out how to edit the cfg file for overrides, located in retrorch/config/EMULATOR YOU ARE CUSTOMIZING. To add a custom save location, you need to add these: savefile_directory = "[disk drive letter]:\DIRECTORY\WHERE\YOUR\SAVES\GO" savestate_directory = "[disk drive letter]:\DIRECTORY\WHERE\YOUR\SAVE\STATES\GO" Likewise, to ensure custom configs for controllers, you need to add some variation of this: input_player1_b = input_player1_b_btn = input_player1_b_axis = input_player1_y = input_player1_y_btn = input_player1_y_axis = input_player1_select = input_player1_select_btn = input_player1_select_axis = input_player1_start = input_player1_start_btn = input_player1_start_axis = input_player1_up = input_player1_up_btn = input_player1_up_axis = input_player1_down = input_player1_down_btn = input_player1_down_axis = input_player1_left = input_player1_left_btn = input_player1_left_axis = input_player1_right = input_player1_right_btn = input_player1_right_axis = input_player1_a = input_player1_a_btn = input_player1_a_axis = input_player1_x = input_player1_x_btn = input_player1_x_axis = input_player1_l = input_player1_l_btn = input_player1_l_axis = input_player1_r = input_player1_r_btn = input_player1_r_axis = input_player1_l2 = input_player1_l2_btn = input_player1_l2_axis = input_player1_r2 = input_player1_r2_btn = input_player1_r2_axis = input_player1_l3 = input_player1_l3_btn = input_player1_l3_axis = input_player1_r3 = input_player1_r3_btn = input_player1_r3_axis = input_player1_l_x_plus = input_player1_l_x_plus_btn = input_player1_l_x_plus_axis = input_player1_l_x_minus = input_player1_l_x_minus_btn = input_player1_l_x_minus_axis = input_player1_l_y_plus = input_player1_l_y_plus_btn = input_player1_l_y_plus_axis = input_player1_l_y_minus = input_player1_l_y_minus_btn = input_player1_l_y_minus_axis = input_player1_r_x_plus = input_player1_r_x_plus_btn = input_player1_r_x_plus_axis = input_player1_r_x_minus = input_player1_r_x_minus_btn = input_player1_r_x_minus_axis = input_player1_r_y_plus = input_player1_r_y_plus_btn = input_player1_r_y_plus_axis = input_player1_r_y_minus = input_player1_r_y_minus_btn = input_player1_r_y_minus_axis = input_player1_turbo = input_player1_turbo_btn = input_player1_turbo_axis = A set of an input is made of three parts: a base (a key on your keyboard), a btn (a button on your controller), & an axis (a joystick, or in the case of a 360 controller, a trigger). Inputs need to put in quotations, and "nul" tells the system there is no input for that part. So, if you're like me and you want your d-pad mapped on the left joystick of a 360 controller it would look like this: input_player1_up = "up" input_player1_up_btn = "nul" input_player1_up_axis = "+1" input_player1_down = "down" input_player1_down_btn = "nul" input_player1_down_axis = "-1" input_player1_left = "left" input_player1_left_btn = "nul" input_player1_left_axis = "-0" input_player1_right = "right" input_player1_right_btn = "nul" input_player1_right_axis = "+0" Quote Link to comment Share on other sites More sharing options...
DOS76 Posted April 15, 2017 Share Posted April 15, 2017 so do you happen to know the line in the xml so it can be removed manually instead of with a 3rd party tool that I have to download. Quote Link to comment Share on other sites More sharing options...
Beastachu Posted April 15, 2017 Author Share Posted April 15, 2017 I do not unfortunately, I am not that good with code myself. Quote Link to comment Share on other sites More sharing options...
DOS76 Posted April 15, 2017 Share Posted April 15, 2017 No big deal I'lI just keep using the rgui menu since I rarely need to see it anyway Quote Link to comment Share on other sites More sharing options...
Beastachu Posted April 15, 2017 Author Share Posted April 15, 2017 (edited) I can tell you it removes the Windows10 supportedOS GUID line from the XML manifest. Apparently, builds after 1.3.6 started relying pretty heavily on OpenGL, but Intel drivers work weird on 10. You don't get any GL acceleration if the driver is able to detect an OS it isn't explicitly programmed to support. If you don't have the Windows 10 stuff in your application manifest, all of your GetVersionEx() calls are supposed to return Windows 8.1--this was done by Microsoft for purposes of compatibility with apps that have poorly implemented version checks. Unfortunately, it seems that Intel's driver for this GPU contains one of these version checks, leaving users of this GPU in a bit of a predicament as far as running apps that have actually been updated for Windows 10 are concerned. Intel has already stated that they aren't supporting the HD3000 under 10, so it's unlikely this will ever be fixed unless someone patches the driver to bypass the check in whatever the last compatible driver Intel released was. Edited April 15, 2017 by Beastachu Quote Link to comment Share on other sites More sharing options...
DOS76 Posted April 15, 2017 Share Posted April 15, 2017 yeah I have a few machines with HD3000 graphics (have an old Inspiron 1525 with even older graphics) but they aren't my main emulation platforms. You can also get the msvc builds and they should work without making changes Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.