2012-07-25 62 views
5

我买了一个Raspberry Pi,具有300Mhz的CPU,但它确实有一个相当不错的GPU。它甚至可以运行XBMC。我想为它编写一个图形用户界面,它需要响应和好看,同时最好地利用可用的硬件(这不太好,不幸的是..)。 Raspberry Pi最低限度运行Debian,并且我已经将X Windowing System放在它上面,其余部分由我来编写。最好的轻量级,响应式GUI框架Linux

什么是最好的方式来潜入此?我已经研究过HTML5和jQuery(通过Python和PyWebkit),但它们似乎CPU密集度太高(除非有人知道如何让Py(PyKit)使用GPU而不是CPU)。

为避免混淆,该系统将与电视机等相连接,并将主要针对家庭娱乐。我不希望这是一个桌面或类似桌面的系统,我只是想知道你们认为在Raspberry Pi盒子上能够顺利运行,这样我就可以在该框架上编程我的UI。

+0

当你说“轻量级”和“X11”时,我第一次偶然发现。这两种相互矛盾:-) – 2012-07-25 13:15:09

+0

X11 API,GTK,QT/Qtopia,WxWidgets?另请参见 - http://www.linuxjournal.com/article/9403 – 2012-07-25 13:15:36

+0

我确实已经研究过Qt,但我不太了解所有这些(动画,高分辨率图像等)。谢谢你的链接。亚伦,你推荐什么,而不是X11?我一直在进行改进:)​​ – Robbietjuh 2012-07-25 13:20:50

回答

5

在动力不足的硬件(litl.com)上完成了一个自定义的非桌面用户界面,并且在GTK和Clutter上都遭到了黑客攻击,我稍微重构了这个问题。

主要问题是你必须使用GPU而不是“轻量级” - 通常当某些东西说它是轻量级的时候,意味着它没有很多功能或者其他东西。太模糊的一个词。关键是GPU。

关于使用GPU的难点在于工作驱动程序。我不知道树莓派在这里聚焦的是什么。对于ARM来说,获得工作驱动程序的最可靠方法可能是使用Android;也许不是股票的Android用户界面,但他们的驱动程序和基本框架,然后取代用户界面。

X11驱动程序(如果它们存在的话)通常在ARM上被破坏。这是X的真正问题,而不是轻量级与重量级。破碎,我的意思是说,司机可能会启动并运行一个桌面,但在重要情况下速度很慢,或者像硬件视频解码那样丢失。

简短回答:使用框架(和窗口系统)和支持您需要的功能的最佳3D驱动程序,如视频解码。再次,我没有看过树莓派,但我敢打赌,只有一两个选择符合这个标准。

+0

谢谢你的建议。这正是我需要的那种答案:) – Robbietjuh 2012-08-01 21:22:11

0

如果您自己编写GUI,那么“好看”取决于您的设计技能。没有你的帮助,没有任何UI框架可以创建“好看”的用户界面。

而我真的不能在一顶帽子下获得“X11”和“轻量级”。如果你真的需要一些不会妨碍你的事情,那么看一下像SDL这样的游戏框架。

如果您希望为您完成大部分工作,那么您就有付出的代价,而且价格以绩效形式出现。在这种情况下,我建议X11 + Qt。 Qt并不是那里最轻量级的UI框架,但它是大多数人生产效率最高的一个,它真的很努力使硬件更好。

+0

我打算自己设计一切,这是一种业余爱好项目,所以我有足够的时间为它:)我会看看SDL,问题基本上是有一个很多GUI系统和框架在那里,所以我想你们可以帮我一下,最好用于这个目的:-)再次感谢 – Robbietjuh 2012-07-25 13:24:37

0

取决于你实际需要的UI。

如果你想插上显示器,并有丰富的UI - X11 + LXDE也许是最轻的组合(或稍重的Xfce) - 你有标准桌面

如果要远程访问为特定的任务 - 可能一个Apache/PHP的网站将为你工作。

如果您想创建ya-window-manager但没有X-SDL可能会这样做。但它将只运行你的UI应用程序,因为非标准的WM。

+0

我不希望它是一个类似桌面的系统,因为你似乎建议。我想从头开始做GUI,但我需要一个框架来构建。系统(和GUI)将被用于起居室,电视机等。它需要轻量,所以它可以在Raspberry Pi上流畅运行。 – Robbietjuh 2012-07-25 13:28:54

+0

因此,您要使用设备中的视频吗?那么可能SDL与帧缓冲输出和所有的自定义应用程序是你的选择。 – durilka 2012-07-25 13:33:05