I'm in the process of building a vertical-only Japanese/Australian style cocktail cab at the moment. The software, computer and monitor are all built and ready to go. I'm cutting the wood over the next few days for assembly after Christmas some time.
As I've mentioned a few times now, the cab is running Slackware Linux 9.1 and AdvanceMenu for the frontend to AdvanceMAME. The graphical output uses the SVGAlib graphics library which is extremely compact in size (less than 5MB installed and running for the SVGAlib binaries and libraries, post-compile). This means no Xfree86/Xorg and no SDL. In fact, all vertical games and corresponding PNG screenshots from Crashtest's collection, Operating System, compiler, AdvanceMAME and AdvanceMenu fit on a 2GB hard disk, with room to spare. That itself suits me just fine, as I've got literally a dozen of these old hard disks lying around that just simply aren't big enough for any windows (or even linux) desktop or server use.
AdvanceMenu is pretty neat. You just whack the "0" (zero) key on the numeric keypad of your keyboard, and the display will rotate 90 degrees (images, skins, text, everything). No performance loss either. Just keep hitting that until the display meets the needs of your cab, and the settings are saved automagically for next reboot. Alternatively you could even put a button somewhere on the cab that rotates the display as needed (useful if the Player2 wants to select a game from the other side of the cab). No mucking about with hardware rotation or third-party software required. Hell, you don't even need a mouse! It's just a single button press away, which is perfect for my cab (but not for everyone's, of course).
Now I'm not in any way trying to give "bad information". The setup works well, and was easy enough to get installed and working the way I needed it to be. It runs in a vertical orientation for both the front-end and games, which was my need for this cab. I'm a functionalist at heart. I use what I consider to be the best Windows-based front end on my standing cab (link in my sig) - MAMEWah. But when I embarked on a vertical-only cab, after much searching and stuffing around, AdvanceMENU suited my needs the best.
Again I say, choice is good. If there were only 2 front-ends (and I speak generally, for the moment, not vertical-only) on the planet, life would suck for cab builders. But there are many, and all of them vary in features, eye-candy, intended use (cab versus desktop), etc.
What I see above is two fellows getting annoyed at me for telling the world how my setup works. I have no intention of converting the world to linux (well, not all of it anyway

) nor do I think AdvanceMENU and AdvanceMame are the answer for the less technically-minded. Lord knows, some of the questions that are asked on the AdvanceM* mailing lists show lack of said technical knowhow by the general public. But that is not a criticism: many folks just want to play games, and can't be arsed setting up complex software to do so. In that case, go for what is easiest to set up. But do be aware that alternatives exist, and can sometimes do the particular job it is that the original poster of this thread has requested.
So with that in mind, my thanks to Howard for listing two front-ends that support native rotation, and for bringing up the issue of card-level hardware rotation.
And just to be a smartarse for a moment:
sev