Love2d on a Raspberry Pi and Adafruit TFT2.8 screen

Questions about the LÖVE API, installing LÖVE and other support related questions go here.
Forum rules
Before you make a thread asking for help, read this.
Post Reply
iamaloveuser
Prole
Posts: 1
Joined: Wed Jun 21, 2017 11:09 pm

Love2d on a Raspberry Pi and Adafruit TFT2.8 screen

Post by iamaloveuser » Wed Jun 21, 2017 11:15 pm

Hey all,

I'm hoping someone else has already figured this out. I'm having a ton of issues getting Love to run on the Adafruit TFT2.8 screen https://learn.adafruit.com/adafruit-pit ... sy-install

An error shows up,

AL lib: (WW) alc_initconfig: Failed to initialize backend "pulse"
Could not set video mode: Couldn't find matching GLX visual

Error: [String "boot.lua"]:332: Could not set window mode
Stack traceback:


I know love works on the pi itself up until I install the new kernel to get the TFT screen to work. That's the point it fails. Any ideas?

MachineCode
Citizen
Posts: 61
Joined: Fri Jun 20, 2014 1:33 pm

Re: Love2d on a Raspberry Pi and Adafruit TFT2.8 screen

Post by MachineCode » Sat Jun 24, 2017 7:37 am

Do you know if any OpenGL software works on the TFT? You could test this by trying GlGears to see how that goes. Aside from that, the problem probably is in SDL2. Pulse is the sound library, so you might need to install that manually.

I am assuming that you only expect software emulation of OpenGL. I think Anholt has done some work on the RPi LCD display, but expecting it to work on the Adafruit one may be a bit optimistic. You might get some clues from his progress notes -

https://twitter.com/anholt
http://anholt.livejournal.com/

User avatar
zorg
Party member
Posts: 2367
Joined: Thu Dec 13, 2012 2:55 pm
Location: Absurdistan, Hungary
Contact:

Re: Love2d on a Raspberry Pi and Adafruit TFT2.8 screen

Post by zorg » Sat Jun 24, 2017 8:29 am

The pulse thing is just a warning coming from OpenAL; it's not suppressable sadly, though if you are compiling love yourself, you can modify the order in which OAL looks for backends. (no idea whether you have OSS or ALSA or whatever, but one probably does exist, it's just not Pulse)

The real issue, as written above, is the graphics.
Me and my stuff :3True Neutral Aspirant. Why, yes, i do indeed enjoy sarcastically correcting others when they make the most blatant of spelling mistakes. No bullying or trolling the innocent tho.

User avatar
bartbes
Sex machine
Posts: 4942
Joined: Fri Aug 29, 2008 10:35 am
Location: The Netherlands
Contact:

Re: Love2d on a Raspberry Pi and Adafruit TFT2.8 screen

Post by bartbes » Sat Jun 24, 2017 11:25 am

zorg wrote:
Sat Jun 24, 2017 8:29 am
The pulse thing is just a warning coming from OpenAL; it's not suppressable sadly, though if you are compiling love yourself, you can modify the order in which OAL looks for backends.
Wrong! OpenAL is compiled completely separately, so no recompilation of love is necessary. Better yet, it has a configuration file, which allows you to configure the backends to use, and even their order, see their sample configuration file.
iamaloveuser wrote:
Wed Jun 21, 2017 11:15 pm
Could not set video mode: Couldn't find matching GLX visual
Hmm, that's weird actually, since I wouldn't expect the pi to use GLX at all, generally. Are you running an X11 session? Try running love without an X session, and with the environment variable LOVE_GRAPHICS_USE_OPENGLES set to 1. You may also need SDL2 compiled with support for the pi, to get it to use the native hardware backend rather than software emulation.

User avatar
Nixola
Inner party member
Posts: 1935
Joined: Tue Dec 06, 2011 7:11 pm
Location: Italy

Re: Love2d on a Raspberry Pi and Adafruit TFT2.8 screen

Post by Nixola » Sat Jun 24, 2017 6:35 pm

If I recall correctly someone wrote a desktop OpenGL for the rpi, so it is not software emulation. I don't know if it's made it to upstream yet though.
lf = love.filesystem
ls = love.sound
la = love.audio
lp = love.physics
lt = love.thread
li = love.image
lg = love.graphics

MachineCode
Citizen
Posts: 61
Joined: Fri Jun 20, 2014 1:33 pm

Re: Love2d on a Raspberry Pi and Adafruit TFT2.8 screen

Post by MachineCode » Sun Jun 25, 2017 2:03 pm

The latest Raspbian includes software GLX emulation under X. All you need to do is install love from the included software installer, and open a term and type "love" and you will get a non-accelerated "Game Over" screen running in X. The debian repositories are not tracking love2d updates at all, so after that you can use the armhf .debs from this website to upgrade love.

To get full accelerated love2d on a RPi you need to activate the VC4 driver - which Eric Anholt has been working on for the last few years ...

https://twitter.com/anholt
http://anholt.livejournal.com/

To get that working, upgrade the raspbian kernel with "sudo BRANCH=next rpi-update"
Then use "sudo raspi-config" and select the Fake KMS driver option and reboot.

The VC4 drivers are still under development, but actually work very well. I have seen >50fps on a full 1080 screen all under X.

The GLES mode works if you have SDL2 that supports this. I had it working a few years back and it was very fast. For a dedicated Pi application that doesn't need X, GLES would be good, but would need a custom install.

Overall, love2d on a RPi with the VC4 driver is really good. You can just drop a .love file onto the pi desktop and it will run, just like on a PC. It even works over VNC. You can develop on a PC and then run you application on the Pi.

Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 5 guests