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 240.0k 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.
    • M
      mth75 @George
      last edited by

      @george said in Box86 and Wine on RPi4:

      I did see Mesa got updated to 20.3.4, but haven't updated my script modules yet.

      I'm curious if you'll notice any difference. My RPi4 as you know is build in the C= Plus4 case, with a Pimoroni Fanshim which kicks in at 68C. For example, the AGS adventure game Chronicles of Innsmouth always throttled the SOC (T above 80), the difference I now notice is almost 8 degrees C. This means that some component has become a lot more efficient.

      1 Reply Last reply Reply Quote 0
      • G
        George @mth75
        last edited by

        @mth75 said in Box86 and Wine on RPi4:

        Yes, still the same behaviour but less frequently. I suspect Box86.

        It could be Box86, but there are so many things going on and are in early development, like the Mesa Broadcom driver.

        Early on in my testing, I saw a problem with one of the games I was testing. Through a ton of debugging, I believe I narrowed down the issue to an ARB vertex program test that Wine passing on to Mesa. I filed a bug with Mesa:

        https://gitlab.freedesktop.org/mesa/mesa/-/issues/4018

        I may have been able to workaround the issue using the following Mesa override in the command line:

        MESA_EXTENSION_OVERRIDE="-GL_ARB_vertex_program" 
        

        Perhaps give that a shot and let me know if you see any improvement in reliability. You may of course see a change in performance, either good or bad. Let us know.

        - George

        M 1 Reply Last reply Reply Quote 0
        • M
          mth75 @George
          last edited by

          @george Hi George, I didn't notice any difference.

          1 Reply Last reply Reply Quote 0
          • G
            George
            last edited by

            Another thing possibly worth trying is adding the GL logging flag to the command line:

            LIBGL_DEBUG=verbose
            

            See: https://docs.mesa3d.org/envvars.html

            Along with removing the WINEDEBUG and adding BOX86_LOG, that should provide a good amount of logging to help determine where things are crashing. Ala:

            LIBGL_DEBUG=verbose BOX86_LOG=1 LD_LIBRARY_PATH="/opt/retropie/supplementary/mesa/lib/" setarch linux32 -L ...
            

            I've seen several conversations on Box86's Discord where it is suggested to disable DynaRec. Perhaps give that a shot as well.

            - George

            1 Reply Last reply Reply Quote 0
            • G
              George
              last edited by

              I've started to test out FluidSynth as a replacement for Timidity. I've come to the conclusion that while running Timidity as a daemon is good for convenience, that convenience is nullified if all sound stops working after a day.

              I've run several tests with Timidity. Whenever Timidity is used to play MIDI sound, after a day or so of inactivity, all sound will stop functioning properly. Restarting the Timidity daemon rectifies the situation without requiring a reboot. But that is a hassle.

              Timidity also seems to be fairly old and not actively developed, whereby FluidSynth is actively developed (though the version with Raspberry Pi OS may be a bit out of date).

              The downside with FluidSynth is that it does not look like it will run in daemon mode out of the box. The options are as follows:

              • Create additional scripts that will run FluidSynth as a daemon. This would require much more testing to make sure it doesn't cause the same problems as Timidity.
              • Add extra lines to ports scripts that will launch FluidSynth when starting a game. Though I suppose this could actually have been done with Timidity as well.

              FluidSynth does have some options that should improve performance on Raspberry Pi, like changing bitrate and polyphony. I did some research on Timidity has some options as well, including the option to turn off Reverb. Reverb might actually be what is causing the hangup on the sound. Perhaps Timidity just continues sending reverbed audio and convolving the signal ad infinitum, that might cause some issues.

              I will say that Timidity sounds louder, so it may take time to get used to FluidSynth.

              Anyway, lots of work to be done.

              - George

              B 1 Reply Last reply Reply Quote 2
              • Z
                zennit
                last edited by

                Has anyone set this up with twisteros? Essentially my understanding is it has all the box86 wine etc in place so I’ve just created a simple script in the ports folder “wine game.exe” but I’m getting errors that seem the relate to x server and looking at @George scripts he’s got some dependencies and references in the ports script to handle that. I believe twister uses xfce, so my question is what additional dependencies do I need and what do I need to add to my ports script to resolve the x server issues? Really great work here thanks for creating this thread!

                1 Reply Last reply Reply Quote 0
                • T
                  TedMaul
                  last edited by

                  Would anyone perhaps be willing to post (brief) steps on how to get this working? I've tried compiling / installing scripts from git before and have a roughly 15% success rate, probably due to my own ineptitude. Any pointers would be gratefully received! Thanks in advance.

                  M F 2 Replies Last reply Reply Quote 0
                  • M
                    mth75 @TedMaul
                    last edited by mth75

                    @tedmaul said in Box86 and Wine on RPi4:

                    Would anyone perhaps be willing to post (brief) steps on how to get this working? I've tried compiling / installing scripts from git before and have a roughly 15% success rate, probably due to my own ineptitude. Any pointers would be gratefully received! Thanks in advance.

                    Scroll back in this topic ... it's all explained.

                    https://retropie.org.uk/forum/post/247936

                    1 Reply Last reply Reply Quote 0
                    • F
                      Folly @TedMaul
                      last edited by Folly

                      @tedmaul said in Box86 and Wine on RPi4:

                      Would anyone perhaps be willing to post (brief) steps on how to get this working? I've tried compiling / installing scripts from git before and have a roughly 15% success rate, probably due to my own ineptitude. Any pointers would be gratefully received! Thanks in advance.

                      You should be able to use the wget commands in this post :
                      https://retropie.org.uk/forum/topic/28528/box86-and-wine-on-rpi4/109
                      And then install in the RetroPie-setup the same order.

                      If they don't work it's because of the RetroPie version.
                      This is what we did to get around the checks and install it anyway :
                      https://retropie.org.uk/forum/topic/28528/box86-and-wine-on-rpi4/129
                      @George Is still busy with fixing this, I think.

                      If above is working, then you can also install these games ( I just fixed these for RetroPie version 4.7.7) :

                      wget -nv -O /home/pi/RetroPie-Setup/scriptmodules/ports/box86winegooniesremake.sh https://raw.githubusercontent.com/FollyMaddy/RetroPie-Share/main/00-scriptmodules-00/ports/box86winegooniesremake.sh
                      wget -nv -O /home/pi/RetroPie-Setup/scriptmodules/ports/box86winemogremake.sh https://raw.githubusercontent.com/FollyMaddy/RetroPie-Share/main/00-scriptmodules-00/ports/box86winemogremake.sh
                      wget -nv -O /home/pi/RetroPie-Setup/scriptmodules/ports/box86wineroadfighterremake.sh https://raw.githubusercontent.com/FollyMaddy/RetroPie-Share/main/00-scriptmodules-00/ports/box86wineroadfighterremake.sh
                      
                      
                      shavecatS T 2 Replies Last reply Reply Quote 0
                      • shavecatS
                        shavecat @Folly
                        last edited by

                        So i tried unistall and install box86andwine
                        And run again Heroes Of Might And Magic 3
                        but still crushes in diffrenet areas ...
                        someones had luck with that ?

                        F 1 Reply Last reply Reply Quote 0
                        • F
                          Folly @shavecat
                          last edited by

                          @shavecat said in Box86 and Wine on RPi4:

                          So i tried unistall and install box86andwine
                          And run again Heroes Of Might And Magic 3
                          but still crushes in diffrenet areas ...
                          someones had luck with that ?

                          To find out what is wrong you have to check your logs in :
                          /home/pi/RetroPie-Setup/logs
                          Unzip your latest logs and read the logs with a texteditor.

                          shavecatS 1 Reply Last reply Reply Quote 0
                          • shavecatS
                            shavecat @Folly
                            last edited by

                            @folly
                            It just geting forzen ...
                            but i will check it thanks :)

                            F 1 Reply Last reply Reply Quote 0
                            • T
                              TedMaul @Folly
                              last edited by

                              @folly @mth75 thanks both, I'll give it a go!

                              1 Reply Last reply Reply Quote 0
                              • F
                                Folly @shavecat
                                last edited by

                                @shavecat said in Box86 and Wine on RPi4:

                                @folly
                                It just geting forzen ...
                                but i will check it thanks :)

                                Do you have a good internet connection and is your pi cool enough ?

                                shavecatS 1 Reply Last reply Reply Quote 0
                                • shavecatS
                                  shavecat @Folly
                                  last edited by

                                  @folly
                                  Yes
                                  The Temp' are fine...
                                  and its just this game getting frozen , but i can still putty the pi .

                                  F 1 Reply Last reply Reply Quote 0
                                  • F
                                    Folly @shavecat
                                    last edited by Folly

                                    @shavecat said in Box86 and Wine on RPi4:

                                    @folly
                                    Yes
                                    The Temp' are fine...
                                    and its just this game getting frozen , but i can still putty the pi .

                                    So your box86wine install seems ok, but your game doesn't work.
                                    It could be due to the updated versions of box86 and wine.
                                    I think you will have to wait untill it is all updated to newer versions and try again.

                                    shavecatS 1 Reply Last reply Reply Quote 1
                                    • shavecatS
                                      shavecat @Folly
                                      last edited by

                                      @folly
                                      Yes like commandos 1/2 runs pretty good ;)
                                      Thanks <3

                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        mth75 @shavecat
                                        last edited by

                                        @shavecat said in Box86 and Wine on RPi4:

                                        Yes like commandos 1/2 runs pretty good ;)
                                        Thanks <3

                                        and with wine 6.1/6.2-devel and Mesa 20.3.4 they would run even better:-). A lot of games will not work (or without problems) ... but i'm fairly sure this is a matter of time. Determining which ones work is the nice thing!

                                        1 Reply Last reply Reply Quote 1
                                        • mituM
                                          mitu Global Moderator
                                          last edited by mitu

                                          Wine maintains an application compatibility database at https://appdb.winehq.org/, might be worth looking there first to see if a game/application has been reported as working. I think Box86 has a similar list.

                                          1 Reply Last reply Reply Quote 0
                                          • G
                                            George
                                            last edited by

                                            Hi all,

                                            I've updated my pull request to include the changes required for RetroPie 4.7.7.

                                            I have not switched Timidity to FluidSynth yet. I'm still experimenting with that. Some notes:

                                            • Timidity seems to sound a bit better than FluidSynth on the games I've tried.
                                            • DOSbox and a couple of other things seem to use Timidity vs. FluidSynth, but they don't use Timidity in daemon mode.
                                            • I tried some optimization flags with Timidity. I didn't see much of a change in performance, thought I'd really have to check to see if any buffer underruns were occurring.
                                            • Even with the optimization flags for Timidity, the daemon still messed up the audio after about 24 hours. To test this, just play a game like Space Cadet 3D Pinball, with music enabled. Then exit the game and leave your Raspberry Pi on. A day or so later, come back and try Space Cadet again. Sometimes no sound will come out, other times choppy sound effects will play, but the MIDI music will not play at all.
                                            • So running Timidity in Daemon mode is going to go out for sure. But that will mean that launch scripts will have to start / stop a MIDI synth themselves. This requires a bit more investigation.

                                            In other news, I created a new repo that can be used with RetroPie's new external repo capabilities. That way, you can get the latest scripts without worry of messing with your RetroPie directory. It's located at: https://github.com/GeorgeMcMullen/rp-box86wine and in order to use it, just to the following:

                                            git clone https://github.com/GeorgeMcMullen/rp-box86wine.git /home/pi/RetroPie-Setup/ext/rp-box86wine/
                                            

                                            Additional instructions are in the repo. I'll be keeping this repo in sync with the pull request. The main branch just uses the most recent stable releases, as the three different packages are all under very active development. The versions are currently as follows:

                                            • Mesa: 20.3.4
                                            • Box86: 0.2.0
                                            • Wine: 6.0

                                            I may create a separate branch that uses the absolute latest from each. Not sure yet though.

                                            Hope this helps some folks.

                                            - George

                                            1 Reply Last reply Reply Quote 5
                                            • 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.