簡體   English   中英

Kivy 無法在 Raspberry Pi 4 上打開窗口,原因是缺少 x11 服務器,即使窗口提供程序是 SDL2

[英]Kivy can't open a window on Raspberry Pi 4, cites a lack of x11 server even though window provider is SDL2

我一直試圖讓 Kivy 在運行最新版本的 Raspberry OS Bullseye 的 Raspberry Pi 4 上運行。 我從一個干凈的 OS 閃存開始,按照此處鏈接的基本安裝說明進行操作。 我還安裝了它要求我為 RasPi 安裝的所有依賴項,如 鏈接所示,特別是使用 apt-get 在桌面環境中安裝的說明。 當我嘗試運行任何 Kivy 應用程序時,會吐出以下內容,現在窗口打開。

[INFO   ] [Logger      ] Purge log fired. Processing...
[INFO   ] [Logger      ] Purge finished!
[INFO   ] [Factory     ] 189 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored)
[INFO   ] [Window      ] Provider: sdl2
[INFO   ] [GL          ] Using the "OpenGL" graphics system
[INFO   ] [GL          ] Backend used <sdl2>
[INFO   ] [GL          ] OpenGL version <b'2.1 Mesa 20.3.5'>
[INFO   ] [GL          ] OpenGL vendor <b'Broadcom'>
[INFO   ] [GL          ] OpenGL renderer <b'V3D 4.2'>
[INFO   ] [GL          ] OpenGL parsed version: 2, 1
[INFO   ] [GL          ] Shading version <b'1.20'>
[INFO   ] [GL          ] Texture max size <4096>
[INFO   ] [GL          ] Texture max units <16>
[INFO   ] [Window      ] auto add sdl2 input provider
[INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
[INFO   ] [Text        ] Provider: sdl2(['text_pango'] ignored)
Unable to connect to X server
[INFO   ] [ProbeSysfs  ] device match: /dev/input/event4
[INFO   ] [MTD         ] Read event from </dev/input/event4>
[INFO   ] [Base        ] Start application main loop
[INFO   ] [GL          ] NPOT texture support is available
[INFO   ] [MTD         ] </dev/input/event4> range position X is 0 - 4096
[INFO   ] [MTD         ] </dev/input/event4> range position Y is 0 - 4096
[INFO   ] [MTD         ] </dev/input/event4> range touch major is 0 - 4096
[INFO   ] [MTD         ] </dev/input/event4> range touch minor is 0 - 0
[INFO   ] [MTD         ] </dev/input/event4> range pressure is 0 - 255
[INFO   ] [MTD         ] </dev/input/event4> axes invertion: X is 0, Y is 0
[INFO   ] [MTD         ] </dev/input/event4> rotation set to 0

我已經嘗試多次卸載並重新安裝所有相關軟件包,重新刷新 pi OS,按照 “raspberry pi 4 headless installation on raspbian buster”下從源代碼構建 SDL2的說明,但沒有任何效果。我不明白為什么它甚至試圖連接到 X11 服務器,默認情況下不應該使用 sdl2 嗎?我無法運行任何演示應用程序。我在 macOS 和 Windows 機器上的安裝工作正常,pi 無法正常工作一些原因。

我也有同樣的問題,我只能在桌面環境的靶心中運行,並且只能從樹莓屏幕,從 ssh 連接我有相同的錯誤消息。

在其他嘗試中,我從一個公牛的 64 位 whitout 桌面開始,並安裝所有這些依賴項,我不知道所有這些是否都是必需的。

sudo apt update
sudo apt install python3-setuptools git-core python3-dev
sudo apt install pkg-config libgl1-mesa-dev libgles2-mesa-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-0:arm64 gstreamer1.0-alsa libmtdev-dev xclip xsel libjpeg-dev
sudo apt install libfreetype6-dev libgl1-mesa-dev libgles2-mesa-dev libdrm-dev libgbm-dev libudev-dev libasound2-dev liblzma-dev libjpeg-dev libtiff-dev libwebp-dev git build-essential gir1.2-ibus-1.0 libdbus-1-dev libegl1-mesa-dev libibus-1.0-5 libibus-1.0-dev libice-dev libsm-dev libsndio-dev libwayland-bin libwayland-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxss-dev libxt-dev libxv-dev x11proto-randr-dev x11proto-scrnsaver-dev x11proto-video-dev x11proto-xinerama-dev
sudo apt install libsdl2-dev python3-sdl2
sudo apt install xinit
sudo apt install python3-pip git
python3 -m pip install Kivy kivy_examples

然后我運行 xserver whit

startx

這個命令打開了一個帶有白色背景和鼠標光標的小終端,從這個終端我可以運行 kivy 示例。

python3 ~/.local/share/kivy-examples/3Drendering/main.py

對於這種體驗,我認為 kivy 2 與 raspbian Bullseye 64 位兼容,不需要編譯或大量安裝過程,但需要修復此問題以在沒有桌面環境的情況下執行 Xs。

另一種選擇是能夠執行帶有一些參數的python腳本來打開Xs,但我不知道如何或是否可能。

PD:幾年前,我能夠使用 kivy 1 和 python2.7 使其在stretch 和 jessie 上工作,從樹莓屏幕和 ssh 連接執行它並在樹莓屏幕中顯示(官方觸摸屏 7'')。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM