Announcement

Collapse
No announcement yet.

Box64 0.2.8 Released With Support For 16K Page Size - Allowing Games On Apple Silicon

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Box64 0.2.8 Released With Support For 16K Page Size - Allowing Games On Apple Silicon

    Phoronix: Box64 0.2.8 Released With Support For 16K Page Size - Allowing Games On Apple Silicon

    Box64 is out as the newest version of this Linux user-space x86_64 emulator for running on ARM64 Linux devices. There is also an updated version of Box86 too for that x86 32-bit version on ARM...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    This sounds like it requires some hackery of the highest order.

    Comment


    • #3
      Time for Steam w/box64 then running some OpenGL PTS Steam game tests? -_0

      Comment


      • #4
        What game requires or even cares about page size? Or is it two unrelated features?

        Comment


        • #5
          Would this also enable running it on Raspberry Pi 5 with the default kernel (16k page size)? If yes, would that apply to box86 as well? Guess I can check

          Comment


          • #6
            Originally posted by Developer12 View Post
            This sounds like it requires some hackery of the highest order.
            This gave me a laugh after boggling at the ambitions of this project. x86 OpenGL games through Wine on LoongArch eh? Hats off to them!

            Comment


            • #7
              Originally posted by ddriver View Post
              What game requires or even cares about page size? Or is it two unrelated features?
              x86 is locked to 4K page granularity. lots and lots of software tries to make allocations of 4096 bytes without actually checking what the hardware supports.

              try to memory map or allocate 4096 bytes on a 16K ARM system and it will fail. the system can't work in less than 16K chunks.

              the apple M chips can technically work in 4K mode, but it has to be changed at boot time and the IOMMU won't work. the asahi folks looked into hacking up the kernel's IOMMU code so that the M1 could use the 16K IOMMU while running in 4K mode, but they seem to have abandoned that work in favor of just forcing software to adapt.

              Comment


              • #8
                the asahi folks looked into hacking up the kernel's IOMMU code so that the M1 could use the 16K IOMMU while running in 4K mode, but they seem to have abandoned that work in favor of just forcing software to adapt.
                The new plan seems to be running games in a micro-VM which passes the gpu commands to the host in order to minimize overhead.

                Seems pretty complex to setup at the moment, but I'm sure eventually they'll get it simplified: https://www.youtube.com/watch?v=JT9a...kgbGluYQ%3D%3D

                Comment


                • #9
                  Originally posted by smitty3268 View Post

                  The new plan seems to be running games in a micro-VM which passes the gpu commands to the host in order to minimize overhead.

                  Seems pretty complex to setup at the moment, but I'm sure eventually they'll get it simplified: https://www.youtube.com/watch?v=JT9a...kgbGluYQ%3D%3D
                  You have to run the games in a VM no matter what. They're x86. It doesn't matter if the underlying page size is 4K or not.

                  Chromium on the other hand, didn't run on the M1 (or any arm system with non 4K pages, for that matter). Only a year or two ago did asahi finally force google's hand and get them to root out all their 4096 byte assumptions. Now it runs natively.

                  Had they simply adapted the 16K IOMMU and run the M1 in 4K mode like other arm systems, chromium wouldn't have been forced to adapt. BUT, they'd also be leaving a lot of performance on the table.
                  Last edited by Developer12; 28 May 2024, 12:24 AM.

                  Comment


                  • #10
                    Originally posted by Developer12 View Post

                    You have to run the games in a VM no matter what. They're x86. It doesn't matter if the underlying page size is 4K or not.
                    Doesn't FEX do binary translation, to run it as ARM code? Similar to Rosetta. They're doing that, plus being inside a VM to handle the 4K issue (i think).
                    Last edited by smitty3268; 28 May 2024, 03:00 AM.

                    Comment

                    Working...
                    X