RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    N64 from 16:9 to 4:3 instead

    Scheduled Pinned Locked Moved Help and Support
    n64 no dispmaxn64 emulatorn64 nintendo64
    29 Posts 2 Posters 3.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.
    • A
      Arrafart @mitu
      last edited by Arrafart

      @mitu

      Something like this?
      I opened your link, analyzed it, and figured that the opi02w is not in there at all.
      I asked chatgpt, sorry, to give me the same kind of info like the rpi4 but then for the orange pi zero 2w.

      How bad did it do? XD

      I want to try and add the correct info to the script if possible, I would be proud

      But...., it would not have solved my initial issue thought 🤔

      PS: I recognized the armv8 from the img, and the cortex-a53 from the opi zero forums

      function platform_orangepizero2w() {
      cpu_armv8 "cortex-a53"
      __platform_flags+=(orangepi gles gles3 gles32)
      }

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

        I asked chatgpt,...

        Yeah, I see a pattern here.

        I want to try and add the correct info to the script if possible, I would be proud

        One more platform added and a correct detection/categorization for the platform would be good.

        PS: I recognized the armv8 from the img, and the cortex-a53 from the opi zero forums

        __platform_flags+=(orangepi gles gles3 gles32)
        

        They're not entirely correct:

        • orangepi what's the use of this flag ?
        • gles32 is of no use, since it's not used anywhere (gles31 is used by the RetroArch build script) and it's also not correct. The Panfrost driver for your GPU (ARM Mali G31) doesn't implement GLES3.2, only OpenGLES 3.1 , see [1]
        • platform name should be named after the SOC model (something with h618 ?). What's the output of /proc/device-tree/compatible ?

        You're also missing the detection part, but see the previous question.
        [1] https://docs.mesa3d.org/drivers/panfrost.html

        A 1 Reply Last reply Reply Quote 0
        • A
          Arrafart @mitu
          last edited by Arrafart

          @mitu

          Scratched the back of my head when i opened the link to the Panfrost info, haha!
          It is not correct with many things, but it did help me to identify that i had to use cat (aka the very basics) :)

          dietpi@DietPi:~$ cat /proc/device-tree/compatible
          xunlong,orangepi-zero2wallwinner,sun50i-h618

          Would it be more like this?

          function platform_sun50i-h618() {
          cpu_armv8 "cortex-a53"
          __platform_flags+=(gles gles3 gles31)
          }

          Maybe unrelated: Would it help if I'd say the bootEnv.txt contains an overlay_prefix=sun50i-h616? (No idea what it does, I understood it is connected to the .dtb(o), and if I amend this to h618, the gpu acc stops working)

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

            @Arrafart said in N64 from 16:9 to 4:3 instead:

            Would it be more like this?

            Yes, I think it's better; sun50i-h618 sounds like a good name. You can try adding x11 also to the flags.

            Maybe unrelated: Would it help if I'd say the bootEnv.txt contains an overlay_prefix=sun50i-h616? (No idea what it does, I understood it is connected to the .dtb(o), and if I amend this to h618, the gpu acc stops working)

            That's just instructs the bootloader (U-Boot) to look for any .dtb files under the sun50i-h616 folder. Since the H616 is the previous SOC version in the H series, it might have inherited part of that version's device tree.

            dietpi@DietPi:~$ cat /proc/device-tree/compatible

            xunlong,orangepi-zero2wallwinner,sun50i-h618

            You can use either rangepi-zero2wallwinner or sun50i-h618 as a device identification string, and set platform to sun50i-h618.

            A 1 Reply Last reply Reply Quote 1
            • A
              Arrafart @mitu
              last edited by Arrafart

              @mitu

              function platform_sun50i-h618() {
              cpu_armv8 "cortex-a53"
              __platform_flags+=(x11 gles gles3 gles31)
              }

              The Orange Pi zero 3 has the same chipset, if I'm right, so they would carry the same name like that.

              Not sure what to do with it, but...

              I had a good day, thanks!

              1 Reply Last reply Reply Quote 0
              • A
                Arrafart @mitu
                last edited by

                @mitu

                Your system should have the gles gles3 flags instead of x11 (which I assume it's now set by RetroPie-Setup), so that the GLES3 specific build options are applied to emulators/libretro cores.

                Found it: Can I apply it to the system.sh script and reinstall emulators or should update Retropie script?

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

                  @Arrafart You should re-install with the new flags. Don't update, since RetroPie-Setup doesn't have your modifications and it won't work anyway.

                  A 2 Replies Last reply Reply Quote 0
                  • A
                    Arrafart @mitu
                    last edited by

                    @mitu I have amended /home/dietpi/RetroPie-Setup/scriptmodules/system.sh but the flags did not change.

                    I thought, maybe a visual things since i amended myself.
                    No changes after re-intallation of the 4 emulators.

                    https://pastebin.com/9Kua2Pt6

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

                      @Arrafart said in N64 from 16:9 to 4:3 instead:

                      @mitu I have amended /home/dietpi/RetroPie-Setup/scriptmodules/system.sh but the flags did not change.

                      Yes, because you haven't added the detection part. Here's your system.sh, but with detection: https://gist.github.com/cmitu/64d7e993609a3f28b58a0a1a0267d292. Try it and see if the correct platform is detected and the flags are applied.

                      A 1 Reply Last reply Reply Quote 0
                      • A
                        Arrafart @mitu
                        last edited by Arrafart

                        @mitu

                        Flags: Sun50i-h618 64bit aarch64 x11 gles gles3 gles31

                        After reinstalling

                        Progress on the flags

                        mupen64plus glide64 16:9
                        https://pastebin.com/BaRinFXe

                        lr-mupen64plus
                        Not supported / flagged

                        lr-mupen64plus-next (back to ES)
                        https://pastebin.com/2pptYP5w

                        mupen64plus glideN64 (back to ES)
                        https://pastebin.com/n1gqn5ja

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

                          @Arrafart said in N64 from 16:9 to 4:3 instead:

                          lr-mupen64plus-next (back to ES)
                          https://pastebin.com/2pptYP5w

                          You need to recompile RetroArch also:

                          [INFO] [Environ]: SET_HW_RENDER, context type: gl.
                          [ERROR] Requesting OpenGLES3 context, but RetroArch is compiled against OpenGL. Cannot use HW context.
                          [ERROR] [Environ]: SET_HW_RENDER - Dynamic request HW context failed.
                          [libretro ERROR] mupen64plus-next: libretro frontend doesn't have OpenGL support

                          A 1 Reply Last reply Reply Quote 0
                          • A
                            Arrafart @mitu
                            last edited by Arrafart

                            @mitu

                            Out of interest I think I found the "get" lines in the system.sh

                            sun50i-h618)
                            __platform="sun50i-h618"
                            ;;

                            Victory! And in 4:3!

                            lr-mupen64plus-next
                            https://pastebin.com/ijeRkPF7

                            I feel like i will be getting picky now, but it runs choppy vs the mupen64plus standalone (that runs smoothly), it has a black bar on top+bottom and graphics took a hit.
                            Anything polish able? Or is this where we should draw the line for the Orange pi zero 2w?

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

                              @Arrafart said in N64 from 16:9 to 4:3 instead:

                              Anything polish able? Or is this where we should draw the line for the Orange pi zero 2w?

                              You can look into the core options and make sure you disable any performance demanding options (upscaling, MSAA).

                              A 1 Reply Last reply Reply Quote 1
                              • A
                                Arrafart @mitu
                                last edited by Arrafart

                                @mitu

                                I managed to puzzle a bit within the RetroArch menu (hotkey+north within the game), inside the core options, and restarting ES after each change. Might polish a bit more.

                                It came down to assuring the 1x resolution and some extra texture options for preference. It doesn't beat Mupen64plus graphics yet, but it is damn close right now.

                                I could also push the 4:3 top and bottom scaling within the glideN64 core options, no more black borders.

                                I am 95% satisfied! 🥂🙏🏻🎮

                                1 Reply Last reply Reply Quote 0
                                • A
                                  Arrafart @mitu
                                  last edited by Arrafart

                                  @mitu

                                  Hey mitu, I had a clean install and added the two sections in the system.sh file within the Scriptmodules folder.

                                  Now I'm trying to reinstall to show the correct flags, but whatever I reinstall it still shows the previous flags. 64bit gl vulkan x11

                                  Note: 0 cores installed

                                  What should I reinstall to update the flags correctly?

                                  Edit: a restart helped me retrieve the flags into the RetroPie setup

                                  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.