• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
RetroPie forum home
  • Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login

Box86 and Wine on RPi4

Scheduled Pinned Locked Moved Ideas and Development
box86wineqemux86windows
475 Posts 40 Posters 236.2k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D
    dodonpachi
    last edited by 7 Dec 2020, 18:33

    So theoretically, would this open up the possibility of playing the Taito Type X (Windows based) arcade games? The Taito Type X and X2 hardware specs seem comparable to Pi 4.

    E 1 Reply Last reply 7 Dec 2020, 19:33 Reply Quote 0
    • E
      ExarKunIv @dodonpachi
      last edited by 7 Dec 2020, 19:33

      @dodonpachi theoretically yes. i have not messed with it yet but what i have seen on youtube. the performance is really good

      RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
      RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
      Maintainer of RetroPie-Extra .

      D 1 Reply Last reply 7 Dec 2020, 20:06 Reply Quote 0
      • D
        dodonpachi @ExarKunIv
        last edited by dodonpachi 1 Jun 2021, 14:21 7 Dec 2020, 20:06

        @exarkuniv That's nuts. The prospect of playing the arcade version of Blazblue off a Pi 4 sounds insanely awesome. Definitely keeping an eye on this project.

        1 Reply Last reply Reply Quote 0
        • G
          George
          last edited by 9 Dec 2020, 19:13

          A quick update. One of the drawbacks to this is that there are multiple projects that are in constant development. MESA has been updated to 20.3, Box86 has been updated to v0.16, and Wine is getting ready to release v6.0. So I'm testing out variations of configuration to make sure the latest works. The more recent versions of Wine seem to have a compatibility issue with some software, which I'm trying to track down. The last version of Wine I was able to use fully is 5.16 (v5.17-5.22 have the same issue). If I'm able to track down the issue, I'll submit a pull request. There will likely be several iterations of the scripts after that.

          @dodonpachi I've never tried "Taito Type X" but I'll see if I can check it out. From what I've found, it seems to be from 2004 and I've played games similar to that time frame and they work pretty well. I'll let you know what I find out.

          I should note that there are others out there who have gotten Box86 and Wine to work on Raspberry Pi OS. You can check out Novaspirit Tech and Twister OS if you're interested in experimentation.

          - George

          E D 2 Replies Last reply 9 Dec 2020, 19:57 Reply Quote 3
          • E
            ExarKunIv @George
            last edited by 9 Dec 2020, 19:57

            @george thanks for the update.

            RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
            RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
            Maintainer of RetroPie-Extra .

            1 Reply Last reply Reply Quote 1
            • D
              dodonpachi @George
              last edited by dodonpachi 12 Nov 2020, 22:52 9 Dec 2020, 20:43

              @george Yes, they're essentially Windows games that were played on arcade cabinets. They're a little finicky and can't be run directly without some modification; a program like TypeXtra is helpful to add the additional files needed to get it running.

              EDIT: If you're willing to test games though, could you try the freeware version of Vanguard Princess?

              1 Reply Last reply Reply Quote 0
              • R
                realgreg
                last edited by 19 Dec 2020, 07:31

                Wow I just discovered this thread, and I'm so excited about this ! I own some Windows game that I really want to play on my pi4-based arcade cabinet. Like Super Meat Boy, Peggle, TrialsHD, Worms World Party, Feeding Frenzy, Mashed.
                Can't wait to see this happen. I'm not good enough to help releasing it, but I could do some testing stuff.

                1 Reply Last reply Reply Quote 0
                • M
                  mth75 @George
                  last edited by 26 Dec 2020, 03:34

                  @george Do you have a GitHub page? I'm wrestling myself with Box86/Wine ... this would be a great addition ... Any other way to test your work?

                  1 Reply Last reply Reply Quote 0
                  • G
                    George
                    last edited by 6 Jan 2021, 09:56

                    Just a quick update. I'm testing the latest Wine (v6.0~rc5) and Mesa drivers (v20.3.2) and doing a bit of clean up on my install scripts. I'll be doing a pull request soon to the main RetroPie-Setup repository and will post a note here when that happens.

                    - George

                    M 1 Reply Last reply 7 Jan 2021, 20:54 Reply Quote 2
                    • M
                      mth75 @George
                      last edited by 7 Jan 2021, 20:54

                      @george said in Box86 and Wine on RPi4:

                      Just a quick update. I'm testing the latest Wine (v6.0~rc5) and Mesa drivers (v20.3.2) and doing a bit of clean up on my install scripts. I'll be doing a pull request soon to the main RetroPie-Setup repository and will post a note here when that happens.

                      - George

                      I can’t wait ... I’m very curious about the scripts and the chosen solutions.

                      1 Reply Last reply Reply Quote 0
                      • G
                        George
                        last edited by 8 Jan 2021, 04:33

                        I've submitted a pull request. See here:

                        https://github.com/RetroPie/RetroPie-Setup/pull/3285

                        Specifically, you'll want to look at the files committed in:

                        https://github.com/RetroPie/RetroPie-Setup/pull/3285/commits/b416756db97a88955eebbba40dca2dcca2ba0e06

                        The best way to know something is going to work in Wine is to try it out on an x86 Linux box with Wine. Wine also has an App DB for users interested in learning how to play a particular game with Wine.

                        https://appdb.winehq.org/

                        For Box86, there's a compatibility list that might help as well.

                        https://github.com/ptitSeb/box86-compatibility-list/issues

                        Enjoy!

                        - George

                        M 1 Reply Last reply 8 Jan 2021, 14:18 Reply Quote 2
                        • M
                          mth75 @George
                          last edited by 8 Jan 2021, 14:18

                          @george Great work mate. I wil start testing tonight. In the meantime I made some wine prefixes on a Raspbian OS installation (Comandos 1, Age of Empires 2, Settlers 3 etc).

                          Question, why wouldn't you chose to install Box86/Wine as a separate system, much like for example DosBox/PC.

                          Second question, does your script support wine_prefixes (bottles so to speak?). When I look in the scripts I believe it does?

                          I do hope you keep developing! Thx

                          1 Reply Last reply Reply Quote 0
                          • F
                            Folly
                            last edited by Folly 1 Aug 2021, 19:08 8 Jan 2021, 18:58

                            @George

                            Quite amazing.
                            You nailed it, Nice job !

                            I tested your scripts and pinball is working.
                            I had a few problems installing it all, but I think it's not because of your scripts.
                            I had these problems :

                            • the source of mesa wasn't downloaded at first. (perhaps a bad internet connection, I don't know) ( I updated and upgraded my system manually, then the second time it worked but it took quite some time)
                            • Box86 installed very fast !
                            • Wine installed, but got stuck in configuring for an hour. So I terminated it, and then installed pinball. ( perhaps I had too little space on my sd card) (For others, make sure you have at least 3GB of free space available)
                            • Pinball installed very fast. It works very good, but the sound is not optimal yet.

                            2021-01-08-200234_640x480_scrot-resized.png2021-01-08-200238_640x480_scrot-resized.png

                            1 Reply Last reply Reply Quote 0
                            • G
                              George
                              last edited by 8 Jan 2021, 22:19

                              Awesome @Folly and @mth75, hope you enjoy it!

                              I forgot to mention that you need to make sure your system is using RetroPie 4.7.1 and is up to date before you attempt to run installation. Either from RetroPie Setup or the command line:

                              sudo apt update
                              sudo apt upgrade
                              

                              This is probably why it didn't run successfully the first time.

                              @Folly some responses:

                              • Mesa will take a decent amount of to compile, but should be done in under an hour. Maybe even 20 minutes.
                              • Box86 should compile pretty quickly. Amazing since it is so powerful and yet quite small.
                              • The configuration of Wine basically runs winecfg from the command line. I haven't seen it getting stuck for an hour, so if it does, I would just terminate it and run Wine Config from EmulationStation.
                              • I've noticed the audio issue with Pinball as well. I'm not sure how to fix it yet though. The music will not play due to a bug that has been filed with Wine (but may actually be a bug with Space Cadet). The fact that the sound effects are strange is either to do with Alsa or WaveMix in Windows. Not sure yet. Space Cadet is kind of notorious for having a sloppy code base though.
                              • Make sure you use Alt-F4 to quit Space Cadet. Hitting Escape will hang the app for some reason with a blank screen.

                              @mth75 to answer your questions:

                              • I chose to place Box86 and Wine as a Port instead of its own system mostly because Box86 can be used for Linux x86 games and I think it's up for discussion on how to deal with their installation. For Wine, it's not an emulator by definition, as DosBox is. Further, both Linux and Windows executables are not as neatly packaged as ROMs are for most other emulators.
                              • I should also note that I've just used the default Wine Prefix location (~/.wine/) and not a special location in the ROMs directory like other emulators.
                              • You should be able to use other Wine Prefixes with a command line option in your own scripts without a problem, though I haven't tested it out myself.

                              Let me know if you have any other questions! Thanks again!

                              - George

                              1 Reply Last reply Reply Quote 1
                              • G
                                George
                                last edited by 8 Jan 2021, 23:26

                                Looks like I was able to improve the sound output for Space Cadet 3D Pinball with some configuration changes. This was a good resource for information https://www.compuphase.com/wavemix.htm. I'll see how to add this to my script, but in the mean time, you can check out the configuration file: wavemix.inf which is in the Space Paranoids directory.

                                You may need to change the permissions on the file as for some reason it's being set as non-writable. You can do this with the following commands:

                                cd "/home/pi/.wine/drive_c/Program Files/SpaceCadet3DPinball"
                                chmod u+w wavemix.inf 
                                

                                Here's the configuration file I'm using. Let me know if you have any suggestions.

                                [general]
                                ; if ShowDevices exists and is non-zero then will display wave out devices and other stuff
                                ;
                                ; ShowDevices=0  : default
                                ; ShowDevices=1	 : show output from waveOutGetDevCaps
                                ShowDevices=0
                                
                                ; if WaveOutDevice exists it should be between zero and one less num devices
                                ; the default is WAVE_MAPPER
                                ;
                                ; WaveOutDevice=0 : use the first device (default)
                                ; WaveOutDevice=1 : use the second device
                                ; WaveOutDevice=-1: use WAVE_MAPPER (will use [Unknow Device] setttings)
                                ;
                                ;
                                WaveOutDevice=0
                                
                                ; Wavemix will detect if it is running on a 286 and not use any 386 instructions
                                ; you can force it to use the 286 only code on a 386 by setting cmixit=1
                                ; cmixit=0 (default) 
                                ; cmixit=1 uses only 286 code (even on a 386 or >)
                                
                                [default]
                                ; Remix=1 = ResetRemix()
                                ; Remix=2 = NoResetRemix()
                                ; default=1
                                Remix=2
                                
                                ; GoodWavePos=0 = uses timeGetTime() (default)
                                ; GoodWavePos=1 = uses waveOutGetPosition()
                                GoodWavePos=1
                                
                                ; WaveBlocks=#  (2<=#<=6) the number of ping pong buffers to use
                                ; default=3
                                WaveBlocks=6
                                
                                ; WaveBlockLen=#  min = 512 max = 4096
                                ;   if a number is not specified Wavemix.dll will try to determine a size
                                ;
                                WaveBlockLen=688
                                
                                ; SamplesPerSec=11 (11.025 Khz) (default)
                                ;              =22 (22.04  KHz)
                                ;              =44 (44.1   KHz)
                                SamplesPerSec=44
                                

                                The biggest change was changing [WinNT:default] to just [default]. For some strange reasons, it wasn't detecting the WinNT part.

                                Enjoy!

                                - George

                                1 Reply Last reply Reply Quote 0
                                • M
                                  mth75
                                  last edited by mth75 1 Sept 2021, 01:34 9 Jan 2021, 01:14

                                  @george Installing the scripts was without any problems. I installed on a freshly installed RetroPie image and updated it all ... to 4.7.2 (I didn't read your reply above).

                                  The only problem I encountered was that none of the Wine related apps or Space Cadet worked ... due to wrong ownership (in and on the .wine folder (root instead of pi)). Having fixed that manually ... it works!

                                  G 1 Reply Last reply 9 Jan 2021, 02:42 Reply Quote 0
                                  • G
                                    George
                                    last edited by 9 Jan 2021, 02:37

                                    Ok, I updated the Space Cadet script module with the improved audio configuration. It's automatically added to the pull request, but you can see it directly here:

                                    https://github.com/GeorgeMcMullen/RetroPie-Setup/blob/box86wine/scriptmodules/ports/spacecadet3dpinball.sh

                                    - George

                                    1 Reply Last reply Reply Quote 0
                                    • G
                                      George @mth75
                                      last edited by 9 Jan 2021, 02:42

                                      @mth75 said in Box86 and Wine on RPi4:

                                      The only problem I encountered was that none of the Wine related apps or Space Cadet worked ... due to wrong ownership (in and on the .wine folder (root instead of pi)).

                                      Hmm. That should have been fixed from within the scripts. There are lines in there that change ownership to pi:pi for all the files under .wine and Space Paranoids, respectively. Did you run the scripts through the RetroPie Setup interface or did you do it from the command line?

                                      The RetroPie Setup program keeps log files in /home/pi/RetroPie-Setup/logs. They are gzipped. Would you be able to post the results from the Wine and Space Paranoids installation? Perhaps that will give us some clues.

                                      Thanks!

                                      - George

                                      M 1 Reply Last reply 9 Jan 2021, 13:01 Reply Quote 0
                                      • M
                                        mth75 @George
                                        last edited by mth75 1 Sept 2021, 19:27 9 Jan 2021, 13:01

                                        @george I ran the scripts through the interface. Results
                                        below.

                                        log Box86

                                        log Wine

                                        log Space Cadet

                                        G 1 Reply Last reply 9 Jan 2021, 17:40 Reply Quote 0
                                        • M
                                          mth75
                                          last edited by 9 Jan 2021, 13:05

                                          This post is deleted!
                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post

                                          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.

                                            This community forum collects and processes your personal information.
                                            consent.not_received