Pygame?
David Culp
New Member Posts: 12 ✭
I got my Up Board up and running with no problems - wow, this thing is FAST. I own a very large number of other Linux based SBC's and this one is amazing so far.
I installed the latest ubilinux image and I am having some problems with Pygame. I have run apt-get update and apt-get dist-upgrade. I installed pygame with "sudo apt-get install python-pygame". However, when running a simple script that plots Sierpinski's triangle the screen simply goes blank. I know this script works as I have run it on a lot of different computers. In fact, it is one of the scripts I use to get my students interested in Python programming.
The script appears below. Any help would be appreciated.
I installed the latest ubilinux image and I am having some problems with Pygame. I have run apt-get update and apt-get dist-upgrade. I installed pygame with "sudo apt-get install python-pygame". However, when running a simple script that plots Sierpinski's triangle the screen simply goes blank. I know this script works as I have run it on a lot of different computers. In fact, it is one of the scripts I use to get my students interested in Python programming.
The script appears below. Any help would be appreciated.
#Simple Python 2 script by David Culp (dwculp@gmail.com) that uses a chaos algorithm to plot Sierpinski's triangle import pygame, random, sys #change these to suit your screen SCREEN_WIDTH = 800 SCREEN_HEIGHT = 600 num_iterations = int(raw_input("How many iterations do you want? ")) pygame.init() screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT)) screen.fill( (0,0,0) ) ax = 0 ay = SCREEN_HEIGHT bx = SCREEN_WIDTH by = SCREEN_HEIGHT cx = SCREEN_WIDTH/2 cy = 0 px = ax py = ay print "Calculating, please wait......\n\n" for n in range(1, num_iterations+1): vx = random.randrange(0,3) if vx == 0: px = (px + ax) / 2 py = (py + ay) / 2 red = 255 green = 0 blue = 0 elif vx == 1: px = (px + bx) / 2 py = (py + by) / 2 red = 0 green = 0 blue = 255 else: px = (px + cx) / 2 py = (py + cy) / 2 red = 0 green = 255 blue = 0 screen.set_at( (px, py), (red,green,blue) ) if n%10000 == 0: sys.stdout.write('.') if n%100000 == 0: print '|'+str(n)+'\n' pygame.display.update() print "\nDone!" while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() if event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: pygame.quit() sys.exit()
Comments
-
Hi daveculp,
Thanks for you feedback about your experience with the UP Board.
About the pygame, could you try to change the resolution to 1920x1080 on the following section?
#change these to suit your screen
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600 -
It doesn't work, the screen still blanks. The actual problem is in the call to pygame.init() which doesn't set a screen resolution, it only initializes pygame.
I will see if I can compile pygame from source this weekend instead of installing it from the repo and see if that fixes it. -
I compiled Pygame from source and installed and I get the same thing - a black screen.
Anyone willing to give pygame a try? Install pygame with:sudo apt-get install python-pygame
Then fire up python and try the following at the python prompt:>>>import pygame >>>pygame.init()
See if the screen blanks. -
i get this.
:~$ python Python 2.7.9 (default, Mar 1 2015, 12:57:24) [GCC 4.9.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import pygame >>> pygame.init() (6, 0) >>>
hope it helps -
Thanks. So no screen blanking then?
I actually get the same output except my screen goes blank and the monitor loses signal. I can then press ESC and blindly type "quit()" into the python command prompt. I get my monitor signal back and the exact same output you have. The return of "(6, 0)" indicates that pygame was able to init 6 subsystems and failed on 0. Although now that I think about it, I wonder if my output was (0,6).
My next steps to figure this out are:
1. Swap in a different monitor. I didn't think pygame.init() actually did anything at all with switching resolution and I know pygame works with some other Linux systems I have with this monitor but you never know.
2. Reinstall Ubilinux.
3. Try Ubuntu -
Without Blanking.
-
Solved.
It was the monitor. I swapped out with a newer model and it works great.