• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
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
    last edited by 2 Nov 2024, 07:23

    Dietpi OS v9.8.0 Armv8 Debian GNU/Linux 12 Bookworm
    Device model : Orange Pi Zero 2W (aarch64)

    Mupen64plus

    Hey all,

    I've come a long way from not working at all to sanding off the sharp edges. Hoping you can help.

    I've done some fair amount of tinkering on this and adjustments have been made in mupen64plus.cfg, RetroArch.cfg and the core files. I even explored the runcommand, but that's a bit too high level for me.

    Aspect ratio, forcing 4:3, all I could find I adjusted and when failed, I went back to my backup to restore the default.

    I managed to manually change the resolution to 4:3 by changing 800x600 to 1280x768. It does max out on my 1360x768 TV, but it doesn't max out on my 1600x900. It also crashes at that resolution when exiting (I even see the emulator go to that size on the left side of my screen for a split second upon exit)

    How can I keep the stretching, but only to 4:3 instead of the current 16:9?

    1 Reply Last reply Reply Quote 0
    • M
      mitu Global Moderator
      last edited by mitu 11 Mar 2024, 05:22 3 Nov 2024, 05:22

      I'm not sure which problem are you trying to solve ?
      Without any configuration, even with a wide screen resolution (16:9), Mupen64plus should default to keep the original aspect ratio (4:3).

      Moreover, the Libretro core should also default to 'core provided aspect ratio', thus keeping the aspect ration requested by the Mupen64plus-next core. There's no need to modify any .cfg and you shouldn't, any configuration done from the RetroArch menu should be saved as overrides (core/game/directory) so you keep the (minimal) defaults for all cores and just adjust settings per-system/core/game.

      Can you add some logs (/dev/shm/runcommand.log) on pastebin.com from the emulator not perfoming how you expect and also the configuration used.

      A 1 Reply Last reply 3 Nov 2024, 08:05 Reply Quote 0
      • A
        Arrafart @mitu
        last edited by 3 Nov 2024, 08:05

        @mitu

        Thank you for taking a look at this Mitu,
        https://pastebin.com/JX0nuU9y

        Mupen64plus has only displayed 16:9 fullscreen so far on this device, unless I manually adjusted the resolution.

        1 Reply Last reply Reply Quote 0
        • M
          mitu Global Moderator
          last edited by 3 Nov 2024, 08:19

          Not sure how maintained is the glide64mk2 video plugin, you should either use the RetroArch core or the - more maintained - GlideN64 plugin to run.

          In the log it see your resolution is detected as set as 800x600 by the emulator, is this a crash log or what exactly is the behavior associated with this log file ?

          A 1 Reply Last reply 3 Nov 2024, 09:06 Reply Quote 0
          • A
            Arrafart @mitu
            last edited by Arrafart 11 Mar 2024, 09:43 3 Nov 2024, 09:06

            In the log it see your resolution is detected as set as 800x600 by the emulator, is this a crash log or what exactly is the behavior associated with this log file ?

            @mitu I successfully started the rom, it was booting in 16:9 and I successfully exited.

            I'll check how to choose a different core and try that also.

            Not sure how maintained is the glide64mk2 video plugin, you should either use the RetroArch core or the - more maintained - GlideN64 plugin to run.

            I selected the GlideN64 emulator in the Loading screen but it jumps back into ES. Hope this is what you meant...

            https://pastebin.com/NaGsP18r

            Also tried the lr-mupen64plus emulator and, same thing, it jumps back into ES.

            https://pastebin.com/WUJHqZvM

            1 Reply Last reply Reply Quote 0
            • M
              mitu Global Moderator
              last edited by 4 Nov 2024, 04:53

              The RetroArch log would have more info if you choose verbose logging during startup.

              For the standalong log, since the crash seems to be OpenGL related, it may be a mismatch between the OpenGL version required by the emulator (OpenGL 3 most likely) and the version supported by your board. Since you're using an relatively unsupported platform, what are the your platform flags detected by RetroPie-Setup and what capabilities does your device have - does it support GLES2 or GLES3 with hardware acceleration ?

              A 1 Reply Last reply 4 Nov 2024, 11:16 Reply Quote 0
              • A
                Arrafart @mitu
                last edited by Arrafart 11 Apr 2024, 11:20 4 Nov 2024, 11:16

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

                The RetroArch log would have more info if you choose [verbose logging]

                lr-mupen64plus_next
                https://pastebin.com/sh3wuA0K

                lr-mupen64plus
                https://pastebin.com/NEM8nX6U

                M 1 Reply Last reply 4 Nov 2024, 12:00 Reply Quote 0
                • M
                  mitu Global Moderator @Arrafart
                  last edited by mitu 11 Apr 2024, 12:08 4 Nov 2024, 12:00

                  The logs show:

                  [INFO] Requesting **core OpenGL context (3.3).**
                  [INFO] [Video]: Using HW render, glcore driver forced.
                  [INFO] [Video]: "**glcore**" saved as cached driver.
                  [ERROR] [Wayland]: Failed to connect to Wayland server.
                  [INFO] [GLX]: GLX_EXT_swap_control_tear supported.
                  [INFO] [GLCore]: Found GL context: **"x".**
                  [INFO] [GLCore]: Detecting screen resolution: 1280x720.
                  [INFO] [XINERAMA]: Xinerama version: 1.1.
                  [INFO] [XINERAMA]: Xinerama screens: 1.
                  [INFO] [GLX]: Using Xinerama on screen #0.
                  [INFO] [GLX]: X = 0, Y = 0, W = 1280, H = 720.
                  [INFO] [GLX]: Using windowed fullscreen.
                  [INFO] [GLX]: Creating context for requested version 3.3.
                  [WARN] [GLX]: X error message: **GLXBadFBConfig, request code: 151, minor code: 0**
                  

                  which means you're running uner Xorg, with OpenGL (core) render driver. The core requests an OpenGL 3.3 context, but Xorg is unable to provide it, most likely because the driver for your GPU doesn't support that version of OpenGL (Core). I suspect the same reason causes the crash of the standalone emulator - unsupported/unavailable OpenGL version.

                  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. What are the system's flags, detected by RetroPie-Setup, right now ?

                  A 2 Replies Last reply 4 Nov 2024, 13:26 Reply Quote 0
                  • A
                    Arrafart @mitu
                    last edited by Arrafart 11 Apr 2024, 13:26 4 Nov 2024, 13:26

                    @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. What are the system's flags, detected by RetroPie-Setup, right now ?

                    I'm too new to this, may I have a tip on where to spot this? I'll ask Chatgpt and Google also a bit, maybe it can help before you find this post

                    M 1 Reply Last reply 4 Nov 2024, 13:59 Reply Quote 0
                    • M
                      mitu Global Moderator @Arrafart
                      last edited by 4 Nov 2024, 13:59

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

                      I'm too new to this, may I have a tip on where to spot this?

                      Go to an 'unsupported' package and open it up (i.e. fs-uae in experimental is not available for ARM targets), RetroPie should print the flags and explain why the package is not available for installation.

                      1 Reply Last reply Reply Quote 0
                      • A
                        Arrafart
                        last edited by 4 Nov 2024, 14:04

                        your flags: 64bit gl vulkan x11

                        M 1 Reply Last reply 4 Nov 2024, 14:07 Reply Quote 0
                        • M
                          mitu Global Moderator @Arrafart
                          last edited by mitu 11 Apr 2024, 14:09 4 Nov 2024, 14:07

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

                          your flags: 64bit gl vulkan x11

                          OK, that only looks partially right. Your device/platform should include les gles3 gles31 and no vulkan nor gl.

                          EDIT: you can see how platform flags are added in https://github.com/RetroPie/RetroPie-Setup/blob/master/scriptmodules/system.sh. You can customize your platform - how the platform is detected and how is named, then add a platform_<name> function where you can further customize the flags.

                          A 1 Reply Last reply 4 Nov 2024, 14:46 Reply Quote 1
                          • A
                            Arrafart @mitu
                            last edited by 4 Nov 2024, 14:46

                            @mitu

                            I need a moment to process this. Give me a moment :D
                            I might have questions, but later....

                            Thanks!

                            M 1 Reply Last reply 4 Nov 2024, 14:49 Reply Quote 0
                            • M
                              mitu Global Moderator @Arrafart
                              last edited by 4 Nov 2024, 14:49

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

                              I need a moment to process this. Give me a moment :D

                              Sure. If you're not familiar with Bash scripts or don't understand how the system detection/flags system works, it's ok, the script is not meant to be directly manipulated by end users, but by someone familiar with Linux and Bash script.

                              A 1 Reply Last reply 4 Nov 2024, 16:17 Reply Quote 0
                              • A
                                Arrafart @mitu
                                last edited by Arrafart 11 Apr 2024, 16:30 4 Nov 2024, 16:17

                                @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
                                • M
                                  mitu Global Moderator
                                  last edited by 4 Nov 2024, 17:09

                                  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 4 Nov 2024, 20:52 Reply Quote 0
                                  • A
                                    Arrafart @mitu
                                    last edited by Arrafart 11 Apr 2024, 20:59 4 Nov 2024, 20:52

                                    @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)

                                    M 1 Reply Last reply 4 Nov 2024, 21:23 Reply Quote 0
                                    • M
                                      mitu Global Moderator @Arrafart
                                      last edited by mitu 11 Apr 2024, 21:23 4 Nov 2024, 21:23

                                      @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 4 Nov 2024, 21:46 Reply Quote 1
                                      • A
                                        Arrafart @mitu
                                        last edited by Arrafart 11 Apr 2024, 21:51 4 Nov 2024, 21:46

                                        @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 5 Nov 2024, 11:35

                                          @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?

                                          M 1 Reply Last reply 5 Nov 2024, 11:45 Reply Quote 0
                                          20 out of 29
                                          • First post
                                            20/29
                                            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