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

Configuring vertical screen in Retroarch



  • I've been building a cocktail table using a 20" LCD monitor, so of course I want to take advantage of the screen size and play my games in vertical mode. So far I have not been able to get this to work very well. I've try adding the changes to the config.txt file, but like everyone says that ruins the performance of many games. So I've been trying to change things in Retroarch with no success. I've edited both the all/retroarch.cfg and mame-mame4all/retroarch.cfg to allow rotation and set the rotation to 1. I've also set the games to cocktail setup with the DIP switches.

    Currently running the system on a Raspberry Pi 3 B with the newest Retropie image.
    Thanks!



  • Update: I was able to get both NES and Atari 2600 games to go into vertical mode by setting allow rotation to true and setting the rotation to 1. Just for fun I went ahead and set all 29 emulators to these settings. Still the MAME games are not playing in vertical mode. What am I missing?



  • I have also read that swapping to vertical slows down performance, but all I can say is the 1980’s games I play under Mame 2003 (1941, Donkey Kong, Pac-Man etc) all work fine on my Pi 3B with vertically with 1200x1600 resolution when I set the whole system to run vertically.



  • Two possible issues:

    1. The rotation settings on the main retropie cfg and each emulator are cumulative. I set 1 and 1 on the system configuration and on the libretro config, and it did a full 180. Set one or the other, not both.

    2. Emulators that aren't part of the libretro build won't follow the rules set forth in the general config - which MAME emulator are you using? I was using an optional build of MAME4All, and it had the same problem. Set the default back to mame-2003 (ROM set 0.78) and all should be well.



  • @panhead_jim said in Configuring vertical screen in Retroarch:

    mame-mame4all

    This. Get the 0.78 set and use lr-mame2003 as advised.



  • I’ve been ‘working’ on doing similar over the last couple of days.

    Rotating the display on the pi definitely had a negative impact - primarily flickering shadows in several games.

    It doesn’t seem like it is possible to rotate the EmulationStation UI, so I’m using AttractMode (from the experimental section) as the front end, with a vertical theme called ‘The Invaders’ which I downloaded from a thread in the Attract Mode forum.

    I’m using lr-mame2003, and it worked pretty well in terms of getting the rotation correct without too much experimenting, although I did run into a problem with getting the aspect ratio correct. I eventually had to edit the retroarch.cfg by hand and change aspect_ratio_index from 21 to 22, since it didn’t seem to save correctly through the retroarch menu.


  • Global Moderator

    @andrewh said in Configuring vertical screen in Retroarch:

    It doesn’t seem like it is possible to rotate the EmulationStation UI,

    Actually it is supported by ES - see https://github.com/RetroPie/EmulationStation/pull/348/



  • @mitu wow... thanks for that - hadn't seen any reference to it when researching. I'll try it tonight (I prefer ES to Attract Mode, to be honest)


  • Global Moderator

    @andrewh At first glance it seems un-documented (neither the wiki or running with --help shows any indication this might be supported), but I remember being being implemented a while ago.
    EDIT: I now realise this is part of the master branch, so I think it's not part of the stable branch and you'd need to use the emulationstation-dev experimental package to make use of it.



  • After a lot of fooling around, I switched from using MAME 0.37b5 roms with mame4all to using MAME 0.78 roms with mame-libretro. Then I enabled TATE mode within file:

    retroarch-core-options.cfg

    which can be found under /opt/retropie/configs/all/ in the configuration editor. The option I changed is:

    mame2003-tate_mode = "enabled"

    Now it works great. No slow down and the entire screen is filled.



  • To all - the stable branches all support screen rotation, but if you want it to happen on a system-by-system basis (leave the menus landscape), you need to use the libretro emulators. exclusively. If you want everything, including the menus to go portrait, as in the case of a proper cocktail cabinet, you can tell the OS to treat the display as permanently vertically oriented, just set display_rotate=3 (or 1, depending on the physical screen's orientation) in /boot/config.txt and give the pi a full reboot.



  • @thepatchwerkboy said in Configuring vertical screen in Retroarch:

    you can tell the OS to treat the display as permanently vertically oriented, just set display_rotate=3 (or 1, depending on the physical screen's orientation) in /boot/config.txt and give the pi a full reboot.

    This is what I started with originally, but as mentioned above, it was less than ideal - the sprite shadows flickered unacceptably. Apparently this is due to the shadows only being displayed every second frame to crate 'pseudo transparency'. it's not an issue with the standard system rotation, only when rotated by 90 degrees.

    Leaving system rotation at 0 degrees, but rotating the ES menus, and rotating the display in retroarch gives a result with no shadow flickering - that's why I did it that way.



  • @andrewh - Gotcha. I was unaware you could rotate the menus alone. May I ask which config file has that setting and the syntax? That could be quite useful.



  • @thepatchwerkboy said in Configuring vertical screen in Retroarch:

    @andrewh - Gotcha. I was unaware you could rotate the menus alone. May I ask which config file has that setting and the syntax? That could be quite useful.

    @mitu's comments above contain all the detail, but basically;

    • Install Emulationstation dev version from the Experimental section of RetroPie Setup
    • Edit autostart.sh and add --screenrotate 3 (or 1, depending on which way you need it to rotate)
    • Reboot

    That gets EmulationStation rotated. It's then necessary to configure Retoarch to also rotate its output.



  • @andrewh - I am aware of that method, which rotates the system display on an OS resolution level. I thought he was saying he'd found a way to rotate the ES menus independently.


  • Global Moderator

    @thepatchwerkboy said in Configuring vertical screen in Retroarch:

    I thought he was saying he'd found a way to rotate the ES menus independently.

    You can do that - as @AndrewH said - by using the command line parameter --screenrotate, it will start ES rotated as you like, without messing with config.txt and doing it as the OS level.



  • @thepatchwerkboy said in Configuring vertical screen in Retroarch:

    @andrewh - I am aware of that method, which rotates the system display on an OS resolution level. I thought he was saying he'd found a way to rotate the ES menus independently.

    The method above doesn’t rotate the system display - that will still be sideways on a vertical display if you exit ES - it only rotates the EmulationStation display.



  • @andrewh - That is quite acceptable, as I'm always using a wireless keyboard when dropping to command shell.



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.