Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Change #6173: Update SDL driver to use SDL 2.0 #7086
Also worth mentioning is that this changes the SDL driver from software rendering to hardware rendering, which has to potential to cause problems since we're now relying on the user's graphics drivers.
I've seen this branch segfault when the program starts on an old Mac mini I have, running Linux and the nouveau DRI drivers. This computer can run OpenTTD with SDL 1.2 just fine, and obviously we don't want to introduce this regression.
So I'll need to implement a software rendering fallback using either SDL_CreateSoftwareRenderer() or SDL_CreateRenderer() with the SDL_RENDERER_SOFTWARE flag. I'm not sure exactly how to "fall back" to the software renderer, but I'm sure there's some examples around. I'll take a look.
Alright, I've gotten a chance to debug the issue on the Mac mini system I mentioned above. It's working fine with an update I just made to this branch: using a renderer created with the
Anyways, we're not losing anything by using software rendering here, as that's how it currently works. Please test this branch, anyone who's able and willing, and let me know of any problems you see!
Hmm, I can't see the exact libsdl failure - though I'm not used to Azure.
I see a bunch of messages like "Unable to find image 'openttd/compile-farm-ci:linux-amd64-gcc-6' locally" here: https://github.com/OpenTTD/OpenTTD/pull/7086/checks?check_run_id=55198664
Anyways, this Dockerfile would need to be updated to include
It fails on configure, https://github.com/OpenTTD/CompileFarm/blob/master/base-linux/Dockerfile needs an udpate
If you go to the Azure results, here: https://dev.azure.com/openttd/OpenTTD/_build/results?buildId=607
7 times, most recently
Jan 27, 2019
Just tried to run this on Linux:
SDL1 (master) works fine