I switched again from Lakka to Mint 17.3 MATE, this time testing it on two different motherboards (same video card, scan converter and hard drive, but better mobo, CPU and RAM), and tested both the nouveau and nvidia (binary) driver. With nouveau I could use xrandr to switch to a 640x480@120Hz (on a CRT TV over S-Video and VSC-500), but when I ran retroarch it displayed one frame of the menu then froze (didn’t crash; just froze). With nvidia, the same xrandr scripts that worked before failed with the usual message, but retroarch ran fluid. All this with or without xorg.conf, monitor.xml, or any other fiddling. I tested the “stable” and “testing” retroarch PPA’s and the result was the same. The results were the same when retroarch started full screen or windowed, as well. Not sure if this is one or more bugs, even as deep as video drivers (using nvidia 304 when binary), but it has to mean something in the pursuit of a semblance of 240p on a CRT TV, one would hope.
[edit]
Looks like the problem isn’t the 120Hz but using nouveau. The only difference this time is the new motherboard, which has an integrated video chipset and a dedicated PCIe card which I’m using. I wonder if RetroArch is having a problem because of the presence of the integrated card? I’d test with the old motherboard except it died. Will report with any new findings.
[edit]
I confirmed that the integrated video card in conjunction with the PCIe card is causing RetroArch to freeze. I set the integrated card in the BIOS as the primary card (leaving the PCIe card in), connected it to my VSC-500 and it works at any resolution or refresh rate using nouveau and xrandr.
I still can’t get xrandr to work or set the desktop to 120Hz when using the binary NVIDIA 304 drivers, the nvidia-settings GUI or with modelines in xorg.conf. Nouveau does it perfectly using xrandr, surprisingly. I might swap the 304 card with a newer 340 to see if nvidia/xrandr works and if nouveau/RetroArch still freezes. I need a motherboard without integrated video, probably.
I also can’t get RetroArch to run games at 120Hz (menu: yes with fiddling, games: no) even though it’s set to use windowed full-screen and the desktop is running at 120Hz. I thought perhaps running a game at 120Hz and black frame insertion through the VSC-500 might create a semblance of proper scanlines depending on how the VSC handled it. I’ve tried manually increasing the retroarch.cfg refresh rate to 120.0, toggling v-sync and multi-threading. Maybe it’s a performance issue and I need a better CPU and video card to lock 120Hz.
Additionally ultrawide modes at 240 rows (1280x240, for example), look accurate but flicker due to the VSC’s 480i output. It needs some kind of scanline or row offset filter applied to the core/emulator buffer/output I think, but may still flicker due to the forced 480i to the CRT. Maybe I need to find an “RGB interface” to get it to offset every other refresh a row to achieve 240p.
Also noticed that RetroArch’s xmb menu driver does a bad job of rendering its menu text when the vertical resolution is small like 240 pixels (ultrawide resolutions). It’s not centered vertically so the selected/highlighted item is off screen. Maybe it has a minimum vertical scale starting at 480 or something. Anyone else having any luck getting 240p working on a CRT television?