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