TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Writing GUI applications on the Raspberry Pi without a desktop environment (2019)

206 点作者 raytopia11 个月前

16 条评论

sandreas10 个月前
AvaloniaUI can also utilize framebuffer to run on Raspberry PI, see <a href="https:&#x2F;&#x2F;docs.avaloniaui.net&#x2F;docs&#x2F;guides&#x2F;platforms&#x2F;rpi&#x2F;running-on-raspbian-lite-via-drm" rel="nofollow">https:&#x2F;&#x2F;docs.avaloniaui.net&#x2F;docs&#x2F;guides&#x2F;platforms&#x2F;rpi&#x2F;runnin...</a>
评论 #40891907 未加载
评论 #40892762 未加载
评论 #40890908 未加载
benhoff10 个月前
I&#x27;ve been trying to setup a pipeline of pass through hdmi from an HDMI input to an HDMI output with an OrangePI5 Plus. I could talk for a long time (now) about the issues with vendor supplied kernels and unsupported hardware. I was completely naive until I had the hardware in hand, having not done any embedded work.<p>Right now, the best of breed thought that I have is to run Weston, have a Qt application that is full screen, and to use DMA buffers so I can do some zero copy processing. Rockchip has their own MPP and RGA libraries that are tied into the Mali GPU, and I&#x27;m not smart enough to understand the current level of driver&#x2F;userspace support to not leverage these libraries.<p>Rockchip and the ARM ecosystem is such a mess.<p>If anyone has any pointers, experience, approaches, code, etc, I would love to see it.
评论 #40894234 未加载
评论 #40891130 未加载
评论 #40906962 未加载
评论 #40896748 未加载
评论 #40891996 未加载
demondemidi10 个月前
LVGL is pretty much the IOT industry standard for 32-bit architectures like Renesas RX, Arm Cortex-M, ARC, TI MSP, Atmel...<p><a href="https:&#x2F;&#x2F;lvgl.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;lvgl.io&#x2F;</a>
评论 #40891560 未加载
TrevorFSmith10 个月前
PyGame is also great for scripting quick UIs for the fb. You don&#x27;t want to write big apps in it but for ease of setup and use it&#x27;s sweet.
haddr10 个月前
One problem with Raspberry Pi displays is that not all of them provide vsync signal in SPI mode. That leads to high CPU usage (due to very high frame rate) and its generally inefficient. Choose your display carefully.
adontz10 个月前
I&#x27;ve successfully utilized Qt5 (probably would work with 6 too) for framebuffer&#x2F;OpenGL.<p>QML is nice, animations were much smoother than I expected.
评论 #40891481 未加载
codetrotter10 个月前
The way I did it was to run Weston without any icons or anything and using systemd to start my app and also having systemd reopen my app if it closes. Worked well enough.
评论 #40890259 未加载
leonheld10 个月前
We have a bunch of examples of GUIs that run inside containers (with different backends, frameworks, without compositor etc): <a href="https:&#x2F;&#x2F;github.com&#x2F;toradex&#x2F;vscode-torizon-templates">https:&#x2F;&#x2F;github.com&#x2F;toradex&#x2F;vscode-torizon-templates</a>.
peanball10 个月前
Don’t forget about the Kivy framework. It’s a python framework that renders openGL accelerated UIs, also headlessly on the raspberry pi if needed. <a href="https:&#x2F;&#x2F;kivy.org" rel="nofollow">https:&#x2F;&#x2F;kivy.org</a>
评论 #40891479 未加载
squarefoot10 个月前
Years ago I played with TekUI on a Allwinner A10 board and it worked fine also displaying GUIs on the framebuffer without any underlying X environment.<p><a href="http:&#x2F;&#x2F;tekui.neoscientists.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;tekui.neoscientists.org&#x2F;</a><p>Only caveats: it&#x27;s quite old and doesn&#x27;t seem maintained anymore, although it still compiles fine, and it&#x27;s Lua only, but being written in C it shouldn&#x27;t be too hard to port it to other languages.
kragen10 个月前
conceivably interesting to you if you want to do this: my library yeso <a href="https:&#x2F;&#x2F;gitlab.com&#x2F;kragen&#x2F;bubbleos&#x2F;blob&#x2F;master&#x2F;yeso" rel="nofollow">https:&#x2F;&#x2F;gitlab.com&#x2F;kragen&#x2F;bubbleos&#x2F;blob&#x2F;master&#x2F;yeso</a> supports drawing on the framebuffer or in an x window; for c programs you choose which at link time, but the luajit and python bindings dynamically one shared library or the other according to whether they&#x27;re running under x-windows or not<p>yeso is a very small and simple library, so you have to do more things from scratch than with libraries with more comprehensive functionality, but being able to test your app in a window before running it on the framebuffer could be useful<p>yeso&#x27;s input handling on the linux framebuffer is not as complete as its x-windows handling, but it&#x27;s good enough that yeso programs like .&#x2F;tetris-fb (with wasd) and .&#x2F;mand.lua do work on the framebuffer console. the terminal emulator admu-shell-fb mostly works, but it has the problem that things like control-z or control-c suspend or kill the terminal emulator instead of what you&#x27;re running in it :)<p>(i haven&#x27;t actually tried yeso on the pi, but if it doesn&#x27;t work there i&#x27;ll fix it)
Already__Taken10 个月前
I&#x27;ve really tried a few times to go down this rabbit hole and get something working and this thread has like 7 projects I&#x27;ve never come across before.
masijo10 个月前
Yet another alternative for drawing directly on the framebuffer is DirectFB 2: <a href="https:&#x2F;&#x2F;directfb2.github.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;directfb2.github.io&#x2F;</a><p>It supports Vulkan, OpenGL, Cairo and other technologies.
alias_neo10 个月前
I&#x27;ve been doing some R&amp;D for building a Home Assistant dashboard with a nice touchscreen display I bought to go on the wall at home, with the ultimate goal of expanding it into many home-rolled displays.<p>Having slimmed down the RPi Lite OS as much as I can, running Wayfire with a Chromium kiosk is just too much for the Pi 3B+ I&#x27;m using once I add a streaming camera to the dashboard, and it can&#x27;t cope. My goal is to have a responsive touch-screen display for Home Assistant using something in the form-factor of a Pi Zero 2W, so that I can put the SBC _inside_ the display and build a wooden picture frame to house it all, so it doesn&#x27;t stick out like a sore thumb.<p>I&#x27;m not sure what kind of API HA has for the frontend, but my first thought, was to build a native application with a Go backend (I write Go for my day job) and use something like Wails[0] for the frontend and completely cut out the heavy-weight Chromium browser.<p>I have Pi4&#x27;s and Pi5&#x27;s but I really want to use the littlest amount of compute (and power) I can to achieve this, even it means writing the UI myself. I&#x27;ve tried looking for a lighter-weight browser that I can simply run the HA dashboard in to no avail.<p>[0]<a href="https:&#x2F;&#x2F;wails.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;wails.io&#x2F;</a>
评论 #40892446 未加载
评论 #40899065 未加载
tetris1110 个月前
MPV can play videos direct to the FB, with hardware acceleration too
ddingus10 个月前
I like this write up. It is timely too.