@Xjserv各位好,在下是 Jim Huang <jserv @ kaffe.org>,有幸能在這裡與各位朋友
@Xjserv分享一些經驗。為了整體的流暢性,請在小弟打出 "Questions?" 後再行發問
@Xjserv,謝謝!當然啦,小弟只是與各位分享,並不是什麼權威,所以很可能無法招
@Xjserv架,但沒關係,請多討論,說不定在眾人腦力激盪、合力找資料與分析下,說
@Xjserv不定很快就可以釐清問題。
@chihchunjserv 加持大典正式開始
-!- fox_web [~daa886bd@chat.ircnet.org] has joined #debian.tw
-!- cp76 [cp76@alumni.csie.nctu.edu.tw] has joined #debian.tw
@Xjserv沒問題吧? :)
@Xjserv先感謝各位朋友抽空共襄盛舉,再來要感謝神奇的網路把物理距離遙遠的我
@Xjserv們,能夠透過 IRC 作即時的交流,扯了這麼多,似乎與本次主題 X Window
@XjservSystem / FreeDesktop.org 似乎無直接關連?不,事實上是息息相關的,可以
@Xjserv這麼說:「X 本身就是網路技術極佳的表現」。X Window System 是個相當複
@Xjserv雜的議題,小弟陸續整理過去發表的文件,將會集結成書 (書名暫訂《揭開 X
@XjservWindow 神秘面紗》),而今天的重點在於闡述 FreeDesktop.org 主導下,X
@Xjserv種種巨大的變革。對了,因為這些議題非常的複雜,進行介紹的速度上會比較
@Xjserv快,如果覺得無法接受的朋友,請立即提出。此外,本次的 IRC Conference
@Xjserv還有另一個正面的意義,各位的 feedback 與 questions 都將會是小弟新書
@Xjserv裡頭著墨之處,所以如果覺得意猶未竟,可私下與我聯繫,或者成為共同作者
@Xjserv,那更是歡迎。互動是很重要的,否則直接集結成冊,然後與各位推銷,不是
@Xjserv更好?那樣,我就不知道諸位的接受程度,也很難反應真正價值之處。若本次
@XjservIRC Conf 成功的話,說不定有機會可以繼續類似的主題作更深入的分享 :)
@Xjserv-----------------------------------------------------------------------
@Xjserv  Copright (c) 2004 Jim Huang and Debian@Taiwan IRC Conference
@Xjserv                    Attendants. All rights reserved.
@Xjserv  Permitted to redistribute the following IRC log content with
@Xjserv  authors' information (nickname, date, or something identified)
@Xjserv  without modifications.
@Xjserv  For advanced usage (such as COMMERCIAL purpose and publish),
@Xjserv  you MUST contact the original author(s).
@Xjserv-----------------------------------------------------------------------
-!- Spod [~3dd9c2e6@chat.ircnet.org] has joined #debian.tw
-!- fox_fox [~fox@218-168-134-189.dynamic.hinet.net] has joined #debian.tw
@Xjserv稍微介紹 X Window System 的歷史,1984 年 MIT 在 DEC 的資助下進行了
@XjservAthena 計畫,這就是 X Window System 的前身 (授權方式:MIT X License)
@Xjserv,所以呢,屈指一算,已經二十個年頭。需要留意的是 1987 年 X 第 11 版
@Xjserv(請記住這個版本與年代,這是 X Window 一個重要的里程碑,爾後 X 則固定
@Xjserv為此 major release,也稱為 X11) 釋出,隔年在業界的資助下,成立 X
@XjservConsortium,很不幸的,1996 年 X Consortium 釋出 X11R6.3 (此處的 "R"
@Xjserv表示 Release) 之後就解散了 (請記住這點,X 相關的組織主導權時有變動),
@Xjserv而由 OSF (Open Software Foundation) 接手,在 1998 年 OSF 釋出 X11R6.4
@Xjserv時曾經修改過授權條款,但是受到反彈後,改回原本的授權方式。對了,因為
@XjservUnix 大廠的興衰與成員異動,OSF 後來轉型為 The Open Group,主導許多標
@Xjserv準的制訂過程。(請將規格與實作兩者分清楚)
@Xjserv-----------------------------------------------------------------------
@XjservFree86 又是怎麼回事呢?簡單來說,名稱源自"X11R6 for i386 Unix",該
@Xjserv專案啟動時,恰好與 Linux Kernel 在同一個時間,很重要的一點,這是跨越
@Xjserv多種硬體平台的 Open Source 實作。(歷史故事請自行參閱 www.XFree86.org)
@XjservQuestions?
@Xjserv可以繼續嗎? :)
chinianPlease.
keelcontinue ;
@Xjservok.
@Xjserv請各位用 Web Browser 打開以下網址: (等待 30 秒讓各位操作)
@Xjservhttp://gallery.debian.org.tw/2004-10-21
@Xjserv上述枯燥的歷史淵源,有點概念就好,後面的部分才是重點 :)
@Xjserv可以繼續嗎? :)
-!- PowerOp [d2f1c9f0@webchat.xs4all.nl] has quit ["[http://webchat.xs4all.nl] (EOF)"]
rabitok!
@Xjserv-----------------------------------------------------------------------
@Xjserv小弟用幾張示意圖介紹 X 的規範,圖(1) 表示 X 設計最初的應用就是運算資
@Xjserv源侷限的 X Terminal,大部分的運算在 server 端處理,然後將畫面回傳,
@Xjserv圖(2) 則是巨觀的看 X Window System 的 Client-Server 架構,需要注意的
@Xjserv是,X 設計當初就把網路連接列入考量,爾後更跨越 Ethernet 的限制。圖(3)
@Xjserv相當有意思,基於網路通透性 (network transparency) 的考量,我們可以試
@Xjserv著將 X Window 與其說是 GUI 系統 (如右邊的傳統圖形系統),還不如說是
@XjservClient-Server 系統 (如左邊的關連性資料庫),這個觀念很重要。圖(4) 顯示
@XjservX 的精髓,也就是 X Protocol,請記住這點「X Protocol 直接反應規格,是
@XjservX Window System 的核心,至於 xlib 只是一種實作需求」(後面會提到如何將
@XjservXlib 徹底推翻)。圖(5) 闡述 X Connectivity,需要注意的是,X server 是
@Xjserv處於具有實體 Display/Input-Output devices 之處,X cliens 則可以在本機
@Xjserv上,也可以處於遠端某台機器上,但是 X 的架構就是允許你不需更動的前提下
@Xjserv使用這些資源,這也是網路通透性的意義。圖(6) 是 Xlib 運作模式,許多 X
@Xjservclient 依據 xlib 進行撰寫與設計,透過 xlib 對 X server 作 X Protocol
@Xjserv的處理,進而展現於使用者之前。請記住,xlib 只是實作需求,事實上,只要
@Xjserv透過 socket programming,就可以直接對 X protocol 作處理,所以 pure
@XjservJava application 可以在不需要使用 xlib 的前提下建立 Window、Display、
@XjservCursor、Font、...,像 Sun Microsystems 的 Project Looking Glass 有個
@Xjserv子系統就是用 Java 撰寫,與底層的 X server (based on Xorg) 溝通。先提
@Xjserv到這裡,可以繼續參考小弟的簡報:
@Xjservhttp://jserv.sayya.org/freedesktop/
@XjservQuestions?
@Xjserv-----------------------------------------------------------------------
keelX client 沒有 I/O 的東西嗎?
@Xjserv補充一下,xlib 雖然是標準規格,但事實上可以直接跳過這層,對 Protocol 直接處理
@Xjservkeel: X 事實上有定義 I/O 處理
keelI/O device...
@Xjservkeel: Protocol 中 Device-Dependent 的部分就是
keelthx. continue ; ^^
@Xjserv比方說 FreeDesktop.org 有個 XCB / XCL 的專案
kanru所以說要寫視窗程式可以完全不用碰到 xlib 囉?
@Xjserv就是直接提供 C Binding 來處理 X protocol
@Xjservkanru: 是的,Sun Project Looking Glass 有自己的 Window Manager
@Xjservkanru: pure Java :)
-!- sam____sa [~sam____sa@221.169.25.179] has joined #debian.tw
kanruok.. i c
@Xjservkanru: 就是直接用 Java socket programming 來「讀寫」 protocol
@Xjserv-----------------------------------------------------------------------
@Xjserv技術面提多了,咱們來聽些「八卦」故事 (也是事實啦)。X Window System
@Xjserv本身是相當富有歷史價值的設計,並且是工業標準,然而規格的主導權與更
@Xjserv新卻時有爭議,在實作面來說,更是如此。引領許多平台的 X11 實作的
@XjservXFree86 Core Team 面對許多創新的改革,逐漸顯得牛步化,儘管 XFree86
@Xjserv4.x release 是重大的進展,也徹底翻修過去 3.x release 許多綁手綁腳的
@Xjserv設計,但是這樣的開發態度則讓人不免有些失落。XFree86 core team member
@Xjserv之一的 Keith Packard (以下簡稱 keithp) 提出許多精湛的改革,比方說針
@Xjserv對 Embedded System 需求,將 XFree86 4.x codebase 作簡化,並提出精簡
@Xjserv的硬體加速機制,提出 TinyX (KDrive) 的嶄新設計,間接造就許多 Embedded
@XjservLinux 的蓬勃發展,剎時,Linux-powered PDA, Set-Top Box, Digital TV,
@Xjserv... 等應用真如雨後春筍冒出。X 過去字型處理不僅變化少,格式也複雜,更
@Xjserv慘的是多國語文支援很糟,而 keithp 大膽提出 server-side fonts 的機制,
@Xjserv造就 Xft/Fontconfig (後面會細談)、... (keithp 的豐功偉業實在太多,先
@Xjserv跳過)。但是 keithp 種種大刀闊斧的行為逐漸與其他 core team members 在
@Xjserv觀念上有了極大的落差,於是 XFree86 team 議決後,開除 keithp 的 member
@Xjserv資格 (過去 keithp 在 SuSE 任職)。這下可好,改革派變成激進的革命份子,
@Xjserv許多支持改革的開發者逐漸聲援 keithp,爾後,keithp 在 HP 資助下,在 HP
@Xjserv在劍橋的實驗室繼續他的理想,這裡是臥虎藏龍之處,原本就有 Jim Getty
@Xjserv(以下簡稱 jg) 等重量級前輩主持實驗室眾多改革,現在 HP 力挺 Keithp 之
@Xjserv後,果真造就更多變化... (賣關子)
@XjservQuestions?
@Xjserv可以繼續嗎? :)
keelkeithp 是哪國人?
@Xjservkeel: 好問題,不知道
@chihchunkeithp++ # 受惠良多
* Xjserv 記錄下來
_benny_英國? :p
-!- chinian [~chinian@gate.noc.ttn.net] has quit ["Leaving"]
@Xjserv所以搞 Embedded System 的人要「吃果子拜樹頭」,膜拜 keithp 一下 :p
@Xjserv-----------------------------------------------------------------------
@Xjserv提到 FreeDesktop.org 之前,我們必須回頭看 KDE 與 GNOME 的歷史。
@Xjserv把時間拉回八年前,勇敢並具有過人活力的 Matthias Ettrich 發起 KDE 計畫
@Xjserv(對耶,KDE 八歲了,AceLan 怎麼沒有舉辦 KDE@Taiwan 的紀念活動阿?),挑
@Xjserv戰不自由的 CDE (Common Desktop Environment,是 The Open Group 欽定的業
@Xjserv界標準) ,開創 Linux/UNIX Desktop 的新局面,也影響爾後的 GNOME 計畫的
@Xjserv出現。在分類的角度來看 KDE 與 GNOME,歸類於所謂的 Desktop Environment
@Xjserv(以下簡稱 DE),我們來看看比較學術性的定義。手上比較權威的定義是取自
@XjservDr. Bert G. Wachsmuth 的看法:
@Xjserv  Desktop environments are both a control framework and an interaction
@Xjserv  framework for programs that run on X Windows and the user. The desktop
@Xjserv  environment often includes a window manager that is specifically
@Xjserv  required by the desktop environment. It is an interaction framework
@Xjserv  because it provides a means for programs to communicate with one
@Xjserv  another in a very high-level way. The desktop environment is an
@Xjserv  optional component, since many window managers offer sufficient
@Xjserv  functionality to negate it as a requirement, but in order to make
@Xjserv  more advanced features available, a desktop environment is required.
@Xjserv所以,我們可以發現 DE 有兩大要素:
@Xjserv  (1) 具備一個可控制的 Framework (軟體工程名詞,簡單來說,就是構成一個完整
@Xjserv      系統必要的框架)
@Xjserv  (2) 周遊於使用者與應用程式之間互動的 Framework
@Xjserv在小弟的簡報 <Linux Desktop 的現況與未來> 則試圖去作個概略性的介紹。
@XjservQuestions?
@Xjserv補充一下,OpenStep API 最近滿十歲
-!- huki [~huki@220-134-112-14.HINET-IP.hinet.net] has joined #debian.tw
keelcde 是用 motif … 對吧!
@Xjservkeel: 是的
@Xjserv-----------------------------------------------------------------------
@Xjserv既然提到 CDE,順便提一下與 The Open Group 的關連性。
@Xjserv整合許多 UNIX 規格的 The Open Group 以前欽定的 widget sets 稱為 Motif,
@Xjserv所以也稱為 OSF/Motif,這是 CDE (Common Desktop Environment) 的基礎,在
@XjservSun、IBM,或者 HP 的工作站看到 GUI 系統很多就是提供 CDE。很不幸的,這
@Xjserv通常是搭配高價的 UNIX 系統,於是有一群高手發起 Lesstif 的專案,以 LGPL
@Xjserv授權重新實做 Motif 規格。
@Xjserv  http://www.lesstif.org/
@Xjserv                                                                                
@Xjserv後來,OpenGroup 也把 Motif 重新組織,並放出 source,也就是 OpenMotif,
@Xjserv授權方式是 IPL 1.0 with exception (只能在 Open Source'd OS 上運作)。
@Xjserv  http://www.opengroup.org/openmotif/
@XjservQuestions?
-!- huki [~huki@220-134-112-14.HINET-IP.hinet.net] has quit ["Leaving"]
-!- Chinian [~chinian@gate.noc.ttn.net] has joined #debian.tw
-!- huki [~huki@220-134-112-14.HINET-IP.hinet.net] has joined #debian.tw
@Xjserv繼續? :)
_benny_sure
kanru請繼續 :p
-!- huki [~huki@220-134-112-14.HINET-IP.hinet.net] has quit ["Leaving"]
@Xjserv-----------------------------------------------------------------------
fox_webgo
@Xjserv過去 KDE/Qt 存有一些授權的問題,也因為在理念上的差異性,另一組人馬則展開
@XjservGNOME 的發展。在生物學上,有個有趣的現象稱為「趨同演化」,意思就是說原本
@Xjserv源自不同物源的兩種生物類別,因為類似的需求,發生相近甚至一致的演化現象,
@Xjserv比方說人類的雙睛就跟章魚的眼睛,在架構與功能性有極高的相似性,這很能說明
@XjservKDE 與 GNOME 兩大陣營的發展。但是,需要注意的是,兩者在理念上有很大的落差
@Xjserv,比方說 KDE 1.9 (KDE 2 釋出前徹底對 KDE 1.x 翻修的發展版本) 願意為了桌面
@Xjserv系統的整合度,將過去 KDE 1.x 的系統架構全盤捨棄,提出許多延續至今的革命性
@Xjserv架構,如 KParts、DCop、XML-GUI、... 等,詳情請參閱小弟的譯作 <KDE 元件技
@Xjserv術>:
@Xjserv  http://phil.freehackers.org/kde/kpart-techno/zh_TW_kpart-techno.html
@Xjserv總之,我們可以把 KDE 視為德國工業品質的驕傲以及軟體工程在 Open Source
@XjservCommunity 的落實與典範,兼顧理想與實務面,這是相當難得的。然而,在另一方
@Xjserv面,GNOME 則傾向整合現有資源,比方說在桌面元件技術 (Component Technology)
@Xjserv來說,不去學習 KDE Developers 從零到有的建立一套 KParts 與 DCOP 的機制,
@Xjserv而是採用分散式運算的標準 CORBA 進行擴充,GNOME 採用 mico 這個 Open Source
@Xjserv實作 (按:KDE Developers 也曾經試著使用 CORBA,但是後來發現真正用到的部分
@Xjserv只是一部份,又無法掌握全部軟體的品質,所以毅然發展自己的規格出來,至於實驗
@XjservCORBA 的痕跡,可以在 KDE 的 CVS tree 找到),而在 GNOME 計畫出現前,就已經
@Xjserv有堪用的 AbiWord 等應用程式,GNOME 試著整合起來,包裝成 GNOME Office suite
@Xjserv,而,KDE 則堅持高度的整合度,寧願重頭開發 KOffice,運用剛剛提及 KDE 的核心
@Xjserv技術... 儘管彼此理念有相當程度的差異,但是這兩大陣營都獲得資助,成立各自的
@XjservFoundation,確保能夠永續經營,也在使用者感受有越來越接近的發展。
@XjservQuestions?
@Xjserv補充一下,可以閱讀莊明哲前輩撰寫的 <KDE 2 技術開發>,非常深入的介紹 KDE 卓越技術
@XjservGNOME 發起人是 Migual de Icaza,墨西哥人  vs. KDE 發起人 Matthias Ettrich
@Xjserv墨西哥戰車 vs. 德國車?
* Xjserv 試圖講笑話讓本 channel 熱起來 :(
@timhsu莊明哲前輩撰寫的 <KDE 2技術開發> 是書?
* chihchun 笑
@Xjservtimhsu: 是的,舊書攤應該會有
* keel jserv++
fox_web哈哈
-!- huki [~huki@220-134-112-14.HINET-IP.hinet.net] has joined #debian.tw
@timhsu慘 竟不知有這本中文書
@Xjserv好的,繼續
@Xjserv--------------------------------------------------------------------
@Xjserv好,重點來了,難道 Open Source Desktop 就被分散兩個陣營,各自發展嗎?
@XjservX Window System 本身就制訂相當多規格與延伸 (extensions),對 KDE 與 GNOME
@Xjserv有很大的影響力,比方說 ICCCM (Inter-Client Communication Conventions Manual)
@Xjserv對於 Window Manager 有許多規範與做出跨越 X client 間通信的機制,然而,就真
@Xjserv正 Desktop 的應用來說,還是不敷使用。於是,早期 KDE 與 GNOME 都試圖增加自己
@Xjserv的 extensions 與特定的 spec,以便克服更多的 DE 需求。在 2000 年三月份,部分
@Xjserv的 KDE Developers 與 GNOME Developers 打破僵局,發起 FreeDeskop.org (以下簡
@Xjserv稱 fd.o) 這個組織,專注於 Desktop Environment 標準化與效能提升,這是很值得
@Xjserv紀念的里程碑。參考: http://www.freedesktop.org/
@Xjserv  按:小弟整理的 KDE News (今年一月份),可參考:
@Xjserv    http://jserv.sayya.org/wiki/index.php/KDENews2004-01
@Xjserv反觀台灣,2000 年的 Web BBS 與 news group 似乎瀰漫濃濃的火藥味,一堆無謂的
@Xjserv口水戰在爭「KDE 與 GNOME 熟優熟劣?」,是不是很沒意義呢? :)
@Xjservfd.o 被賦予的使命越來越重大,也有許多開發者投入,也包含前述被逐出 XFree86
@XjservCore Team 的 keithp 與 X Window System 的改革份子。這種凝聚的力量是很偉大的
@Xjserv,fd.o 整合許多實驗性嶄新架構並制訂新規格:
@Xjserv  . ICCCM / EWMH
@Xjserv  . Fontconfig / Xft
@Xjserv  . Clipboard / Drag-n-Drop
@Xjserv  . XEMBED protocol
@Xjserv  . Thumbnail / preview
@Xjserv  . Menu system
@Xjserv  . Message bus IPC system (D-Bus)
@Xjserv  . Icon themes
@Xjserv  . Start notification
@Xjserv  . Experimental X Extensions
@Xjserv簡單來說 "FreeDesktop Platform = Desktop Platform",也因此明確的有以下兩個訴求:
@Xjserv  . Shared by KDE / GNOME / others
@Xjserv  . ABI/API compatibility
@XjservQuestions?
keelfreedesktop 會改 x spec嗎?
keel因為提到 ICCCM
-!- huki [~huki@220-134-112-14.HINET-IP.hinet.net] has quit ["Leaving"]
keel還是跟 x.org 有 co-work?
-!- xinyi [~cba0ecd6@chat.ircnet.org] has joined #debian.tw
@Xjserv補充一下所謂「KDE與GNOME的extension」,像我們每個 X client 左上方的小圖示,就是 KDE 與 GNOME 定義的規格,原本的設計根本沒辦法處理
@Xjservkeel: 後面會解釋 :)
-!- Chinian [~chinian@gate.noc.ttn.net] has left #debian.tw []
@Xjservkeel: 這樣說好了,FreeDesktop.org 必須提出解決現有 Desktop Environment 問題的規格
@Xjserv而 X.org 本身必須具備足夠的權威性
-!- ShivaHuan [~Shiva_Hua@61-70-144-38.adsl.static.giga.net.tw] has joined #debian.tw
@Xjservkeel: 就算有實作,成為標準又是相當大的功夫
-!- lsk2 [~8c7dc39b@chat.ircnet.org] has joined #debian.tw
-!- ShivaHua1 [~shiva@61-70-144-38.adsl.static.giga.net.tw] has joined #debian.tw
-!- ShivaHuan [~Shiva_Hua@61-70-144-38.adsl.static.giga.net.tw] has quit ["ChatZilla 0.9.52B [Mozilla rv:1.6/20040115]"]
-!- ccpz [~ccpz.cis9@adserv.cis.nctu.edu.tw] has joined #debian.tw
@Xjserv可以繼續嗎?
keelyes ^^
@Xjserv下面的部分是重點
@Xjserv可能會停頓一段時間 :)
ccpz趕上了 o_O
@Xjservccpz++
@Xjserv--------------------------------------------------------------------
@Xjserv接下來我們來談談 Xorg 與 FreeDesktop.org 的崛起。
@XjservXFree86 Core Team 領導人 David Dawes (以下簡稱 David) 在 2004-01-05 在內部決議
@Xjserv,解散 XFree86 Core Team,但是還是維持 XFree86.org 組織的獨立運作。David 表示
@Xjserv許多 Core Team 成員已經陸續離開,倘若沒有重新組織,就難以發展,正所謂「幻滅是成
@Xjserv長的開始」。這個時間點非常微妙,X.org 恰好重新組織,將 XFree86 視為其 Reference
@XjservImplementation (以下簡稱 RI),為此,XFree86.org 還特別發出聲明稿,說 XFree86.org
@Xjserv與 X.org 並沒有合併。對了,這時候要提到 X-Oz (http://www.x-oz.com/ 不要看成
@XjservX-orz 了唷),這是 David 創辦的公司 (David 擔任 CTO),專注於 XFree86 技術的商業
@Xjserv應用,詳情可參考: http://www.x-oz.com/us.html
@Xjserv2004-01-29,XFree86 Project 更對軟件授權方面作出修改,更改的授權將於 4.4.0 RC3
@Xjserv開始生效,所有使用 The XFree86 Project, Inc. Copyrights 字眼的軟件內容都會受到
@Xjserv更改授權的影響,使用其他字眼的則不受此影響之內。但就因為此更改的問題,恐仿會對
@Xjserv軟件內使用有關字眼作授權的部份造成與 GPL 本身授權不相容的影響。
@Xjserv--------------------------------------------------------------------
@Xjserv以上大概是許多耳聞為何會有 Xorg 的出現原因,事實上,這只是導火線罷了,真正的原
@Xjserv因是許多開發者對於 XFree86.org 許多封閉的開發模式存有強烈的不滿,而這時候修改
@Xjserv授權的事件恰好再度凝聚眾人的力量,於是 jg 與 keithp 等人領導著 fd.o 重大的變動
@Xjserv,將未受「感染」的 XFree86 4.4 RC2 放置於 fd.o 子計畫下,並且重新組織的 X.org
@Xjserv認為需要一份真正自由的 RI,而非 XFree86 這個動盪不安的組織提供的實作,所以,
@Xjservfd.o 提供了 Xorg 這個 X.org 承認的 RI,注意,有 "." 者是組織。
@Xjserv補充一下
@XjservX.org 主導權至少易主三次以上
@timhsuXjserv: 衝阿 jserv@X.org
@Xjserv2004 年以來 X.org 許多常任委員由 fd.o 一些重量級成員擔任 :)
@Xjserv--------------------------------------------------------------------
-!- evilmoon [~cba0ecd5@chat.ircnet.org] has joined #debian.tw
@Xjserv究竟這份新授權問題在哪裡呢?我們來看看:
@Xjserv *  3. The end-user documentation included with the redistribution,
@Xjserv *     if any, must include the following acknowledgment: "This product
@Xjserv *     includes software developed by X-Oz Technologies
@Xjserv *     (http://www.x-oz.com/)."  Alternately, this acknowledgment may
-!- xinyi [~cba0ecd6@chat.ircnet.org] has quit ["http://ircnet.org/ (EOF)"]
@Xjserv *     appear in the software itself, if and wherever such third-party
@Xjserv *     acknowledgments normally appear.
@Xjserv注意到以上廣告條款,儘管新授權本身絕對是依循 OSD (Open Source Definition),
@Xjserv但是所有衍生物必須為 David 的 X-oz 公司打廣告,就這點來說,與 GNU GPL 有所
@Xjserv抵觸,GPL 的確要求保留作者資訊,但是並無要求上述的 "acknowledgment"
@Xjserv補充一下,很不幸的,國內外的媒體針對此事件
@Xjserv渲染的程度大於事實本身,相當可惜
@Xjserv--------------------------------------------------------------------
@Xjserv那麼,為何上述授權變更的影響為何這麼劇烈?問題就是沒有經過所有 XFree86 各方
@Xjserv開發者與 contributor 認可,貿然修改的。要知道,在這時間點,很多 Core Team
@Xjserv成員已經陸續離開 XFree86.org,MIT X License 雖然鬆散,但是開發者仍具有所有
@Xjserv權,所以授權的更動沒有經過同意,是很難令人諒解之事。這下有趣了,許多 Linux
@XjservDistributions 紛紛發表唾棄 XFree86.org 的聲明稿,連同 FreeBSD 在內亦然,所
@Xjserv以 Xorg 這時一轉成為眾人期待的自由發展實作。
@Xjserv所以,儘管自由軟體世界存有多種授權協議,各家精神或有不同,但目標應該可以不
@Xjserv相違背。每個創作者對於自由的認定各自有表述的權力,應相互尊重對方的想法,而
@Xjserv非自擁強烈的排它性。
@XjservQuestions?
-!- ShivaHua1 [~shiva@61-70-144-38.adsl.static.giga.net.tw] has quit [Ping timeout]
ccpz所以Xorg很早就有了?
ccpz不是改授權後才出現?
-!- swampboy [WHKQSDJR@64.241.114.17] has joined #debian.tw
@Xjservccpz: 大約是一月份進去 fd.o cvs repository
@Xjservccpz: 不是
-!- geordi [~geordi@adserv.cis.nctu.edu.tw] has joined #debian.tw
ccpzok,thanks :-D
kanru那 X.org 以前是做什麼的?
@Xjservccpz: 這樣說好了,事實上許多改革派人士本身就維護 XFree86 Xserver implementation
-!- evilmoon [~cba0ecd5@chat.ircnet.org] has quit ["http://ircnet.org/ (EOF)"]
@Xjservkanru: 之前被壓抑了
@Xjservkanru: X.org 是 2003 年底才又「復興」起來
@Xjservkanru: 之前許多大廠退出規格的制訂過程
@Xjservkanru: 委員會岌岌可危
-!- Spod16476 [~a31c5102@chat.ircnet.org] has joined #debian.tw
@Xjserv2004 年重新出發的 X.org,認清有個 RI 是很重要的議題
@Xjserv:“自由啊,多少罪?假汝之名而行!”
@Xjservby 羅蘭夫人
-!- Spod16476 [~a31c5102@chat.ircnet.org] has quit ["http://ircnet.org/ (EOF)"]
@Xjserv可以繼續嗎?
kanru
fox_foxplease
@Xjserv--------------------------------------------------------------------
@Xjserv提到太多典故了,怕各位興趣缺缺,這裡先來討論具體的字型處理。需要注意的是,
@Xjserv小弟在這方面涉獵不多,如有謬誤,還請踴躍提出。
@Xjserv英文的 "Font" 在中文的翻譯有很多種,比方說字型、字體、字庫、... 等等,基本
@Xjserv上區分為以下兩種:
@Xjserv(1) 點陣字庫 (Bitmap fonts)
@Xjserv  - Console fonts
@Xjserv  - BDF/PCF fonts in X Window System
@Xjserv  - 參考圖(7) 與圖(8) 是透過 xmbdfed 這個工具來編輯點陣字形的畫面
@Xjserv(2) 向量/矢量/曲線字庫 (Vector fonts)
@Xjserv  - PostScript Type 1 fonts (Adobe)
@Xjserv  - TrueType (Apple, Microsoft)
@Xjserv  - OpenType fonts (may include TrueType or Type 1 data)
@Xjserv    (Adobe, Apple, Microsoft)
@Xjserv  - 圖(9) 與圖(10) 是針對向量字型的描邊處理
@Xjserv就目前的 Open Source 實作來說,Font rendering engines 有以下三種:
@Xjserv(1) XFree86-native
@Xjserv  - 存在於 XFree86 衍生的 X Window System  實作中
@Xjserv(2) FreeType 1 and FreeType 2
@Xjserv(3) Application-native implementations
@Xjserv  - 比方說 OpenOffice 就有自己獨特的 font engine,可以在不需底層環境支援的
@Xjserv    前提下,獨立繪製字型
@XjservX11 core library 已經老態龍鍾,對字型的處理已經無法應付當今需求,比方說只
@Xjserv支援雙色 (黑 / 白) 字型顯示,既不能作灰階 (對 LCD 應用很重要),更不能處理
@Xjservanti-aliasing,限制太多了。所以,相繼有許多新機制被提出,其中最著名的算是
@XjservXft、Xft2/fontconfig,以及 STSF,後者在 Sun X Window System Implementation
@Xjserv應用比較廣泛,Sun JDK for Linux 的字型處理就是透過 STSF,不過這裡先略過,
@Xjserv有機會再介紹。
@XjservXft/Fontconfig 是 keithp 引入 XFree86 4.x 實作的,訴諸以下途徑:
@Xjserv(1) X Render Extension
@Xjserv  - Alpha、anti-aliasing、sub-pixel (server side)
@Xjserv(2) Xft Library
@Xjserv  - Rasterize with FreeType & XRender (client side)
@Xjserv(3) Fontconfig Library
@Xjserv  - Font accessing (client side)
@Xjserv請參考圖(11)
@Xjserv--------------------------------------------------------------------
@XjservXft/Fontconfig 獲得主流 widget set / toolkit 支持,如 GNOME 2.x & KDE 3.x
@Xjserv已經有良好的支援,其實重點不在於 anti-aliasing 或 sub-pixel 等支援,Xft 可
@Xjserv貴之處是引入 client-side font 處理。在過去,精簡的 X Terminal 因為 X Client
@Xjserv的字型處理都是透過 X server,X server (運作於 X Terminal) 本身必須具備足夠
@Xjserv量的字型,或者必須訴諸 XFS (X Font Server),非常的令人困擾。
@Xjserv所以,一旦 Xfs/Fontconfig 廣泛應用後,X Terminal 可以享受更加的字型呈現效果
@Xjserv,但本身不需具備大量的字型,對 Thin Client 一類的應用相當重要。
-!- xluna [~cba0ecd5@chat.ircnet.org] has joined #debian.tw
@Xjserv補充一下
-!- swampboy [WHKQSDJR@64.241.114.17] has left #debian.tw []
@XjservXft/Fontconfig 對於多國語文支援很重視
@Xjserv過去 Xlib 的處理,有很多「彆腳」的處理,必須改用有 "mb" (multi-bytes) 的函示改寫
-!- hata_ [~hata@61-71-94-113.adsl.static.giga.net.tw] has joined #debian.tw
@Xjserv又可能遇到 font style 衝突的問題
@XjservXft/Fontconfig 在 keithp 規劃下,一次克服掉這些問題
* Xjserv 再度膜拜 keithp
@Xjserv--------------------------------------------------------------------
@XjservKeith 的 blog 紀錄 FreeDesktop.org's xserver 中 Xfonts 實作採用 TrueType /
@Xjservfontconfig rendering engine 在空間使用上的優勢:
@Xjserv  http://keithp.com/blog/fonts/fonttosfnt.html
@Xjserv                                                                                
@Xjserv注意,這是在 ttf 中 embedded bitmap 的比較,而 Xfonts 的彈性讓若干字型組合
@Xjserv變得相當容易。那這對效能的衝擊呢?重點不在「讀取」,因為這個時間可以視為常
@Xjserv數時間。問題出在 rendering 的實作,傳統的 X core font 是 2-bit bitmap,在
@Xjserv字型組合的正交性明顯不足。FreeDesktop.org's xserver 引入 Xfont 的改良,透
@Xjserv過 Xft/FontConfig 提供相當多樣化的表現。而,Keith 則探討 built-in bitmap
@Xjservttf 與 pcf 的空間使用比。
@Xjserv                                                                                
@Xjservrendering 的複雜度來說,pcf 在簡單的應用勢必會勝出,但是,如果要配合多種
@Xjservfonts & scale 的話,bitmap ttf 的效能甚至可以超越 pcf,因為組合比較容易,
@Xjserv不必在多種 X core fonts 切換。
@XjservQuestions?
keelxft/fontconfig 透過 glibc 來處理多國語文/unicode嗎?
@Xjservkeel: 不,XLC (X Locale Convertion)
@Xjservkeel: X 的歷史包袱很大,發展當時,底層的 glibc 根本就不成氣候
descent我想問一下, 桌面環境換 x 的關係
descent可以說市
-!- hohowowo [~hohowowo@220-135-32-180.HINET-IP.hinet.net] has joined #debian.tw
descent桌面環境需要 x 來完成嗎?
@Xjservdescent: 桌面環境有很多種實作方式,大部分是透過 X 實踐,但是也可以像是 Qtopia + Qt/Embedded 的方式
@Xjservdescent: 好問題,剛剛引出學術派的定義,很明確寫出需要 X
descent也就是說 freedesktop 不一定靠 x
-!- xluna [~cba0ecd5@chat.ircnet.org] has quit ["http://ircnet.org/ (EOF)"]
@Xjservdescent: 但那也是某學者的見解
@Xjservdescent: 目前 fd.o 絕對多數的建設都是 based on X
descent那 x 的 library 改變原有的 x app 會不會有不相容的問題
@Xjservdescent: 只要 follow X Protocol,就沒有問題
@AndrewLeeDistributions 紛紛發表唾棄 XFree86.org 的聲明稿,連同 FreeBSD 在內亦然,那麼 Debian 呢?
descentx protocol 也有定義 api 嗎?
@Xjservdescent: 有興趣可以去研究 XCB 與 XCL
@XjservAndrewLee: Debian 很多 developers 本身就是 fd.o developers
descent我是怕目前寫的 x base app 在新的平台會有需要重新改寫
@XjservAndrewLee: 比方說 Debian X11 負責人 Danial Stone 就是 fd.o 的 release manager
@AndrewLeeXjserv: 為何至今尚未看到 Xorg 在 sid 出現?
@chihchunAndrewLee, 請見前面幾前 DWN
@XjservAndrewLee: 因為... 他們太龜毛
@AndrewLeechihchun: Thanks.
@chihchuns/前/期/ ( for 唾棄 info)
@XjservAndrewLee: 很多 Xorg 的建設事實上都有 backport 回 Debian sid
@AndrewLeeXjserv: 請舉例
@XjservAndrewLee: 比方說 driver 的更新
@Xjserv好,繼續 :)
@Xjserv--------------------------------------------------------------------
@AndrewLeeXjserv: 所以 sid 內的 X 是有 Xorg backport drivers 的 XFree86?
-!- huki [~huki@220-134-112-14.HINET-IP.hinet.net] has joined #debian.tw
@XjservAndrewLee: 嗯,至少 driver 的部分有,但是主體沒有 :(
@Xjserv身為一個 KDE Fan,以下從 KDE 的角度切入未來 Linux/UNIX Desktop 發展。
@XjservTrolltech + KDE/Qt 總是時常給予我們太多的驚喜我欣賞這種模式,背後很多商業
@Xjserv公司支持,但是核心的技術總是在第一個時間與社群分享,喜歡就拿去用,如果能
@Xjserv因此賺錢,歡迎分享成功經驗。
@Xjserv                                                                                
@XjservSignals-slots 機制一直是 Qt Framework 的賣點之一,而 Qt4 大膽的全盤翻修,
@Xjserv從 Qt4 Technology Preview 1 的 source code,我們可以發現,Qt4 的 signals-
@Xjservslots 是透過 event-awared 的處理方式,意即,thread handling 有相當優越的突
@Xjserv破。至於 KDE 底層技術,小弟有機會再與各位介紹,在此先打住,只往 KDE 與
@XjservGNOME 兩大陣營合作的方向來看。
@XjservD-Bus 可望成為整合 GNOME 與 KDE 的 IPC (Inter-Process Communication) 機制,
@Xjserv目標是取代 KDE DCOP 與 GNOME Bonobo 機制,一旦底層基礎建設能夠共通後,對使
@Xjserv用者來說 KDE 與 GNOME 這兩者將無縫隙 (seamless) 與透明的 (transparent) 的
@Xjserv整合在一起。在 [Connect KDE apps using D-BUS] 這篇文章就是提及 KDE 的應用
@Xjserv程式如何使用 D-Bus 達到過去 DCOP 的工作:
@Xjserv  http://lwn.net/Articles/95918/
@XjservD-Bus 的設計理念是簡單卻具有強大威力的,圖(12) 可以說明最簡單的 IPC 需求,
@Xjserv也就是兩個 Process 之間作溝通。然而這種模式不適合一對多,甚至多對多的需求,
@Xjserv所以,勢必需要協調、仲裁者的出現,我們可參考圖 (13),引入 BUS Daemon 的設計
@Xjserv後,就能對多個 Processes 的訊息作處理,甚至有辦法處理異質性的資料。為了效率
@Xjserv考量,整個 D-Bus Protocol 是 binary representation,可參閱圖 (14)。又 D-Bus
@Xjserv是 fd.o 極重要的建設,不妨由圖 (15) 來解釋其重要性,後方是 fd.o 總部,各元
@Xjserv件中的資訊交換,就是透過一部部的 D-Bus 來處理。
@XjservQuestions?
@chihchun續剛剛討論 AndrewLee, 你可以找到一些如 "000_stolen_from_freedesktop.org.diff" "000_stolen_from_xorg.diff" 的補釘。;-)
-!- lsk2 [~8c7dc39b@chat.ircnet.org] has quit ["http://ircnet.org/ (Ping timeout)"]
@Xjservchihchun++
-!- huki [~huki@220-134-112-14.HINET-IP.hinet.net] has quit ["Leaving"]
* Xjserv 怕「釘」 :p
descentd-sub 是
keel...
@Xjservdescent: d-bus 簡單來說就是 IPC 機制的基礎建設
@AndrewLeechihchun: 那何時能看到 Xorg 在 sid 出現? 有無大約時間表?
@Xjservdescent: 上面有寫 :p
descent否由 os 的 ipc 來實作
@Xjservdescent: 這與 Kernel's heavyweight IPC 不同
keel可以稍稍解釋一下 signal-slot 的改變嗎?
@chihchunAndrewLee, 我暫時沒辦法提供更多資訊
@Xjservdescent: D-Bus 是 pure user-space
@XjservAndrewLee: 我問過 keithp,他也不清楚
@AndrewLeeXjserv: Xorg 跟 XFree86 在使用上有何相異性?
@XjservAndrewLee: 大概一個月前問的
@Xjservkeel: 好的
@XjservAndrewLee: 基本上 Xorg 接近於 XFree86 4.4
@AndrewLeeXjserv: 穩定性呢?
@XjservAndrewLee: 但是 Xorg X11R6.8 來說,整合過去 keithp 提出的新架構,也配合 DRI/DRM 許多更新,在許多參數有出入
@XjservAndrewLee: 大體而言設計方式算接近
@XjservAndrewLee: 實驗新功能勢必會有穩定性的問題
@XjservAndrewLee: 但是,持續更新總比原地踏步好 :)
@AndrewLeeXjserv: 這就是保留進入 sid 的主因?
@Xjservkeel: signals-slots 你知道是同步機制吧
keelXjserv yes
@XjservAndrewLee: 原因之一
@Xjservkeel: D-Bus 本身是非同步的
@AndrewLee目前已經有那些 Distros 使用 Xorg 了?
@Xjservkeel: Qt4 一改 Qt Signals-Slots 限制於同步 (安全、穩定,但是效能較差) 應用,能夠透過 D-Bus 發出非同步 signals
@XjservAndrewLee: Mandrake, Fedora, Slackware, ...
@Xjservkeel: 然後 Qt4 對於 D-Bus 的包裝很高干
@AndrewLeeXjserv: 他們沒有遇到穩定性的問題嗎? 還是其實新功能是可以 disable 的?
@Xjservkeel: 你可以去看 user manual,幾乎跟過去的 qt 程式的 style 很相似
@XjservAndrewLee: 當然有,但是這些日子來已經克服很多了
keelXjserv 所以 signals-slots 現在可以 inter-process 了?(很難想像…)
@XjservAndrewLee: 過去的陣痛期大約在八月前
@Xjservkeel: 必須透過 D-Bus binding
-!- kclin [kclin@vc.cs.nthu.edu.tw] has quit [Ping timeout]
@Xjservkeel: GNOME 也有類似的架構
@AndrewLeeXorg 改寫後會對輸入法也有影響嗎?
descent原來的 qt 程式不改用 d-sub 可以運作嗎?
@Xjservdescent: 打錯字 XD
-!- winfred [~winfred@pc115150.ccl.itri.org.tw] has quit [Ping timeout]
@Xjservdescent: 當然
@XjservAndrewLee: 不會
@XjservAndrewLee: Xorg cvs 修正很多 XIM 運作上的問題,穩定很多 :)
@AndrewLeeXjserv: 對於字型的顯示部份,是有怎樣的改進?
@Xjservkeel: 我過一段時間來整理 Qt4 的文件給你參考 :)
@AndrewLeeXjserv: 剛剛你講的時候我剛好不在沒法問
@XjservAndrewLee: 首先是組字 (composite)
keelXjserv: 耶。Thx ^^
-!- kclin [kclin@vc.cs.nthu.edu.tw] has joined #debian.tw
-!- mode/#debian.tw [+o kclin] by chuany, AceLan_
@XjservAndrewLee: 過去的處理方式很彆扭,很難在 state 未改變的狀態下,同時輸出多個 charset 文字
@XjservAndrewLee: 這對於多國語文是很糟糕的事情,特別像是泰文、中東語文
@Xjserv當然,中文使用者也會遇到這問題
@Xjserv過去搞中文化非常 tricky
@AndrewLeeXjserv: 的確
@Xjserv非得要設定「正確」(只是配合邏輯)的順序才行
@XjservAndrewLee: 那你現在看 KDE 與 GNOME 的程式,這種問題很少了
descent可否舉個例子
@AndrewLeeXjserv: 這樣一來是否不再需要 unifonts 之類的大字型
@XjservAndrewLee: 除非像是 konsole 一類處理終端機的程式比較有可能
@AndrewLeeXjserv: 直接『組字』就好?
@XjservAndrewLee: 比方說 GTK+ 2.x 透過 Pango 這個強化的「組字」引擎,可以很透明的把多個語文字型「拼」起來
@Xjserv當然,Fontconfig 設定要正確,取字路徑與順序要對 :)
@XjservMozilla 對這方面的需求很高
@Xjserv畢竟透過 Web Browser 會看到全世界 :)
@AndrewLeeXjserv: 那若使用沒有 Pango 的 window managers 要怎麼做?
@Xjserv但是過去 qt 與 gtk+ 基礎建設不甚完備,怎麼辦?
-!- kclin [kclin@vc.cs.nthu.edu.tw] has quit [Ping timeout]
@XjservAndrewLee: 跟 WM (Window Manager) 比較無關啦 :p
@XjservAndrewLee: 是 toolkit
descentpango 會依照某種演算法組合嗎?
@XjservAndrewLee: Qt3 有很大的改進,基本上沒有問題
@Xjservdescent: 是的, http://www.pango.org/
-!- wctang [~wctang@220-135-242-10.HINET-IP.hinet.net] has quit [leaving]
@Xjservdescent: 我只對泰文組字有涉獵,其他不懂,抱歉 :(
@AndrewLeeXjserv: I see. 那 Ooo 那類的軟體也一起受益了。
descent那 qt 用的是別種方法囉
-!- changcs [~changcs@210-68-19-236.adsl.dynamic.seed.net.tw] has joined #debian.tw
@XjservAndrewLee: 不,OOo 硬幹
@AndrewLeeXjserv: 怎麼說?
-!- usoshrike [~Miranda@210-68-207-41.adsl.dynamic.seed.net.tw] has joined #debian.tw
@AndrewLeeXjserv: OOo 組字是自行處理嗎?
@XjservAndrewLee: OOo 的問題非常複雜,有自己的 Framework,有自己處理印表、字型、輸入法,版面
@XjservAndrewLee: 自成一格
-!- isee [~isee@211.75.23.100] has quit ["Leaving"]
@XjservAndrewLee: 所以後來才有 NWF (Native Widget Framework) for OOo 計畫的提出
@AndrewLeeXjserv: 這樣一來系統的字型跟 OOo 裡面的字型又是兩回事了
@XjservAndrewLee: 事實上 OOo 這些高深的技術只適合過去 FreeDesktop 未完備的 workaround
@XjservAndrewLee: 對的
@XjservAndrewLee: 在 OOo 1.x 這問題很難解
@AndrewLeeXjserv: 這時會比較需要 Arne 的 unifonts :p
@XjservAndrewLee: 所以才會有人抱怨 OOo 字型有問題啦... 這類鳥問題
@XjservAndrewLee: haha
descent我到覺得這對 port oo 比較容易
descent不依賴某種環境
@Xjservdescent: 的確,但是時代變遷了
@XjservOOo 與 Desktop Environment 整合度受到挑戰
descent當然也享受不到該平台的好處
@AndrewLeeXjserv: 是否如此 freedesktop.org 還沒有正式通過 CJK-Unifonts project?
@Xjserv連字型設定都不統一,更別提把文件 embeding 到某套件中
@XjservAndrewLee: 這我不清楚
@Xjserv唉呀,有點離題
@AndrewLeehttp://freedesktop.org/Software/Home <= CJK-Unifonts
@AndrewLee                   project?
@Xjserv我們稍後討論字型的議題,可以嗎?
descentok
@XjservAndrewLee: ok?
@AndrewLeeXjserv: Sure.
@XjservD-Bus 可望讓 KDE 與 GNOME 兩大陣營間的成果有更好的整合度,並且隨著 Project
@XjservUtopia 的發展,我們可以知道 Linux Desktop 能夠因為 Linux Kernel 在 user-
@Xjservspace 大量的著墨與裝置驅動的新機制,這一切都將會聯繫在一起。
@Xjserv我們試想以下情境:不久的未來,我只要在我的 FreeDesktop 上,插入數位像機,
@XjservLinux Kernel 透過 udev 送出訊息,D-Bus 通知上面的應用程式,然後 FreeDesktop
@Xjserv研判缺乏某個專屬的 handler,於是透過 Zero-Install 擷取,稍微等待後,數位像
@Xjserv機同步化的管理程式就躍然於螢幕上了。
@Xjserv                                                                                
@Xjserv我,身為一個使用者,只知道這是 Linux Desktop,只知道我想取得數位像機內的圖檔
-!- Spod [~3dd9c2e6@chat.ircnet.org] has quit ["http://ircnet.org/ (EOF)"]
@Xjserv就夠了,不需要去為了奇怪的 driver 驅動、令人費解的安裝程序,以及種類繁多的
@Xjservviewer 或 manager 東抓西弄,不必!這一切系統都會處理好。
@Xjserv                                                                                
@Xjserv美妙的 Qt/KDE、GTK+/GNOME、FreeDesktop,以及 Linux Kernel 眾多大型專案的攜手
@Xjserv合作啊 :)
@Xjserv--------------------------------------------------------------------
@Xjserv這是個遠景,但是距離實現不遠了 :)
@Xjserv我們來看 fd.o developer 如何把美妙的境界帶給我們 :)
@Xjserv--------------------------------------------------------------------
-!- betaparti [~betaparti@210.241.238.174] has joined #debian.tw
@XjservLinux Kernel Hacker, Ximian/NOVELL 工程師 Robert M. Love (以下簡稱 rml) 在
@XjservFOSDEM 2004 針對<The Linux Kernel and The Linux Desktop>議題提出以下的想
@Xjserv法:
@Xjserv==> 典型的 Desktop Kernel 需求:
@Xjserv  - Performance and Tuning
@Xjserv  - Improved power management, suspend/resume, and laptop-related policy
@Xjserv  - Better X/3D support
@Xjserv  - Stable kernel interfaces
@XjservRobert Love 則認為還需要對以下項目著墨:
@Xjserv  - Hardware management, integration, hot-plugging, and naming
@Xjserv  - Kernel events system and user-space messaging bus
@Xjserv非常有意思,在我們過去的認知,搞 Desktop 的開發者一向就與 Kernel Hackers 有
@Xjserv相當程度的距離,這也造就 Linux Desktop 許多整合度的限制,所以 rml 試著解決,
@Xjserv其中關鍵就是將原本 Kernel-space 的 devices 處理「移轉」到 user-space。這是非
@Xjserv常大的工程,而要由何種機制居中協調呢?沒錯,就是 D-Bus。
-!- Spod [~3dd9c2e6@chat.ircnet.org] has joined #debian.tw
@Xjserv--------------------------------------------------------------------
@Xjserv配合 Linux Kernel 2.6,HAL (Hardware Abstraction Layer,為 fd.o 的子專案) 提
@Xjserv供 D-Bus 與一組程式庫 API,以應用程式的觀點,不需要再去留意硬體偵測,甚至不
@Xjserv需要去考慮特定的 device node。比方說,我們要設計一個 X Window 下 WebCam 的程
@Xjserv式,那麼,我們只要跟 HAL 這麼打交道:
@Xjserv  「請告訴我系統上關於 camera 的硬體清單」
@Xjserv運作機制請參考圖 (16)。這樣整合的威力是很驚人的,於是 Ximian/NOVELL 發起稱為
@XjservProject Utopia 的計畫,顧名思義就是希望建立下一代操作環境高度的整合,不再受
@Xjserv過去限制所羈絆。
@Xjserv圖 (17) 就是 GNOME 陣營的整合實作,最上層的建設為 gnome-volume-manager,而除
@Xjserv了 hotplug 外,其他部分都是 User-space 層面的,彼此間是訊息傳遞的過程,而非綁
-!- kclin [kclin@vc.cs.nthu.edu.tw] has joined #debian.tw
@Xjserv死在某個元件或層面中,這是很重要的突破,你可以動態的切換訊息收發者的地位與實
-!- mode/#debian.tw [+o kclin] by chuany
@Xjserv作,甚至可以透過網路來參與這些過程。接著,試著回想剛剛提到的情境,這一切多麼
-!- mode/#debian.tw [+o kclin] by AceLan_
@Xjserv美好阿。
-!- AndrewLee [~andrew@tlug.sinica.edu.tw] has quit [Ping timeout]
@XjservQuestions?
@Xjserv我們可以思考
@Xjserv「現在的模式是不是很不舒服?」
keel會有 security 的問題嗎?
@Xjservkeel: 這我沒想過
keeld-bus 是 network-transparent 嗎?
@Xjservapt-get install gnome-volume-manager
@Xjservkeel: 目前還不行
@Xjserv可以用 Kernel 2.6 + udev + gnome-volume-manager 玩看看
@chihchungnome-volume-manager ++
-!- andrew_ [~andrew@tlug.sinica.edu.tw] has joined #debian.tw
@Xjserv現在的完成度很高了,可以「抽象」的設定某種 media 對應的 handler
@Xjserv然後使用者就可快樂的運作,該出現什麼就使用 :)
@Xjserv當然,還是有很多改進空間,比方說 handler 的部署問題
@Xjserv記得,上面提到的大部分都在 user-space
descent感覺上效能會差點
-!- andrew_ is now known as AndrewLee
@Xjservdescent: lightweight IPC implementation for D-Bus 也有人研究中 :)
-!- winfred [~winfred@pc115150.ccl.itri.org.tw] has joined #debian.tw
keel對啊…連 harddisk 也要放在 udev 中…
keel會比較慢嗎?
@Xjservkeel: 這是有原因的,GNOME 可以徹底掌握該 device 狀態
@Xjservkeel: 包括下 command :)
@Xjservkeel: 效能的部分我還未涉獵
* Xjserv 紀錄下該研究的項目
@Xjserv還有問題嗎?
keelcontinue ;
@Xjserv--------------------------------------------------------------------
-!- kclin [kclin@vc.cs.nthu.edu.tw] has quit [Ping timeout]
@Xjserv        XFree86 4.0
@Xjserv              \
@Xjserv            TinyX (KDrive)
@Xjserv                \
@Xjserv               FreeDesktop.org Xserver (fd.o Xserver)
@Xjserv                                                                                
@Xjserv        XFree86 4.4 RC2
@Xjserv                \
@Xjserv             XOrg (aka X11R6.8 is under the X.org umbrella, and is hosted
@Xjserv                   on freedesktop.org)
@Xjserv                   \
@Xjserv                Debrix (XOrg + autotool + FreeDesktop.org X Extensions)
@Xjserv                                                                                
@Xjserv        XFree86 4.3
@Xjserv                |-- XWin (Cygwin’s Xserver)
@Xjserv                |-- XDarwin (Xserver for Darwin / MacOS X)
@Xjserv                         \
@Xjserv                       XDirectFB (rootless Xserver on DirectFB)
@Xjserv上面是 XFree86 衍生的眾多 Open Source 實作,較為值得一書的是 fd.o Xserver,
@Xjserv前身是 TinyX,不過常見的稱法是 KDrive (套件名稱),這是 keithp 提出許多嶄新
@Xjserv架構的一個實驗性平台,種種卓越的發展,陸續整合到 XOrg 中。撇開高深的技術不
@Xjserv論,受到 Mac OS X 種種不可思議的完美視覺感受,令人不禁思索,這些 Eye-Candy
@Xjserv有機會在 X Window System 下實現嗎?
@Xjserv注意這裡
@Xjserv"XOrg (aka X11R6.8 is under the X.org umbrella)"
@XjservXOrg 成為 X.org 的 RI 後,不再受到其他商業廠商實作的影響
-!- ShivaHuan [~shiva@61-70-144-38.adsl.static.giga.net.tw] has joined #debian.tw
-!- shan1 [~shang@61-62-11-216-adsl-tpe.dynamic.so-net.net.tw] has quit [EOF From client]
-!- kclin [kclin@vc.cs.nthu.edu.tw] has joined #debian.tw
-!- mode/#debian.tw [+o kclin] by chuany, AceLan_
@Xjserv剛剛好像沒說清楚,過去 X.org 的模式是由若干強勢的 vendors 主導,彼此妥協,規範出 spec
@chihchunhttp://www.xouvert.org/ ? @_@
@XjservXFree86.org 則為「局外人」好一段時間
@Xjservchihchun: 那個專案,沒人了
@chihchunhum.
@Xjservchihchun: 注意到時間點,恰好是 X.org 尚未復興,XFree86 Core Team 解散前夕
@Xjservchihchun: 所以另一群有志之士跳出來搞 Xouvert
@Xjserv沒想到 fd.o 很有組織,也獲得 HP, IBM, Sun 等大廠的資助
@Xjserv很快就趁授權方式更動,將 XOrg 創造出新價值 :)
@Xjserv--------------------------------------------------------------------
@XjservXDarwin 的特性是 Rootless X server,然後 *大量* 用 Cocoa 改寫過,配合 Mac
@XjservOS X 引入的眾多設計,DirectFB (一個直接在 Linux Kernel 層面驅動的高階繪圖
@Xjserv顯示專案,有機會再與各位介紹) 有個將 DirectFB 作為 Hardware 建設的 XDirectFB
@Xjserv子專案,就是大幅參考 XDarwin 與 KDrive。
@Xjserv歸結所謂的 Eye-Candy,我們可以知道 X Window System 至少必須有以下基礎建設:
@Xjserv(1) Translucent windows
@Xjserv(2) Magnifiers
@Xjserv(3) Window animation
@Xjserv(4) Flash-free window manipulation
@Xjserv補充一下
@Xjserv對上面提到名詞很生疏的朋友,可以參考小弟做過去的簡報
@XjservQuestions?
@Xjserv唉押,時間有點久,我們加速一下
@Xjserv--------------------------------------------------------------------
@Xjserv這些都已經在 fd.o Xserver 實作出來,並且陸續整合到 XOrg 中,也影響到 Sun
@XjservProject Looking Glass 種種令人目眩神移的效果,據該專案負責人說,他們採用
@Xjserv很多 XOrg 的成果,並依據原本授權方式釋出,請見:
@Xjserv[Project Looking Glass developer release source code is now available]
@Xjserv  http://freedesktop.org/pipermail/xorg/2004-June/001216.html
@Xjservtruly-translucency 事實上已經在 KDrive 與 XDriectFB 獲得很好的實現,而很多
@Xjserv人對於 X 架構會有誤解,認為 Client-Server 架構的 X 在效能上絕對會輸給一般的
@XjservGUI system,事實上並非如此。keithp 對 performance tuning 與 low-latency X
@Xjserv作了很大程度的調整,在他的 paper 也指出許多嶄新的硬體加速機制在 X 的引入後,
@Xjserv導致 X 效能有很大的競爭力。
@Xjserv這些都已經在 fd.o Xserver 實作出來,並且陸續整合到 XOrg 中,也影響到 Sun
@XjservProject Looking Glass 種種令人目眩神移的效果,據該專案負責人說,他們採用
@Xjserv很多 XOrg 的成果,並依據原本授權方式釋出,請見:
@Xjserv[Project Looking Glass developer release source code is now available]
@Xjserv  http://freedesktop.org/pipermail/xorg/2004-June/001216.html
@Xjservtruly-translucency 事實上已經在 KDrive 與 XDriectFB 獲得很好的實現,而很多
@Xjserv這些都已經在 fd.o Xserver 實作出來,並且陸續整合到 XOrg 中,也影響到 Sun
-!- yurenju [~yurenju@u58-38.u203-187.giga.net.tw] has joined #debian.tw
@XjservProject Looking Glass 種種令人目眩神移的效果,據該專案負責人說,他們採用
@Xjserv很多 XOrg 的成果,並依據原本授權方式釋出,請見:
@Xjserv[Project Looking Glass developer release source code is now available]
@Xjserv  http://freedesktop.org/pipermail/xorg/2004-June/001216.html
@Xjservtruly-translucency 事實上已經在 KDrive 與 XDriectFB 獲得很好的實現,而很多
@Xjserv人對於 X 架構會有誤解,認為 Client-Server 架構的 X 在效能上絕對會輸給一般的
@XjservGUI system,事實上並非如此。keithp 對 performance tuning 與 low-latency X
@Xjserv作了很大程度的調整,在他的 paper 也指出許多嶄新的硬體加速機制在 X 的引入後,
@Xjserv導致 X 效能有很大的競爭力。
@Xjserv按錯,抱歉 :(
kanru:Q
@Xjserv這些都已經在 fd.o Xserver 實作出來,並且陸續整合到 XOrg 中,也影響到 Sun
@XjservProject Looking Glass 種種令人目眩神移的效果,據該專案負責人說,他們採用
@Xjserv很多 XOrg 的成果,並依據原本授權方式釋出,請見:
@Xjserv[Project Looking Glass developer release source code is now available]
@Xjserv  http://freedesktop.org/pipermail/xorg/2004-June/001216.html
@Xjservtruly-translucency 事實上已經在 KDrive 與 XDriectFB 獲得很好的實現,而很多
@Xjserv人對於 X 架構會有誤解,認為 Client-Server 架構的 X 在效能上絕對會輸給一般的
@XjservGUI system,事實上並非如此。keithp 對 performance tuning 與 low-latency X
@Xjserv作了很大程度的調整,在他的 paper 也指出許多嶄新的硬體加速機制在 X 的引入後,
@Xjserv導致 X 效能有很大的競爭力。
@Xjserv又按錯 XD
@Xjserv--------------------------------------------------------------------
* Xjserv 把水果拿走 XD
@XjservDirectX 直接跳過 GDI 的設計,在 X 的實現就是 DRI/DRM extension,而如果要在
@Xjservkernel 層面直接驅動 framebuffer 的硬體加速,可以參考 DirectFB。
@XjservX Window System 發展的趨勢是直接將 X server 架構在 GL 實做上,這在 fd.o
@XjservXserver 已有初步的成果。以往我們還需要 DRI/DRM/GLX extensions 來作為 X <-->
@XjservGL <--> Hardware 的溝通,但是 X server over GL 就不需要了 :)
@Xjserv我們來比較一下,原本的運作模式請見圖(18),非常的複雜,分層處理的成本太大
@Xjserv了,但是如果看圖 (19) 後,則有股耳目清新的感覺,是的,不僅直覺,而且直接
@Xjserv驅動硬體,效能提升幅度很大。
@XjservQuestions?
@Xjserv--------------------------------------------------------------------
@Xjserv補充一下
@Xjserv過去幾張示意圖可以發現 X protocol 與 Ethernet 有很大關連
@Xjserv但是後來的實作「擴充」了概念,將 shared memory 一類 Kernel IPC 也視為網路
-!- shan1 [~shang@61-62-11-132-adsl-tpe.dynamic.so-net.net.tw] has joined #debian.tw
@Xjserv良好實作的 Kernel,比方說 Kernel 2.4,在這部分效能的改善相當大
@Xjserv所以 Connectivity 成本事實上可以降到很低
keelethernet? 802.3?
@Xjserv並且透過 DRI/DRM 硬體驅動的機制
@lloyd_抱歉可以解釋一下何謂 GL 嗎?
ShivaHuanOpenGL乎?
@Xjservlloyd_: GL 就是 OpenGL
@lloyd_Xjserv: thx.
@Xjservlloyd_: 但是 GL 一般是指 materialized OpenGL impl.
keelethernet 不是只是 phy & mac layer 嗎?
@Xjservkeel: 對耶
@Xjservkeel: 那我應該明確加上 OSI 規範
* Xjserv *羞*
* keel ^^
@Xjserv在 fd.o Xserver 中,有個 Xgl
@Xjservkeithp 的論文中,提出許多驚人的數據,遠遠把 DirectX 拋在腦後 :p
@Xjserv接下來的部分是 rabit 提供的資訊,,非常有參考價值,不過時間上不允許細談,
@Xjserv原文引述如下:
@Xjserv<%
@Xjserv - The (Re)Architecture of the X Window System
@Xjserv     http://keithp.com/~keithp/talks/xarch_ols2004/xarch-ols2004-html/
@Xjserv     詳述 X Window system 未來的架構, 也應該是 jserv's IRCConf 的重要參考
@Xjserv     不過我注意的是 cairo 使用 Glitz 作為 OpenGL 的 backend
@Xjserv - Getting X Off The Hardware
@Xjserv     http://keithp.com/~keithp/talks/xserver_ols2004/xserver-ols2004-html/
@Xjserv     這篇文章提出將與硬體相關的函式庫抽離出 X server 的可能性
-!- PowerOp [~ystuan@219-84-3-69-adsl-tpe.dynamic.so-net.net.tw] has joined #debian.tw
@Xjserv     其中 Graphics Acceleration 提到 Glitz 的實作說明了使用 opengl 來子加速
@Xjserv     2D 的顯示是很有效率的
@Xjserv - Glitz: Hardware Accelerated Image Compositing using OpenGL
@Xjserv     http://www.cs.umu.se/~c99drn/opengl_freenix04.pdf
@Xjserv     這篇就是重點啦, Glitz 使用 opengl 的那些功能來達到 2D 的加速
@Xjserv     看得懂的部份:
@Xjserv     - offscreen drawing
@Xjserv       使用 opengl 的 pixel buffer(pbuffer), 來處理 offscreen drawing, 而
@Xjserv       pbuffer 的操作完全是儲存於 video memory
@Xjserv     - user-provided immediate data
@Xjserv       提供直接存取 graphic hardware 的 API
@Xjserv     - image composing
@Xjserv       將 surface 視為 texture, 使用 opengl 的 fragment programs 來達到混和
@Xjserv       多個 textures
@Xjserv     - image transformations
@Xjserv       這本來就是 opengl 的最重要的部份, 完全採用 opengl 的實作
@Xjserv     - 最後是與 imlib2、X Render extension的比較, 很明顯 Glitz 都優於前二者
@Xjserv       使用 Nvidia's binary driver 的 X Render extension 與 Glitz 比較, 也是
@Xjserv       Glitz 快多了
@Xjserv %>
@Xjserv--------------------------------------------------------------------
@Xjservrabit: 借用一下
@Xjservrabit: 看來要下一場才有時間介紹
@Xjserv--------------------------------------------------------------------
@Xjserv呼呼,時間到了 :(
rabit:)
@Xjserv至於 X Extensions,也礙於時間限制,請參考小弟的簡報 <X Window System 現況與
@Xjserv挑戰>,或許有機會以此主題作分享。
@Xjserv技術的項目提太多,秀些有趣的玩意,這是我最近在寫的 Window Manager,稱為
@XjservCoreWM,以 Matchbox 為基礎,整合 Qvwm、OpenBox,以及部分 fluxbox 的精華,針
@Xjserv對 Embedded System 重新思考,整體 footprint 極低,對於 Kiosk 環境相當適合,
@Xjserv你可以很容易指定任一 X client 的處理方式。
@Xjserv以下展示 Thumbnail switch mode:
@Xjserv    http://jserv.sayya.org/wm/corewm-preview.png
@Xjserv            |
@Xjserv            |  按下 Ctrl-Alt-T
@Xjserv           \|/
@Xjserv            V
@Xjserv    http://jserv.sayya.org/wm/corewm-preview2.png
@Xjserv實作 Ctrl-Alt-Del 執行 Task Manager:(這個功能只是好玩的)
@Xjserv        http://jserv.sayya.org/wm/corewm-preview3.png
@Xjserv看看年底有無機會 Open source 出來 :)
@Xjserv--------------------------------------------------------------------
@Xjserv這次的 IRC Conf 就此作結,非常感謝各位。
@Xjserv謝謝 :)
kanruA_A
@lloyd_這場演講真是太棒了...無敵感謝受益良多..
@XjservQ & A 時間
kanru沒有了嗎... orz
@lloyd_剛剛似乎有提到 Clinet side 字形? 印象中字型處理不應該是由 Server 作嗎?
@Xjservkanru: 下一場 :)
descent什麼!沒有了哦!
fox_fox安可安可~
@Xjservlloyd_: Complex Chinese :)
* penk 鼓掌叫好
kanruclient sid 字型比 server side 更好?
fox_fox啪啪啪啪~~~
@Xjservlloyd_: 在 Xft/Fontconfig 的架構來說,server 只負責 XRender extension
-!- Blue119 [~86d01cee@chat.ircnet.org] has joined #debian.tw
@Xjservkanru: sid?
kanruside :p
keel啊…瞬間就結束了!
fox_fox時光飛逝~
@Xjservlloyd_: 以組字技術來說,複雜度太高了,server side 來作是非常重的 overhead,但是又不可能期望 X core fonts 做出改善
yurenju哎,太晚來了。 :(
@Xjservlloyd_: 所以 keithp 思考後,認為提出 generic XRender extension,接受 client-side 各種 composite 的結果再行顯示
@lloyd_Xjserv: 恩恩..但在此字型資訊是由 font server 給予嗎?
@Xjservlloyd_: 不需要 Font server
@lloyd_Xjserv: 瞭解!!!!!
@chihchunfontconfig 自己取。
@Xjservlloyd_: TinyX 就是這麼棒的設計 :)
keelXjserv 什麼時候會說 IIIMF 的東西? ^^
@lloyd_Xjserv: 所以是傳送圖形資訊過去 server side 解釋及繪製字型.
descent有就是說 fontconfig 抓到 server 就要render 出來
@Xjservlloyd_: 過去搞 Embedded System,TinyX 給我們很多便利,現在 fd.o 發揚光大了 :p
@chihchun再次謝 Keith Packard
@Xjservkeel: 今天才成為 IIIMF committer 啦,我要習慣一下
* Xjserv 怕被 suzhe 打 :(
* kcwu 給 Xjserv 拍拍手
AndrewLeeXjserv: 你的 CoreWM ctrl-alt-T 很像 OSX 底下的某功能 :p
@XjservAndrewLee: 對押
kanru故意的 :p
@XjservAndrewLee: 我很迷 Mac OS X
keelXjserv ibook 出新的了,而且降價了。
AndrewLeeXjserv: user 可以自己定義要使用什麼 key 嘛?
@XjservAndrewLee: 每次去台北火車站都會去附近的 Apple Shop 玩一下
@chihchun貼一下網址整理
@XjservAndrewLee: 還不行啦,功能很不完整
@chihchun延伸閱讀與參考資訊:
@chihchun* 本次研討會圖示位址: http://gallery.debian.org.tw/2004-10-21
@chihchun* 講者簡報: http://jserv.sayya.org/freedesktop/
@chihchun* fd.o - http://www.freedesktop.org/
@chihchun* X.org 基金會 的 Xorg 計畫網址 http://www.x.org
@chihchun* Keith Packard 是美國人, 住在 Portland, Oregon, 1986 於 Reed College 取得數學系學士學位。現任職於 HP Cambridge Research Lab http://www.hpl.hp.com/research/crl/ 。個人網頁: http://keithp.com/ 照片: http://lwn.net/Articles/94765/
@chihchun*《KDE2技術開發》/莊明哲 http://www.hot.net.tw/cgi-bin/introbook2?supplier_id=001&publisher_id=036&sup_orderid=SD001
AndrewLeekeel: 對,改成 1.33Ghz
@chihchun* Lesstif http://www.lesstif.org/
@chihchun* OpenMotif http://www.opengroup.org/openmotif/
@chihchun* Pango project http://www.pango.org/
@chihchun* Debian X Window System Frequently Asked Questions http://necrotic.deadbeast.net/xsf/XFree86/trunk/debian/local/FAQ.xhtml
@chihchun* What are Debian's plans with respect to X.Org and XFree86? http://necrotic.deadbeast.net/xsf/XFree86/trunk/debian/local/FAQ.xhtml#debianplans
@chihchun* Connect desktop apps using D-BUS (IBM developerWorks) http://www-106.ibm.com/developerworks/linux/library/l-dbus.html
@chihchun* 羅蘭夫人 Madame Roland  (Manon Jeanne Phlipon,1754年3月17日-1793年11月8日),法國大革命時期著名的政治家。 http://en.wikipedia.org/wiki/Madame_Roland
@Xjservchihchun++
ShivaHuan1.2GHz & 1.33 GHz PowerG4
kanruchihchun++
@Xjservchihchun: 那... 我可以引用您的資料在我的新書中嗎? :)
@chihchunXjserv, 隨便用吧。 :P
@Xjserv:)
ShivaHuan12" iBook售價預估在35900左右 :)
* chihchun 全部不是我的資料 XD
@Xjserv看來我的新書好歹可以賣七十本 :p
keel這些會後的聊天也會放在網站上嗎? ^^
@chihchunkeel, yes.
keelibook 變成我的薪水買得起了。
* Xjserv 發起「一人一本救 jserv」的活動 :p
@lloyd_再次感謝 Xjserv 這麼辛苦的打字...太感謝了..
@chihchun直到聊天跟這此 conference 沒關係 :P
@Xjserv後面 X Extensions 的部分,可能下次再介紹 :)
fox_foxXjserv  帥壓~
* kanru 鼓掌.. :p
keelchihchun 太好了,那我可以下班了。 ^^
ShivaHuan請問剛剛講到的 Xserver over GL的部份
* lloyd_ 鼓掌....
descent還有下次, 太棒了
AndrewLee且內建無線網卡了
@Xjservkeel: 辛苦了 :)
@XjservShivaHuan: 如何?
descent啪啪!啪啪!啪啪!啪啪!啪啪!啪啪!
keelXjserv 先走了。bye everyone ^^
ShivaHuan這需要硬體廠的驅動程式嗎?
-!- keel [~keel@61-222-168-36.HINET-IP.hinet.net] has quit ["Leaving"]
ShivaHuan例如NVIDIA自家的driver
@XjservShivaHuan: 不止 driver,需要 spec
-!- stripeboy [~benjamin@unix3.glink.net.hk] has quit ["獲益良多,感謝!"]
AndrewLee且是 USB 2.0
@XjservShivaHuan: 目前來說,ATi 讓 fd.o developers 可以讀 NDA 文件,實作可以 open source 出來
@XjservAndrewLee: 所以 X over GL 一向只有 ATi 與 VIA (VIA 很了不起,直接放出來)
@XjservAndrewLee: 弄錯人 :p
ShivaHuan那我下次要考慮ATi的顯卡了 :)
@Xjserv說到 VIA,他們有專人維護 Xorg 與 KDrive 的 driver,而且全部 open source
@XjservShivaHuan: ATi 的顯示卡很多款 :p
@XjservShivaHuan: 不是每款都很好
@XjservShivaHuan: 小訣竅,打聽 jg 與 keithp 用哪款 :p
@lloyd_Xjserv: VIA 有哪些知名的顯示卡可選購?
@Xjservlloyd_: CLE266
ShivaHuan其實我比較可能買Apple的電腦 XD
* Xjserv 本來要去 VIA「走一趟」的 :p
@Xjservlloyd_: 好像在 MIPS 上 CLE266 的應用也頗廣 :)
@Xjserv座太久了,我要去運動一下
@Xjserv等書寫一段落,再來作下次 IRC Conf 吧
@lloyd_Xjserv: 就目前實務上的情況 Xorg 與 xfree86 在顯示效能上哪個比較好呢?
@XjservNew X Extensions.
ShivaHuan感謝 :)
@lloyd_Xjserv: thx... 大感謝.
@Xjservlloyd_: 看你怎麼比啦,下次再聊
@XjservSee you all!
-!- Xjserv [~jserv@kenduest.Math.NCTU.edu.tw] has quit ["leaving"]

Generated by irclog2html.pl 2.1 by Jeff Waugh - find it at freshmeat.net!