December 14, 2005

Xynth Window System

在 LinuxDevices.com 看到 [Lightweight windowing system supports embedded Linux] 這則新聞,很興奮的把 [Xynth Window System] 抓下來玩。我用的版本是 xynth-0.7.91,發現 SDL video driver 有 memory allocation 的問題,動手 [做了個 patch 修正],並且改了 shm 管理的方式,應該會在下個釋出版本出現。引用豆神在 [XD Programming by PCMan] 提到的這句話:
    『不能用? 就把程式碼拿來, 改一改, patch一下就好啦~』
在 X11/SDL 運作 Xynth Window System 的畫面如下:
不過要注意的是,在 SDL video server 運作的情況還不是很理想,我已經發現幾個 null pointer 的現象,可能還要再花點時間追。

Xynth 採用典型的 client-server 架構,並且將可攜性列為重要考量,軟體架構圖如下:
幾個重要特徵如下:
  • Clients can be configured to use "double buffer rendering" to avoid flicker that could result from direct access to the video memory
  • Thread-safe source code, server API, client library, and widget set, for customizability and reliability
  • Polling Input device driver structure supports PS2, IMPS2, and USB mice and console keyboards, and supports custom device drivers as plugins
  • Output driver system includes drivers for svgalib and Linux frame buffer, and any output driver can be easily used for video memory buffer
  • Supports SysV IPC (inter-process communication)
  • Minimal set of window management features built-in, to reduce footprint
授權方式為 GNU GPL,也移植到 SONY PSP 裝置上,很值得關注的計畫。 由 jserv 發表於 December 14, 2005 01:20 PM
迴響

www.y-windows.org
another funny window system.

jacky 發表於 December 14, 2005 02:44 PM

http://www.y-windows.org/pipermail/y-devel/2005-October/001973.html

I have been working on integrating cairo drawing into Y. I have cairo
drawing now, and I added it as a dependancy to the build script (cairo
version >= 1.0).

you guys can check it out by:

$ tla register-archive http://www.dustinnorlander.com/arch/
$ tla get dustinn at gmail.com--2005/Y--dustin

I haven't bothered changing all the drawing yet, so it looks pretty
childish, heh.. I want to start in on the theme engine, so I'll just
update the drawing routines as i go.

For now the cairo_t is a member of the Painter struct. And I have
just made the PixelBuffer and the cairo image buffer share the same
memory.. I think I will end up doing away with the PixelBuffer stuff
in faver of using cairo Buffers (The Y Buffer arrangement will remain
the same just that the PixelBuffer implementation will go away).

http://www.dustinnorlander.com/Y/ywiki/index.php?title=Recent_Changes
-Dustin

jacky 發表於 December 14, 2005 02:46 PM

hi jserv
Xynth 可以直接在linux framebuffer上跑嘛? 我看了下源码 没有发现和FB有关的东西呀...
如果可以跑 该怎么做呢? 谢谢..

woody 發表於 January 9, 2006 05:56 PM

To woody,

請參考 src/server/video/fb 目錄,並且文件的確有提到如何配置不同 video server/backend。

jserv 發表於 January 9, 2006 07:25 PM

我尝试用VPC,结果真的启动了0.80版本带的LINUX ISO文件,SDL和终端(busybox shell)能成功运行了,但开始菜单却一片空白,这个程序应该是在跑vesa目录下的东西吧.

easion 發表於 February 28, 2006 11:43 AM