【问题标题】:Starting a graphical application using sfml on Raspberry Pi boot在 Raspberry Pi 启动时使用 sfml 启动图形应用程序
【发布时间】:2015-04-14 05:53:15
【问题描述】:

我想在 Raspberry Pi2 上使用 SFML 为自制程序制作图形界面。我正在使用 Raspbian。我重新编译了图形库

首先取消startx,然后使用我的应用程序,它工作得很好。

但我不知道是否有可能或者如何在启动后直接启动我的应用程序而不启动 startx(只是为了优化 Raspberry 的 cpu)。

启动后直接启动我的程序,我收到以下错误:

Failed to open X11 display: make sure the DISPLAY environnement variable is set correctly.
Aborted.

我已经测试了经典的export DISPLAY=:0.0,但没有成功。 我对 x 和 xinit 很感兴趣,但我不确定这是否能做到。

我应该从哪里开始寻找?我不需要一个完整的解决方案,即使是一个提示或一个想法也很好!

【问题讨论】:

  • 这并不是严格意义上的编程,所以可能更适合Super UserUnix & Linux
  • 在没有 X 服务器的情况下使 sfml 工作将是一项严肃的工作。您需要编写一个显示驱动程序,也许是一些fb(直接帧缓冲区)样式。并修改 sfml 以使用它,而不是在窗口初始化期间使用 X 的 API。即使对于专家来说,这也是疯狂的工作。

标签: arm raspberry-pi sfml raspbian


【解决方案1】:

我检查了是否可以使用open a graphical app without the X desktop environment,正如该答案所述,至少对于 Firefox,您需要 X 服务器,SFML 也可能需要它来创建窗口。

答案是:

基本上是这样的:

$ X

然后你只需在这个 X 服务器中启动 Firefox:

$ DISPLAY=:0 firefox

您可以通过使用从 X 服务器和帧缓冲区切换 CTRL+ALT+F1 和 CTRL+ALT+F7。

你可以试试看是否有帮助。

另外,我还在搜索,我发现了一个forum post on the sfml website,关于你想要完成的事情,在某处说明:

SFML 需要 OpenGL,据我所知,您至少需要运行 X, 但您可能不需要 gnome、KDE ​​或类似的桌面 环境优先。

在有人发布xinitrc 的链接后,寻求帮助的论坛人似乎设法让 X11 和 SFML 基本渲染窗口在 Ubuntu 服务器上工作。我想,这就是从这里出发的路线。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-30
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 2020-10-10
    • 1970-01-01
    • 2015-08-11
    • 2014-03-02
    相关资源
    最近更新 更多