An indie make-it-work blog for retrogamers that want to replay their old video game hits on their Raspberry Pi and television. Hints and tricks to make it work at the best possible.
Sunday, January 16, 2022
Play ET: Legacy on Raspberry Pi [FPS]
Monday, January 10, 2022
Raspberry Pi & Friends
Thursday, January 6, 2022
Sound issues inventory
Hello,
I figured out that sound issues on Raspberry Pi and more generally Linux installations are often a difficult problem to deal with and the reason is that the causes vary much. The goal of this post is to answer your sound issue according to its cause. This post will be regularly updated as I notice new causes.
Using HDMI
- in /boot/config.txt make sure to set
hdmi_drive=2
dtparam=audio=on - Avoid this fix if you are using jack audio it will have a reverse effect
RetroPie
- Make sure pulseaudio is not installed as it conflict with RetroPie setting.
sudo apt-get remove pulseaudio - Make sure that Audio_Card (should be default) and Audio_Device (should be HDMI if you have an HDMI cable or PCM if you are using a jack) are set correctly in
/opt/retropie/configs/all/emulationstation/es_settings.cfg
- You can change these settings also through RetroPie context menu
Alsa, devices and drivers
- If you lost /dev/snd/ this is the worst case as actually I haven't found any other way than reinstalling your OS through PINN. However you can always try removing and reinstalling alsa-utils and libasound2:
sudo apt-get remove alsa-utils pulseaudio libasound2
sudo apt-get install alsa-utils libasound2
speaker-test
Wine
- Failed to initialize DirectX Audio
- This often happens in RPGMaker games
- It's actually a misleading message. When reading this and searching internet you often find that DirectX is missing. This is not true. This message can actually happen:
- If DirectX is missing
- If the version of DirectX is incompatible with your executable (might be actually too new for your executable and not too old)
- If your sound system can't make a pipe (test it with aplay or paplay)
- If you are cross-executing your Wine binary on another user with "su -l xxxx" from LXDE.
- Solutions:
- Make sure aplay/paplay work (eg type speaker-test)
- Make sure Wine output sounds on other games
- Make a pristine Wineprefix and don't upgrade DirectX with winetricks.
- Install your game on that pristine Wineprefix and only the exact needed dependencies
Wednesday, January 5, 2022
A teaser for 2022 and for the birthday of this blog
Dear readers-players,
Happy new year to you all and happy birthday to this blog (I opened it Dec 30, 2020 exactly)
I haven't been publishing new posts lately for mainly 4 reasons:
- I've been working on my MMO page
- I've started a new job
- I've failed installations 😢
- I've been playing Darkeden like a hardcore gamer. I mean, I've been playing Darkeden like a hardcore gamer.
That said, the blog has been going well and I'm happy to see how many you are reading my posts ☺ so I'm going to tease a little bit. The next posts will be ...
Nah, first, I'll bore you all with the failed projects here. Let me be a real marketer: failed projects are interesting because they can either give you a challenge or warn you that it will be very difficult if you try it yourself. It's always interesting to know 😉. Nevertheless, you will find teasers just afterwards.
The failed projects
- Anbox: I didn't find a kernel source which packed the necessary features for Anbox for my Raspberry Pi 3. I planned to add Anbox to my multi-purpose system that already gives Kodi, RetroArch and RPD but it will unfortunately be a no-go. Maybe it will change when I get my hands on a more modern Pi but as everyone knows, the prices are going on fire and some people even resort falling back to buy a Pi 3 instead of a Pi 4 because it has become so damn expensive.
- Ryzom: If you are a guy like me who loves experimenting, don't step in the trap Ryzom. To keep it short it will take you 2 weeks elapsed to compile, almost 20GB of disk space, a lot of retries and all that to get it running until character creation then freeze to the death. So yeah, there is a sadly zombie post in my draft which is damn long and complete but won't be published because it is useless 😢.
- Native Meridian 59 and
Daimonin: The dependencies are deprecated. Daimonin has a solution
through emulation, Meridian 59 is really too difficult (did I say
that?). Well there are better games than Meridian 59 anyways and I find it not worth the time for a result which might be on the same wavelength
as Ryzom's.
- Windows on ARM: The sad part with Windows on ARM is that you need a Windows PC to format the SD Card and install it. All my Windows PCs are professional PCs except my girlfriend's and Windows on ARM installer can destroy your hard drive if you misclick. I don't want to take that risk 😞.
- DietPi and basic xserver: I gave up this one but might return to it in a distant future. Somehow a basic startx wine on Dietpi will not provide driver descriptor and Wine refuses to start. So for now the most minimalist proposition I have is Raspberry Pi OS Lite + minimalist xserver.
Already there: new inspiration sources
The next posts
The next posts will not be very technical. I plan to give hints to people who just are looking for fun games to play with their friends. This will be the next post as it is almost finished and only needs images and a proofreading.
And afterwards?
Sunday, January 2, 2022
Play Hostile space revived on Raspberry Pi [MMORPG]
Tuesday, November 16, 2021
Play DarkEden on Raspberry Pi[MMORPG]
Wednesday, July 21, 2021
Play Helbreath on your Raspberry Pi [MMORPG]
Prequisite
Get Wine and Box86 running. Helbreath has been tested with WineHQ-5.0.2.
Download the Helbreath installer.
Install Helbreath with Wine (or install it on a foreign PC and copy the directory to your Pi)
Sunday, July 18, 2021
Play Eternal Lands on your Raspberry Pi[MMORPG]
Wednesday, July 14, 2021
MMO List
Dear readers,
I'm currently busy studying the possibility of running native MMO games. I will keep my progress updated on this page: https://thepigamer.blogspot.com/p/mmo-list-1-working.html
I will also publish an article when it's worth it. The next one will be Eternal Lands which has been the first success for me to compile on Raspberry Pi.
Have fun!
The pi gamer
Sunday, July 11, 2021
Sing on Raspberry Pi with Ultrastar DX (Singstar-Like)
Friday, June 4, 2021
Making XWindow, Wine and Box86 work under RetroArch [Raspberry Pi OS 32 bits lite + RetroArch as an app]
Saturday, May 22, 2021
Make a multiple purpose system from PINN and Raspberry Pi OS 32 bits lite
Friday, May 7, 2021
Should you use Retropie, Lakka or RetroArch on your Raspberry Pi?
When talking about emulation on Raspberry Pi, there are four options:
- RetroPie and RetroPie-inspired systems (Batocera and Recalbox)
- Lakka
- RetroArch on top of Raspberry Pi OS (I've finally decided to split Lakka and RetroArch)
- Direct emulation (inline or in LXDE/RPD). This will be only briefly discussed in this article as it would otherwise almost need one post per emulator.
Both Lakka and RetroPie have an integrated system and an in-system installation solutions and are really different from each other. This gives its uses to both of them.
While RetroPie focuses on customization and eye candy, Lakka prefers a very simple and clear interface and a thinner layer than emulationstation. Lakka is also more compatible with drivers like OpenGL.
RetroArch gives a quite complete answer to the uncompleteness of Lakka due to the fact you will truly have access to the OS therefore will be able to install about everything that's not covered in Lakka and execute it via shell scripts.
|
|
Performance
- LibreElec is faster
- Lakka uses OpenGL so is faster than Emulationstation with legacy driver
- Emulationstation doesn't support KMS on older Pi's (won't start at all)
Scripting and customization
The bash core on RetroArch
This core is pretty easy to install and will allow you to run any linux executable from RetroArch.
This bash core has a good coverage: you can actually install a xserver on your system if you are in RetroArch and run X based games like all the Wine games and VCMI. The only game that I haven't successfully started so far on bash core is Diablo2-arm. But Diablo2-arm is also very bitchy to start in RetroPie.
Since RetroArch has a KMS support you won't need to use tvservice or xdotool. You can install an xserver following my new guide: https://thepigamer.blogspot.com/2021/06/making-xwindow-wine-and-box86-work.html
You can also try to install that core on Lakka but you won't be able to run apt-get in Lakka. It means you will not be able to install for example xserver on Lakka. This brings an end to hopes of customizing Lakka further.
DOSBox
Easeness of setup
Easeness of use
Arcade gaming
Scope
Design
And RetroPie as an app?
Conclusion
RetroPie
Lakka
RetroArch
Direct emulation
Friday, April 30, 2021
Disk space on your SD card: best practices
When you start your career as a Raspberry Pi user you know that you will face at some point the following situations:
- You will play games
- You will try OSes
- You will brag about what you can do on your Pi
- You will try things that are almost impossible. Almost impossible is not impossible.
- You will repartition your SD Card
- You will play games on RetroPie
- You will reinstall OSes
- You will run out of SD card disk space
You will eventually run out of SD card disk space and if you are seriously using your Pi, you will have to think to several things on how you manage your storage. Not keeping storage in mind can give you performance and usability issues and if you are caught by surprise you might end having to repartition your SD card and lose some data and some work. Here we are going to browse a few pointers on how to avoid critical disk space situations.
1. Be reasonable in your expectations
- Your system storage (SD Card) with 4 to 512 GB (or even more)
- USB keys that you find in your drawers and realize that you could put them to good use.
- External hard drive
- Your desktop PC's hard drives, shared via samba
- FTP's are mostly out of scope since you can only download and upload from FTP's. From a samba server you can for example operate an executable.
- For example, don't expect to store lots of games like Final Fantasy VII (4 CDs) if you don't have decent storage like an external hard drive. If you are poor on external storage but have a good hard disk on your desktop PC, you might want to use that hard disk but keep in mind that hard disk+network is the slowest possible storage ever.
- Keep a decent objective with how many OSes you are going to install on your SD card depending on its size. See next paragraphs "2. Think your storage directly when partitioning" and "4. Repartition your storage if needed" for more info on this.
- If you are using multiple partitions, store your data and games at one single place. You can either use a project partition from PINN or access a foreign /home/pi from another OS. No need to store your wineprefixes on your 4 OSes; it will just multiply by 4 needed storage and won't bring any added value.
2. Think your storage directly when partitioning
3. Prefer lean OSes
- TwisterOS
- DietPi
- Raspberry Pi OS 32 bits
- Raspberry Pi OS 32 bits lite
- Raspberry Pi OS 32 bits full
3.a. Consider getting a lean Wine version
- Get your lean Wine-x86 from TwisterOS site: https://twisteros.com/faq.html
4. Repartition your storage if needed
4.a. Backup your /home/pi and your important files before repartitioning
- If you have an external device on your Pi:
cd /media/pi/externaldevice/save/path
env GZIP=-9 tar cvzf homepi.tar.gz /home/pi
- You have nothing but your Pi:
- Make sure you are using less than half of your SD card space. You will have to junk useless files. then go to root and tar your directory.
- Do as above:
sudo su
cd /root
env GZIP=-9 tar cvzf homepi.tar.gz /home/pi
chmod 777 homepi.tar.gz
cd ..
chmod 777 /root
exit
- You can upload your saved homepi.tar.gz to any free cloud service (eg. Google Drive).
- If you have an external windows PC, you can install samba on your Raspberry Pi and pull the files from your /home/pi. See guide there: https://pimylifeup.com/raspberry-pi-samba/
4.b. Use one single OS for all
- TwisterOS has it all but is quite slow and works mainly on Pi4
- Raspberry Pi OS 32 bits lite and regular are both good alternatives
- You may install kodi inside this OS:
sudo apt-get install kodi
- Installing RetroPie is a bit out of scope since RetroPie's compatibility is not assured with Fake-KMS so either you will have to use Lakka/Retroarch or you will use a completely manual emulationstation configuration (I don't advise the latter except if you have a lot of time to lose)
Beware that it will be quite buggy as foreign install doesn't take in charge all the specificities of the Raspberry Pi. A better way is to clone the git and compile it. I will make an article about it since the disable and enable flags on the configure are subject to a study but for starters you can go there.
- Debootstrapping meets bugs in Raspbian buster so you might see mikerr's qemu fork if you need debootstrapping
- Since debootstrapping is not an option, you will have to swap wine versions especially if you play Diablo 2 and x86 games. A full guide to swap wine versions is available on ptitSeb's git: https://github.com/ptitSeb/box86/blob/master/docs/X86WINE.md
- If you need android, you can install anbox. See guide there: https://snapcraft.io/install/anbox/raspbian
Use:sudo snap install anbox --edge --devmode
instead ofsudo snap install anbox --beta
Anbox is not simply Plug-and-Play. It is a time-consuming experience and you should go to https://anbox.io/ in order to get more information about it, load kernels and run emulated apps. This is out of scope of the current guide.
Also note that most Android apps will have an alternative under Linux/Raspbian. For example, you can mirror your screen to uv4l. It is slightly more difficult to set up than Android Screen Mirroring but its more performant and it doesn't need Android to run.
- If you absolutely need debootstrapping (for example if emulating a x86_64 machine), use Mikerr's QEMU stretch Raspbian install from PINN.
- Kodi and Retroarch install the same way
- A detailed guide to install a single OS with multiple purpose and multiboot is availlable here.
5. If using multiple partitions, store your data on a common storage instead of in /home/pi/
6. RetroPie is a false friend
7. Avoid Android as an OS if possible
8. Keep a map of your storage
9. Useful tools
du is also provided on every Linux installation. Simply type "du" on your Raspberry Pi in console mode to get a similar result. |
sudo fdisk -l gives a summary of your storage devices. Here is a Fedora x86 setting. |
Saturday, April 17, 2021
DOSBox-X, the missing link on Raspberry Pi
Friday, April 9, 2021
Installing ARM Debian packages on Raspberry Pi OS
Friday, April 2, 2021
Setting up Neogeo emulator [Retropie as an OS]
Saturday, March 27, 2021
Test: Atolla powered usb hub U06_SML
At some point you might meet voltage issues on your Raspberry Pi.
Voltage issues if severe can cause disasters but most of time will only freeze your Pi every now and then.
This may be an issue for performance and stability and you might sometimes end frustrated while playing games.
There are two ways to power your Raspberry Pi with stability:
- Official Raspberry Pi power supply
- Powered USB hub
I didn't choose the former when I first bought my Pi because it lacked an on/off switch. It meant that every time I wanted to reboot my Raspberry Pi I would have to plug off and on which is not a very healthy way to manage one's electronic devices.
However, plugging your Raspberry Pi on a simple smartphone charger with a on/off switch USB wire will always cause voltage issue no matter if you choose a high amperage or not.
The Raspberry Pi in itself doesn't need much amperage. You will most of the time be fine with 1A. Still the Raspberry Pi needs a stable voltage and switches, cable length and cable material (which is often poor in case of pure USB cables) will make it drop and become unstable.
Another advantage of having a powered USB hub is that the USB hub manages the power of your external devices therefore relieves the power needs on your Raspberry Pi.
The U06_SML Atolla USB hub
Atolla USB hub U06_SML with AC/DC adapter |
- 15 cm / 6 in plain USB cable (no switch) between hub and Raspberry Pi
- Performance governor
- PS2 emulator running FFX CD
- The hub shows its limit when using the on/off switch port and doing heavy compilation. When doing heavy compilation it's recommended to plug your Raspberry Pi on the fast charge port and maybe remove the external hard drive.
- This is the only case when you have to look for your voltage. All the heavy games run fine.
- If you want to use the fast charging port on your Raspberry Pi, you will need a on/off switch USB cable which will be poor quality and will be likely to make you lose the advantage of voltage stability.
- The USB plugs are so tight that I broke 2 plastic cases in a row from my USB devices. If you plan never to remove your devices this isn't a problem but if you use an USB key to transfer files from your Raspberry Pi to your computer it can be a real annoyance.
One of the victims of Atolla USB hub's tight plugs |
Conclusion
Thursday, March 18, 2021
Case study: Diablo II on Raspberry Pi with mod and network support
Wednesday, March 10, 2021
Case study: PS2 emulator on Raspberry Pi [Play-]
Play ET: Legacy on Raspberry Pi [FPS]
🕐🕐 Duration: A few hours 🔧 Difficulty: Easy 🌟🌟🌟🌟 Interest: Hours of fun
-
🕐🕐🕐 Duration: Up to one day (kernel compiling) 🔧🔧 Difficulty: Medium 🌟🌟🌟🌟 Interest: Hours of fun
-
🕐🕐 Duration: 2 to 3 hours (nw.js;Tapir;EasyRPG) 🕐🕐🕐 Duration: Up to one day (Wine-based RPGXP, RPGVX and RPGVX Ace) 🔧🔧🔧 Difficulty: ...
-
🕐🕐🕐 Duration: Up to one day (kernel compiling) 🔧🔧🔧🔧 Difficulty: Difficult 🌟🌟🌟🌟 Interest: Hours of fun