1

I am trying to run an SDL-based application, PICO-8, on a headless Raspberry Pi 3. When I run it locally, everything works fine as it should. When I try to run it via either RealVNC or SSH X11 Forwarding, nothing appears.

This SDL Application is know to run in full screen mode.

Currently, I believe the solution lies down one of two paths: 1) RealVNC with experimental DirectCapture enabled - this succeeded in opening the application in the VNC Viewer, but without any functional keyboard 2) X11VNC - googling seems to show this might be promising, but I have not been able to get it to succeed in even showing the application like RealVNC.

Thoughts?

1

SDL uses hardware acceleration by default, so the screen cannot be exported. You can create a start skript which forces the x11 video driver:

export SDL_VIDEODRIVER=x11
/your/sdl/app

See SDL_envvars

It's similar for media players which use hardware acceleration by default. To export the screen, you have to configure their video driver option.

  • This is great! Thank you. For any futrue PICO-8 users coming here, I found that I need to use pico8_dyn instead of pico8 when running the app. @janka it's a bit slow. Do you know of any way to optimize given these circumstances? Would RealVNC be better or X11VNC – Jonathan Jan 29 '18 at 3:23
  • Without any hardware acceleration, things are going to be slooooow. As this is all about pixelart, you maybe want to decrease the screen resolution? The only other option you have is RealVNCs DirectCapture. x11vnc doesn't have this feature. – Janka Jan 29 '18 at 3:30
  • Thanks again for the quick response. RealVNC with DirectCapture was faster, but it was not accepting keyboard input. Maybe I'll pose that question to the Exchange and see what the collective intelligence comes up with! – Jonathan Jan 29 '18 at 3:36
  • With X11 running, the RealVNC server will be sending X keyboard events, which may be the issue here. Perhaps you could try starting it without X11 running, i.e. boot to the console and run it from there. RealVNC server will still work, provided you have previously enabled the direct capture mode, and keyboard input will be done via uinput instead of X11. – Andrew Wedgbury Jan 29 '18 at 9:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.