Box86 and Wine on RPi4
-
Just posting here for some accountability so I actually do this:
I intend to try to use this to run a game I'm making in RPG Maker VX Ace on RetroPie. This is the only thing close to a solution I've been able to find... from what I can tell from reading most of this entire thread, I think it should work. I'll let you know what I find out.I do IT/DevOps professionally and so am pretty familiar with Linux/Command Line and hardware, but I'm actually not super familiar with how RetroPie and Wine, specifically, work, so I may pop in with questions.
-
Has the audio issue been sorted or any known fix? My audio isn't working on the pi outside of splash videos regardless of whether wine is opened.
cat /proc/asound/cards
only shows headphones. -
@hooperre how did you install DirectX9? I wonder if that's what I'm missing for Vanguard Princess and Freedom Planet...
-
@dodonpachi https://www.microsoft.com/en-us/download/details.aspx?id=8109
Then installed inside wine. I tried doing it through Winetricks but it failed. Also using winetricks to install the
core fonts
(From memory) helped compatibility. -
@hooperre .... That link just takes me to a page to shop for Surface laptops. Did you copy the wrong one?
And when you say installed through Wine, what do you mean? You ran the .exe through a .conf or something like you would a game?
-
@dodonpachi Sorry, updated the link. Correct. IIRC you install and then run another installation after the first one from the .exe files within wine. I would try running winetricks > install dll > directx first but it didn’t work for me. Wine’s website says it doesn’t support directx but it worked for me. You can also install directx if it comes with the install cd for the game.
Adding
snd_bcm2835.enable_hdmi=1 snd_bcm2835.enable_headphones=1 snd_bcm2835.enable_compat_alsa=1
to/boot/cmdline.txt
does solve the audio issue I encountered as alluded to in a previous post where hdmi was missing.Removing
pulseaudio
solved a separate audio issue. -
So I've now gotten Vanguard Princess to run through Wine Explorer (and it runs very well), but I still cannot get it to run from a .conf or .sh file on the Emulationstation menu.
Ugh, I'm so close. I must be missing something.
EDIT: I've gotten the demo for Freedom Planet (from the official site) to run through Wine Explorer. Performance isn't stellar, but it worked with my arcade stick right out of the box! Still can't get it to load through .conf or .sh though...
-
@dodonpachi Thats about as far as I’ve gone. I can’t believe what’s running on this thing lol. The .sh and .conf files have eluded me so far. Glad directx worked!
-
So as promised I went to try and get this set up, but I didn't even get far enough to try and launch the game.
I set it up using the emulator branch, updated to, I think 4.7.19, and installed the packages via the scripts in order as described in the ReadMe
EmulationStation launches, but when I try to select the new emulator to simply view the list (which would contain my one .conf file and the default Wine scripts that live in there) it crashes emulationstation.
Says something about making sure the CPU/GPU split is set right... I never changed it from default, but I think that's just a generic error message so I wanted to check if anyone else has seen this before I go messing with it. Doesn't do this when I select any other of the default emulators.
-
Update, plugged this in in my office and... the crashing didn't happen.
Then it occurred to me that the default resolution is 'monitor preferred resolution'... and my Pi was connected to a 75-inch 4k Samsung TV. That is probably why it got angry.
So, I can confirm that RPG Maker VX games run using this solution!
Don't have audio yet but I think that's me misconfiguring something. I'll update when I know if thats an issue or not.
EDIT: Doesn't launch every time... crashes sometimes. Logs show:
Box86 with Dynarec v0.2.3 8b887c7 built on Sep 23 2021 04:37:01 0058:err:ole:start_rpcss Failed to start RpcSs service 0060:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 4d004 (device=4 access=3 func=401 method=0) /home/pi/RetroPie/roms/wine/Wine Desktop.sh: line 86: 1165 Segmentation fault setarch linux32 -L /opt/retropie/emulators/wine/bin/wine "${PROGRAM}" $OPTIONS xinit: connection to X server lost waiting for X server to shut down wm_set_cursor_visibility: visible using XCreateFontCursor (II) Server terminated successfully (0). Closing log file. code_text
EDIT 2:
This seems to have been all about resolution.
DMT mode 16 allows RPG Maker VX Ace games (well, mine anyway) to launch reliably in Wine via Config file, and be played with a standard gamepad. -
This post is deleted! -
@dodonpachi can you post the output of
/dev/shm/runcommand.log
? Maybe there is something in the output that could give us a hint.Also, I wonder whether or not the game requires desktop mode. I don't think I've seen that actually happen, but maybe it's not good at setting its own resolution and is trying to depend on the resolution from the desktop.
- George
-
@george I've got it running now, but have run into issues where performance is reeeeally bad even though CPU is at 50% and memory still has ~2GB free. I'm suspecting something to do with GPU.
I don't know if you've tried doing this on a display that is requesting a huge 4K image, but I suspect it was just too big of an ask for the hardware or EmulationStation. Is the Wine logo you use a vector image? Because it was so enormous that it just looked like my screen had a red gradient, and it looked like the WINE emulator had a blank image (and would crash if you selected it).
-
@evilcreamsicle in general, when running games via Box86 and Wine on the Pi 4, I reduce the resolution quite a bit. For me that's ok because I'm playing early games that weren't designed for more than 1024x768 with a screen that doesn't have much higher resolution screen either. (I enjoy making handheld games or playing on my arcade cabinet that has a CRT).
But it also sounds like you're experiencing an issue with an EmulationStation theme. Is that correct? A picture of what you're experiencing could help. Are you using my modified Pixel theme? If so, I'll have to take a look at it. I believe that my images are just plain PNGs, but I know from past experience that PNGs can be compressed in a variety of ways for space and performance. I didn't look at the original PNGs in the theme for that, so it's possible that something happened when I exported the images as PNG. Let me know.
Thanks!
- George
-
@george when I manually set the resolution lower, it isn't an issue. I was only offering that as evidence that 4K could have been part of the problem. I'm not concerned about the theme weirdness right now though. I was using the default RetroPie theme.
The game I'm running is made in RPG Maker VX Ace, which was released in 2012 and really doesn't need a high resolution either. It's pixel art graphics, doesn't look like anything that wouldn't run on a super nintendo, so I'm struggling to figure out why some scenes seem to be so graphically demanding.
Not sure if this is a box/wine thing or if it is an RPG Maker thing.
-
mth75
Hi there can you try the games Gorky17 and dune2000 ???
And is it possible to make scripts available for download for some games like age of empires 2
Blitzkriek,sudden strike etc.
I dont mean the scripts to download the games i mean to install, configure any nesessary things the games needs including the sh script in ports
So all have left to do for a user is to put the game folder in a specific location.I'm asking coz i dont have a clue how to run this games once wine,mesa,box86 are installed
If you cannot do the scripts at least to tell me how to run for example age of empires 2 or sudden strike?? Or to put a small guide/example how to run gamesAnd finally age of empires and other window games needs directx how do i install this with wine? Or its not necessary?
Thanks in advance -
Thanks @evilcreamsicle,
You may want to file an issue with the RetroPie team regarding 4k support, especially with EmulationStation. Then again, it might be an issue with kernel level support for 4k.
Looks like the default carbon theme does use SVGs and it doesn't have any images for Wine or Box86. I don't know what the behavior of the theme is when that happens.
Performance with regards to screen resolution seems to be a combination of many things. Beyond the limitations of the Pi 4 itself, the Mesa driver version, whether or not the emulator takes advantage of the GPU or is CPU bound, or in the case of Box86 if the program takes advantage of the GPU. I've had to experiment a lot with some games in order to get good performance. I don't know off-hand if there's a way to determine if a game is taking advantage of the GPU or is using the CPU to generate graphics.
I appreciate all the work you're doing to get it working and posting about your findings. Thanks again,
- George
-
@ecto said in Box86 and Wine on RPi4:
I've also hit a wall with my latest game installs...
- Resident Evil 1-3 and Dino Crisis: There are REbirth patches for those games which allow for higher resolutions and much more, but so far I've not seen any in-game graphics :(
- Ultima 9 I thought taht such an old game would put up no fight, but I was wrong... :( I can't get any glide wrapper to work, and D3D mode is glitched (text overlays). :(
- The Sims 1 or 2 was already hard to get running on my PC without a CD, but on my Retropie they simply refuded to work. :(
Diablo 2 with QoL patches are working phantastically on my PC, but I get a lot of rendering errors on Retropie. Vanilla D2 with widescreen patch was working well before (ddraw mode), so I would think this has to work, too. But I can't get either of the 3 (!)modes suggested in the QoL patch to work. Has cost me many hours so far ^_^;- Sid Meyers Alpha Centauri: Game starts, I can hear sound but there is ony a black screen. ;_; None of the suggested fixes have worked so far...
So all in all I'm very frustrated right now. Lots of Time, and no further running games...
EDIT
- Diablo 2 with QoL patches works. I had to start over, probably some setting was wrong. After that it (almost) worked out of the box. Almost, because I had to change the renderer from its default (DX11, which works great on real Windows 10) to DirectDraw. I also tried glide, which looks cooler (as it has some quasi 3D rendering and working cinematics) but is much slower and has a lot of rendering errors (everyhing is in rainbow-colors until I change the resolution). I wish I could get Gl4ES to work as it seems to work for others without those rendering errors.
Please note:
That guy managed to launch The sims 1 on his ARM-based device in Wine using a special .EXE he mentioned about in his video.
Take a look at it.
-
Has anyone had increased success getting things to run from an xserver from the menu? I've had varying success depending on the game (Papers, Please and AM2R 1.1 run from EmulationStation soundly).
Edit: I'd also be interested in reading more about xservers and launching them from the command line.
-
@george I'm not sure on what version of RetroPie you're on or which hardware you're using, but I've experienced no such thing on the RPi4. TiMidity never hangs and my Pi hasn't been restarted for over three months. TiMidity is pre-installed on RetroPie v4.7.1 but isn't configured as a service/daemon. You can execute "sudo apt-get -y install timidity-daemon" to accomplish that. By default it's configured to be started/stopped through script whenever you start an application (like DOSBox) that needs it. I've opted for installing the daemon instead and removed the start/stop commands from the scripts, but that's a personal choice.
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.