DOSBox-SVN; any way to play Jazz Jackrabbit 1 without screen tearing?

The DOSBox-SVN libretro core has evolved quite a bit nowadays, and soon it might overtake DOSBox ECE as my preferred way to emulate MS-DOS games.

There are however some games that are troublesome to get running in an optimal state in the DOSBox-SVN libretro core, and one of them is Jazz Jackrabbit 1. After selecting the first level of the first world, you would only have to run for maybe 2 seconds to notice how the first visible tree gets “cut in half” because of screen-tearing while running, while the tree re-assembles to its proper form as soon as you stop running. Screen-tearing is also quite visible while jumping. I mainly use my 60hz 1080p TV for DOS-gaming, not my 144hz 1080p gaming monitor.

In DOSBox ECE which I personally use for MS-DOS emulation as of now, selecting surface as video output fixes the screen tearing in this game. In the old 0.74 build of DOSBox the output settings of surface, overlay and ddraw didn’t result in any screen tearing in Jazz Jackrabbit 1. If I instead chose opengl or openglnb as video output in the old DOSBox 0.74 build, it resulted in screen tearing not too unfamiliar to the screen tearing I find in the DOSBox-SVN libretro core while running Jazz Jackrabbit 1.

I suppose the libretro cores of DOSBox strips DOSBox of all its video output modes and instead uses the video drivers provided in RetroArch. I have tried all the video drivers in RetroArch to see if any of them can be used to reproduced the same screen-tearing free experience in the DOSBox libretro cores as I can get in a standard build of DOSBox itself, but I haven’t had any success as of yet.

Could it be that the only way to solve this issue is for RetroArch itself to get a video driver similar to DOSBox’s surface, overlay or ddraw to make the tearing disappear in Jazz Jackrabbit 1, or is this somewhat of a bug in the current DOSBox-SVN libretro core that causes this as of now?

1 Like

Nope, I lifted the video render code straight from the old dosbox port and I never really figured how it works. So no way atm/