While snooping around the Pico8 execution options, I ran into an SDL error while trying to scale Pico 8 to fit my Pi's screen using "-pixel_perfect 0"
The SDL error is as follows:
SDL Error: The video driver did not add any displays ** FATAL ERROR: Unable to initialize SDL |
For some context, I am running my Pi's video output via composite. I assumed this error was related to that, so I tested it once again using the default HDMI output. The SDL error returned exactly the same.
To test further, I attempted executing Pico8 from a CLI environment instead of desktop. This returned the exact same SDL error every time, even without any options. I tried this for HDMI and composite.
To make sure this wasn't something wrong with my own Pi, I performed a reinstall of Pi OS and tried each iteration of the problem once again to the same results.
I still suspect I may be missing something on my end, but I think this is enough evidence to report officially as a bug. I'm no longer concerned about "-pixel_perfect 0" not working as I believe I've found an alternative, but I am concerned that starting Pico8 from a CLI environment doesn't seem to work on Pi.
working perfectly fine here:
pi@raspberrypi:~/pico-8 $ ./pico8 -pixel_perfect 0 | pi@raspberrypi:~/pico-8 $ uname -a | Linux raspberrypi 4.4.21-v7+ #911 SMP Thu Sep 15 14:22:38 BST 2016 armv7l GNU/Linux | pi@raspberrypi:~/pico-8 $ cat /etc/os-release | PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)" | NAME="Raspbian GNU/Linux" | VERSION_ID="8" | VERSION="8 (jessie)" | |
using pico8 version 0.2.5c, and output to hdmi -> vga -> lcd 21"
perhaps
pi@raspberrypi:~/pico-8 $ ldd pico8_dyn | linux-vdso.so.1 (0x7ee2d000) | /usr/lib/arm-linux-gnueabihf/libarmmem.so (0x76f57000) | libSDL2-2.0.so.0 => not found | libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x76ec9000) | libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x76d88000) | /lib/ld-linux-armhf.so.3 (0x54ad2000) | |
my SDL2 lib is not in the path, so pico8 will do the resolving by itself, which is great. But what happen if it's in your path already, wrong one?
Please share your ldd.
edit: on a pi 3B
I've just run into this problem too. Have you tried enabling the legacy desktop drivers via raspi-config
? (neither work for me lol but they give different errors)
I'm running a Pi Zero 2 W Rev 1.0, connected to the HDMI output and using the legacy desktop drivers (dtoverlay=vc4-kms-v3d
is commented in config.txt):
Here's the ldd. In case it helps I've also uploaded a strace.
Like @cobalt00 I'm going to go with an alternative fix for the time being, but it'd be great to know if it's a bug or something we're doing wrong.
m_b, your ldd
output really looks like the output for pico8
(statically linked, contrary to pico8_dyn
), which embeds its own libsdl built with options defined by zep. libsdl from the repo will have different options, as would one built by yourself.
[Please log in to post a comment]