i'd like to play around with pygame but i'd like to use a docker container to do so, but i can't render the pygame window on my host.
I'm working on Windows 10 as host system and I've created a docker container with the image ''python'' (Debian 11);
root@docker-desktop:/home# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
I installed XMing/XLaunch on the host;
I was able to connect the XLaunch/XMing window to the Docker container by setting the env variable DISPLAY=host.docker.internal:0.0 (i can run xcalc just fine, and python applications using tkinter)
from tkinter import *
window=Tk()
# add widgets here
window.title('Hello Python')
window.geometry("300x200+10+20")
window.mainloop()
the previous code works just fine, but when i try to run a python application using the pygame library, like this:
import pygame
pygame.init()
pygame.display.set_mode((200,200))
it gives me this error
root@docker-desktop:/home# python test.py
pygame 2.1.2 (SDL 2.0.16, Python 3.10.2)
Hello from the pygame community. https://www.pygame.org/contribute.html
Fatal Python error: pygame_parachute: (pygame parachute) Segmentation Fault
Python runtime state: initialized
Current thread 0x00007f1296706740 (most recent call first):
File "/home/test.py", line 10 in <module>
Extension modules: pygame.base, pygame.constants, pygame.rect, pygame.rwobject, pygame.surflock, pygame.color, pygame.bufferproxy, pygame.math, pygame.surface, pygame.display, pygame.draw, pygame.event, pygame.imageext, pygame.image, pygame.joystick, pygame.key, pygame.mouse, pygame.time, pygame.mask, pygame.pixelcopy, pygame.transform, pygame.font, pygame.mixer_music, pygame.mixer, pygame.scrap, pygame._freetype (total: 26)
Aborted
i tried some pygame examples from the pygame documentation with the same result, how can i avoid this segmentation fault? or is there another way to have a gui without the use of XLaunch/XMing?
source https://stackoverflow.com/questions/71132221/pycode-segmentation-fault-when-running-from-docker-container-using-xlaunch-xming
Comments
Post a Comment