Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 4417

Python • Python code that works on my Pi2 won't work on my Pi5

$
0
0
So I was using a Pi 2 to run this code allowing me to run pygame from the terminal without starting the desktop

Code:

import osimport pygameimport timeclass pyscope:    screen = None;    def __init__(self):        "Ininitializes a new pygame screen using the framebuffer"        # Based on "Python GUI in Linux frame buffer"        # http://www.karoltomala.com/blog/?p=679        # Allow running from ssh        os.putenv("DISPLAY", ":0")        disp_no = os.getenv("DISPLAY")        if disp_no:            print("I'm running under X display = {0}".format(disp_no))        # Check which frame buffer drivers are available        # Start with fbcon since directfb hangs with composite output        drivers = ['x11', 'fbcon', 'directfb', 'svgalib']        found = False        for driver in drivers:            # Make sure that SDL_VIDEODRIVER is set            if not os.getenv('SDL_VIDEODRIVER'):                os.putenv('SDL_VIDEODRIVER', driver)            try:                pygame.display.init()            except pygame.error:                print("Driver: {0} failed.".format(driver))                continue            found = True            break        if not found:            raise Exception('No suitable video driver found!')        size = (pygame.display.Info().current_w, pygame.display.Info().current_h)        print("Framebuffer size: %d x %d" % (size[0], size[1]))        self.screen = pygame.display.set_mode(size, pygame.FULLSCREEN)        # Clear the screen to start        self.screen.fill((0, 0, 0))        # Initialise font support        pygame.font.init()        # Render the screen        pygame.display.update()    def __del__(self):        "Destructor to make sure pygame shuts down, etc."    def test(self):        # Fill the screen with red (255, 0, 0)        red = (255, 0, 0)        self.screen.fill(red)        # Update the display        pygame.display.update()# Create an instance of the PyScope classscope = pyscope()scope.test()time.sleep(10)
it is from adafruit: https://learn.adafruit.com/pi-video-out ... ramebuffer and it works perfectly on my Pi2 but will not work on my new pi 5. all I can think is i'm missing some library or config, I have been at this for a few hours and still have no better idea, can anyone help?

Statistics: Posted by radcom123 — Sun Apr 14, 2024 9:32 pm — Replies 3 — Views 88



Viewing all articles
Browse latest Browse all 4417

Trending Articles