GPi Case 2
-
@cdaters
Thats great info, thanks for that. I might have to check it out. -
I got my GPI Case 2 and a CM4 lite with 4gb ram today and I agree, it's awesome.
But getting the board in was difficult. I've watched some videos before and it seemed so easy but I was struggling and at the point where I thought that something was broken.Now I just need to check what features have been added/changed for EmulationStation so I can adapt my theme I posted about 4 years ago.
-
I just got one of these set up myself. I never had any experience with the original GPi case, so this is my first foray into the tech. I've got some thoughts to contribute, as well as a few tips for anyone else who wants to dip into this to avoid some of the pitfalls I have.
First up, I had to actually exchange the one I bought, because Amazon shipped me a pre-owned one, where someone had removed the battery from its adhesive backing. It was rattling around in the case, and stripped some wires off of the motherboard. If you can shake it and hear something rattling, beware. The second one worked just fine.
When selecting a Pi CM4 to put into this thing, make sure it's a Lite model. A Pi CM4 with EMMC memory will not allow you to use the onboard SD card slot on the case. Seating the CM4 takes a lot of pressure too, so you need to make sure you hear a click on both the top and bottom of the CM4. If you can't reach in the compartment to do it, the case opens with five small Phillips screws, and a spudger to release the clips holding it together. Also, there's some room inside the case for heatsinks, but not a big heavy duty one. The best I could fit was small aluminum heatsinks (without modding the case), and if you plan to do anything that taxes the CM4, even without overclocking, you will need it, because there's no fan. Even with heatsinks, trying to build lr-fbneo from source caused it to thermal throttle the CPU. I do not recommend trying to overclock this thing.
I tried to clone my Pi 4 SD card and use that with the GPi 2 to save time and configuration. It worked, but caused several other headaches, and honestly I'd suggest starting with a fresh RetroPie build. There's a "patch" you have to apply from Retroflag to get it to build, but essentially it's a new config.txt you need to swap in so that it can boot with the case's screen. I found that it only partially worked, because without the config.txt it would not boot at all, but with the config.txt it booted up but never reached emulationstation. So in that way I'm glad I set up the SD card with my full Pi 4, so that I could get it configured for wifi and install the actual case script over SSH. You need to install the config.txt patch from Retroflag's website, and their case script, to make it work.
After getting it running, there are a few quirks of the hardware you need to be aware of.
- The dpad is awful. If you thought 8bitdo controllers had issues with accidental diagonal inputs, they have nothing on the GPi 2's dpad. I'm not sure what to do to fix this. But you need to be very deliberate with your inputs.
- The four face buttons have their key codes swapped. The case's controller reads as an xinput device, so it shows up as an Xbox 360 controller. But where a normal xinput controller would have for example B as button 0 and A as button 1, A is button 0 and B is button 1. Same with X and Y, their key codes are swapped. So my existing controller mapping for an xbox 360 controller is backwards. The case offers a way to swap the functions of any two buttons, but this does not persist on power-off, so if you have an existing mapping you will need to remap. And then deal with the knowledge that it will screw with any physical controllers you plug in to the dock or pair via bluetooth.
- The L/R buttons are in an awkward position, and caused my hands to cramp after trying to use them for a short while. Fortunately, I fixed this by going on Etsy and buying a pair of replacement shoulder buttons for the case. They sort of move the buttons up slightly, making it much more comfortable to use. I absolutely recommend this mod if you have big hands.
- The case has a single mono speaker, but inside of the case it has a stereo amp. Retroflag has just wired up the right channel, leaving the left channel unpopulated. So sound will be completely off in some games that offer stereo sound with no way to convert it to mono, like, ironically, Game Boy games (the sound output is stereo, because the headphone jack on the Game Boy was stereo). This was apparently also a problem on the original GPi case. The fix for it is here: https://www.reddit.com/r/retroflag_gpi/comments/c176wg/sound_fix_for_gpi_mono_sound_link_inside/
- You cannot hot swap from the internal screen to the dock's HDMI. This is mentioned numerous times by other people, and also by Retroflag on the script's github. But it bears repeating. The dock also outputs only 720p. Not a big deal for retro games.
- The Sleep button on the case only turns the screen off. It does not actually put the console to sleep. After 20 minutes with the screen off, it will run the shutdown script.
At the end of the day my feeling is that it has some flaws, but for what it is it works pretty well. I don't know if I'd recommend it over a full sized Pi solution, but for games that match the control layout on the case, it works well. My big issues with it are the thermal problems, the dpad, and the face buttons being wired up wrong. I feel like a firmware update could fix the face button issue, but the other two are a little harder to get around.
Hopefully this helps other people making decisions about this case!
-
@G30FF said in GPi Case 2:
The case has a single mono speaker, but inside of the case it has a stereo amp. Retroflag has just wired up the right channel, leaving the left channel unpopulated. So sound will be completely off in some games that offer stereo sound with no way to convert it to mono, like, ironically, Game Boy games (the sound output is stereo, because the headphone jack on the Game Boy was stereo). This was apparently also a problem on the original GPi case. The fix for it is here: https://www.reddit.com/r/retroflag_gpi/comments/c176wg/sound_fix_for_gpi_mono_sound_link_inside/
Do you know of any game that can be used to test the sound of the speaker? Because so far I have not encountered any problem with that.
-
@EctoOne The 240p testsuite has a Stereo sound test (the SNES version at least).
-
@EctoOne I noticed it when I tried playing Super Mario Land for the Game Boy. As soon as I got a star, the invincibility music sounded completely off. Then I realized it was because it played only the right audio channel. If you plug in headphones you can hear the full music. But if you're familiar with what it should sound like, you'll be able to tell right away something is wrong.
-
@G30FF Thanks for the tip, I tested it and it really makes a difference. Well, I guess I'll add that to my personal settings script. :)
-
@EctoOne You're welcome! It's worth adding the extra script from the reddit post I linked, so that you can have stereo sound from the headphone jack and mono from the onboard speaker (you have to run the script manually when you want to switch the sound back to default, but it's better than nothing).
-
@G30FF I've seen the script but I already had my own to disable Wi-Fi and Bluetooth in the config.txt, so I simply added another function to it, to switch between the Audio modes. I prefer to have a single script/menu instead of multiple entries in the gamelist.
-
@G30FF I also hated the D pad. Constantly got random down and right moves. Then I saw this YouTube video about swapping out the D pad with a Gameboy D pad from Handheld Legends. It works! D pad control much improved. However, this video is for the original GPi case, not the 2. I had to slightly lift up the battery pack to get to the screws on the circuit board. You don’t have to completely remove it, but just be careful to not pierce the battery cover! But the mod was definitely worth the effort. FYI: The video mentions a ribbon cable, but it does not exist on the GPi2.
-
@youngcreative I've now done this mod myself. It was a lot of work, but I got into the controller to swap the D-pad. And honestly I'm not entirely sure it was worth it.
Yes, it's more accurate, and I have far less mistaken diagonals. But the D-pad is also shorter, and feels like it needs to be pressed harder to register an input, which hurts my thumb the more I play. And I now have the opposite problem from mistaken diagonals. Every once in a while, when I slide my thumb over the D-pad, it just doesn't register the input.
-
I have my Gpi Case 2 now up and running. Overall, I think it is a great little box. Love the docking station.
I have some of the same issues with the dpad, but not enough to go crack the thing open. I am having more challenges with trying to use a paired bluetooth Xbox One controller.
When docked, Gpi still prefers the onboard gamepad to the BT one. I'd almost rather the built in contols 'disconnected' or went invisible when docked. I have been able to mitigate it with meleu's joystick-selector script, but it isn't flawless.
And, so far, I have had zero luck getting ScummVM to recognize the built-in controller for virtual mouse support. When the xbone controller is paired, I can get Scumm to recognize the analog stick for mouse by changing the launch script to 'joystick=1', but it homes in to the upper left and is completely useless to play with.
Would love anyone to help get that working. What's weird is, I have had zero issue with other pi builds getting the controller to work well with ScummVM. Nearly out of the box functionality. Not here. I think it is the fact one is built-in that is interfering.
-
I resolved mapping the controller for ScummVm. In case you also need it:
https://retropie.org.uk/forum/topic/33334/scummvm-controller-help-needed -
I have also resolved the issue with using a bluetooth controller for ScummVM. The write up is in the other post. In case you also need it:
https://retropie.org.uk/forum/topic/33334/scummvm-controller-help-needed
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.