Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fbcon not available #45

Open
LuxStatera opened this issue Jul 12, 2021 · 7 comments
Open

fbcon not available #45

LuxStatera opened this issue Jul 12, 2021 · 7 comments

Comments

@LuxStatera
Copy link

tried to run WeatherPiTFT but i get the output:

File "WeatherPiTFT.py", line 118, in
pygame.display.init()
pygame.error: fbcon not available

@MarcosIdelec
Copy link

I'm exactly the same, I can't find a solution. Any ideas?
File "WeatherPiTFT.py", line 118, in
pygame.display.init()
pygame.error: fbcon not available

@LoveBootCaptain
Copy link
Owner

LoveBootCaptain commented Jul 27, 2021

Could you both be a little specific on your issues? From my perspective I could only guess.

So please provide:

  • OS you are using + it's version?
  • pygame version?
  • which display are you using?
  • connection type (HDMI, SPI, DSI, Hyperpixel, etc.)

With the given information I would assume you are using a HDMI connection?

Or you are using pygame <= 2.0.0 which is not supported I guess since I didn't updated the dashboard for 2.0.0 and above due to issues if found.

I'm running my dashboard since my last commit on this project with a Hyperpixel Display and the very last Raspbian Version before the official Raspbian OS was announced (think it was last year). Raspbian OS comes default with pygame 2.0.8 if I rember correct (don't quote me on that)... which again... Is not supported.

Long story short, please give more details so I can make a fix or help you to find the right config.

Cheers and kind regards from Berlin
Stephan

@LuxStatera
Copy link
Author

Raspberry Pi 4
latest Raspberry OS
TFT 3.5 in screen
pygame version 2.0.1

when i run the command "sudo service WeatherPiTFT start" and "sudo service WeatherPiTFT status" it shows that it is working. nothing happens so i assume i then need to run the command "python3 WeatherPiTFT.py" to get it started. thats when i get the error i described above

@LoveBootCaptain
Copy link
Owner

hi guys… this is simple…

as mentioned in #41 RaspbianOS has issues and is currently not supported. the reason is not the OS itself, it is the newest version of pygame >= 2.0.0 which uses SDL2 under the hood… and it turns out, that SDL2 changed or broke framebuffer support.

there are two options here…

  • Use a non-buster debian build (or a version of raspbian before it moved to RaspbianOS) with pygame <= 1.9.x
  • Try to run it with an HDMI Display and try if this works for you, if you need to use RespbianOS

and some thoughts and thinkings of the last days:

If you are able to downgrade RaspbianOS to SDL1 and pygame <=1.9.x this would work as well, i assume. But i dont know if it is possible to remove the new dependencies and only use the old ones… a lot of work for people who are not very familiar with linux bare metal stuff. I will figure something out. there are so many other linux distributions which will work as well as long as you are an older version of pygame and SDL.

@LuxStatera you ran into a second issue. when you start the service and status reports its running. than it is running. when you than start the app again by hand it can‘t open it, cause the output is already been used by the other running app started by the service. if you want to try that out, please disable the service so that it not starts at boot. reboot the pi and than try to start it via cmd-line… but it will run into other errors, if you use a framebuffer-powered display. but it would be a good start to test if it would work with HDMI out. change your config for that output.

since the problem still exists and SDL2 is the problem, i dont know if it makes sense to update this program.
i missed a propper information in the Wiki, but i will add one. please have a look in the other issues. you are not the only one right now.

I‘m currently thinking about changing something. maybe pygame is not the right tool, maybe the times of framebuffers are over… last option is to remove all custom build parts and only support HDMI out in the future.
the easiest way is that i will use another linux image where you where able to install the needed versions for pygame and SDL. Have to test this a little and I will update all guides accordingly.

until than stay safe and thanks again for contributing feedback :)

@singhm081085
Copy link

singhm081085 commented Jan 9, 2022

Hi, I'm having the same issue, but I'm using Kali Linux -- I wanted to test this out on my kali virtual machine before I put it on my Raspberry Pi -- My raspberry pi also has Kali installed currently, with a TFT screen, as I made a portable Kali with a 3.2" TFT. I am hoping to replace the portable Kali raspberry pi with a weather station instead. I basically wanted to see if the tutorial described on github would work on Kali first by testing it out on a VM. (Am I going about this the wrong way completely? ) Well, the setup went well fairly smoothly, however when I test the services (service WeatherPiTFT status) I get "Active: active (exited)".

I also get fbcon not available when attempting to run "Python3 WeatherPiTFT.py". This i'm guessing is because i'm not using a TFT screen on the VM?

I'm running PyGame 2.1.2 and Python 3.9.9. I was really hoping to cut out he distro installation part out as I already have the TFT running with Kali just fine. Any recommendations? -- at this point i'm ready to start from scratch and install the recommended OS...

Thanks

@SvenMb
Copy link

SvenMb commented Nov 13, 2022

you can still use this weather display with current Raspberry Pi OS. Just use it over X11.

  1. install your display with working Xorg, very probably your manufacturer has documented how to do this.
  2. set "FRAMEBUFFER": false in your config.json
  3. export SDL_VIDEODRIVER=x11
  4. should work now.

(works for me with fresh rasperry Pi OS lite + xorg with xserver-xorg-video-fbturbo + xserver-xorg-input-evdev on pi zero + az-touch)

@useidel
Copy link

useidel commented Apr 10, 2023

hi guys… this is simple…

as mentioned in #41 RaspbianOS has issues and is currently not supported. the reason is not the OS itself, it is the newest version of pygame >= 2.0.0 which uses SDL2 under the hood… and it turns out, that SDL2 changed or broke framebuffer support.

there are two options here…

  • Use a non-buster debian build (or a version of raspbian before it moved to RaspbianOS) with pygame <= 1.9.x
  • Try to run it with an HDMI Display and try if this works for you, if you need to use RespbianOS

and some thoughts and thinkings of the last days:

If you are able to downgrade RaspbianOS to SDL1 and pygame <=1.9.x this would work as well, i assume. But i dont know if it is possible to remove the new dependencies and only use the old ones… a lot of work for people who are not very familiar with linux bare metal stuff. I will figure something out. there are so many other linux distributions which will work as well as long as you are an older version of pygame and SDL.

@LuxStatera you ran into a second issue. when you start the service and status reports its running. than it is running. when you than start the app again by hand it can‘t open it, cause the output is already been used by the other running app started by the service. if you want to try that out, please disable the service so that it not starts at boot. reboot the pi and than try to start it via cmd-line… but it will run into other errors, if you use a framebuffer-powered display. but it would be a good start to test if it would work with HDMI out. change your config for that output.

since the problem still exists and SDL2 is the problem, i dont know if it makes sense to update this program. i missed a propper information in the Wiki, but i will add one. please have a look in the other issues. you are not the only one right now.

I‘m currently thinking about changing something. maybe pygame is not the right tool, maybe the times of framebuffers are over… last option is to remove all custom build parts and only support HDMI out in the future. the easiest way is that i will use another linux image where you where able to install the needed versions for pygame and SDL. Have to test this a little and I will update all guides accordingly.

until than stay safe and thanks again for contributing feedback :)

Here is what has worked for me based on the advice given above

  • 2020-02-13-raspbian-buster-lite.zip as the OS base (can be downloaded here
  • pygame 1.9.6 (available here)

And some more background information. The above given Raspbian will install pygame 2.x.x per default but one can replace this version 1.9.6 which works. Things to note: that pygame version does work only with python 3.4, 3.5 and 3.7 (See the cpXX in the filename for pygame). Hence, avoid any upgrade to Python 3.8 and newer.

I have tried a few older versions of Raspbian but got problems with the installation of the PiTFT 2.8r (using these instructions ).
The versions listed above worked as expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants