Design and Implement Your Own Desktop Environment

people.debian.org.tw
  • No tags were found...

Design and Implement Your Own Desktop Environment

自 我 介 紹


業 務 員專 業 工 讀 生 多 重 身 份 之 一


No!這 個 我 不 要


自 我 介 紹• 喜 愛 Hacking 的 無 聊 男 子• 對 桌 面 環 境 永 遠 不 滿 足• 設 計 過 的 裝 置 產 品 比 用 過 的 多


hackhackhack


Asus Kkk PC / 科 科 PCEasy to Learn, Easy to Work, Easy to Play,Easy to Hack!


「 與 其 給 你 魚 , 不 如教 你 釣 魚 」事 實 上 , 我 也 在 釣 魚 ...


《 愛 回 到 最 初 》我 們 對 電 腦 總 有 一 種 憧 憬 ...


自 由 軟 體 的 桌 面是 的 , 不 如 我 們 預 期 的 好 , 但 是 我 們無 疑 可 自 由 使 用 、 研 究 、 修 改 , 再散 佈


關 鍵 字• Keroro• Linux• X Window System• FreeDesktop.org• OLPC– 注 意 : C = Child


自 由 軟 體 在 桌 面 系 統 的 機 會• 手 機 、 PDA 、 GPS 、 Nokia770/800/810 、 Digital TV 、 ...• MID, OLPC, Eee PC, gOP, HP 2133, ...• 規 律– Linux 為 基 礎 , 發 揮 其 跨 平 台 、 社 群 發 展 優 勢– 沿 用 X Window System 豐 富 的 應 用 程 式 經 驗– 盡 情 揮 灑 桌 面 環 境– 提 昇 C/P 比


自 由 軟 體 作 業 系 統 也 可 以 很 性 感 !


你 買 , 他 多 送 ...


送 體 驗「 商 品 客 製 化 之 後 , 會 自 動 轉 變 成 一種 服 務 ; 而 服 務 客 製 化 之 後 , 可 以為 顧 客 帶 來 積 極 的 體 驗 。 想 要 利 用體 驗 經 濟 超 越 對 手 , 首 先 要 客 製 化你 的 商 品 和 服 務 。」《 體 驗 經 濟 時 代 》


我 們 的 體 驗 :Keroro


難 題不 能 只 是 換 佈 景 主 題


需 要 一 個 ...兼 顧 經 濟 效 益 且 可妥 善 揮 灑 的 環 境


比 X-Files 更 令 人 著 迷 的 X Window System


考 量 要 素• GNU/Linux 2.6– PREEMPT_RT, CFS, Advanced PowerManagement, DRM/TTM(Translation Table Maps: newgraphics memory manager), ...• X.org/FreeDesktop.org– 標 準 化 與 新 技 術 的 引 入• 2D/3D 硬 體 加 速 架 構 與 軟 體 的 支 援– 兼 顧 相 容 性 與 可 用 性• ToolkitThe (Re)Architecture of X Window System


• GL = OpenGL = 工 業 Graphics 標 準• GPU (Graphics Processing Unit) 的 衝 擊100Ks/ year10Ms/ year(19) 八 零 年 代的 工 作 站(19) 九 零 年 代的 個 人 電 腦本 世 紀的 手 機


DRI : Direct Rendering Infrastructure


迷 思 破 除• X Window System 仍 是 client-server 架 構– 但 這 不 是 桌 面 系 統 效 能 低 落 的 主 因• 過 去 X 的 發 展 以 相 容 性 、 通 透 性 為 主 , 現 在 走 入 消費 性 電 子 、 低 價 多 元 化 應 用• 開 放 原 始 碼 的 GL/X11 加 速 機 制 正 蓬 勃 發 展– Mesa3D, Gallium3D, xserver-xorg-video-intel• 專 業 廠 商 投 入


Galium3D• 由 Tungsten Graphics 公 司 主 導 開 發– make drivers smaller and simpler– model modern graphics hardware– support multiple graphics API's


DRI 在 處 理 硬 體 framebuffer 所 面 臨 的 困 境


Redirected Direct Rendering


DRI2• 最 簡 易 的 理 解– Carl Worth: “X Acceleration that FinallyWorks.“• 技 術 面– EXA + TTM


DRI2 + EXA 的 效 能EXA on i965, http://cworth.org/tag/exa/


便 宜 也 有 好 貨eeepc:/home/user> lspci -v | grep VGA00:02.0 VGA compatible controller: IntelCorporation Mobile 915GM/GMS/910GMLExpress Graphics Controller (rev 04)(prog-if 00 [VGA controller])Intel Corporation Mobile 915GM


「 時 脈 900MHz 的Eee PC 跑 Linux能 做 什 麼 ?」


降 頻 再 用 力 操 !調 整 到 600MHz 跑 DRI2在 WiFi 使 用 的 情 況 下 , 連 續 3 hr


預 期 整 合 的 技 術• AIGLX/Compiz-Fusion• Gtk+/GNOME• Glitz/OpenGL• Cairo• Clutter• WebKit


需 要 客 製 化 的 項 目• Compiz– 效 能 與 尺 寸 優 化• Gtk+– Keroro 風 格 的 Theme/Style engine• 重 新 設 計 Desktop/Panel• 新 的 Notification 機 制• Web 應 用 程 式 的 整 合仍 只 是 讓 青 蛙 「 動 起 來 」 的 基 礎 建 設


GNOME 開 發 平 台ApplicationsC C++ Python OtherClutter/GTK+Pango Cairo AtkGStreamerX11 GLib D-bus


印 象 Cairo• 向 量 繪 圖 系 統• 多 元 化 的 後 端 支 援– Xlib/RENDER– XCB– Glitz (OpenGL)– Postscript / PDF• 先 進 的 繪 圖 操 作 :– Anti-aliasing, compositing RGBA surfaces – alphachannel, stroking lines and Bezier curves, filling lineand Bezier polygons, linear and radial gradients,patterns (textures), text measuring and drawing, affinetransformations, clipping


Clutter 整 合• 包 裝 OpenGL(ES) API , 允 許 類 似Gtk+/GLib 的 開 發 模 式• 後 端 : egl, eglx, xgl, sdl, x11, win32• 核 心 想 法 : ClutterStage + ClutterActor• 廣 泛 的 布 局– Clutter-cairo– Clutter-gst– Clutter-gtk– Clutter-webkit


Cairo + Clutter + WebKitwebkit ClutterActor *stage;WebKitWebView *view;Cluuterclutter_init (&argc, &argv);stage = clutter_stage_get_default ();clutter_actor_set_size (stage, 800, 400);view = webkit_web_view_new (800, 400);clutter_container_add_actor(CLUTTER_CONTAINER (stage), view);webkit_web_view_open (view, argv[1]);clutter_actor_show_all (stage);clutter_main ();CairoWebkit


最 終一 切 都 會 在 個 龐 大的 stage 中


Keroro Desktop 的 精 髓• 以 另 類 的 途 徑 , 切 入 自 由 軟 體 桌 面 圖 形 繪 圖技 術 的 應 用• 《 愛 回 到 最 初 》、《 給 最 初 的 愛 》• 檢 視 現 有 架 構 的 設 計 , 思 考 如 何 引 入 視 覺 與互 動 效 果• Everything Goes Mobile!• 唯 有 根 基 穩 固 , 種 種 創 新 才 得 以 累 積


藍 星 人 注 意 :Keroro 即 將 入 侵桌 面 應 用 !


延 伸 資 訊• http://www.clutter-project.org/– Clutter• http://cairographics.org/– Cairo Graphics• http://www.freedesktop.org/– FreeDesktop• http://wiki.x.org/wiki/DRI2– DRI2• http://jserv.sayya.org/kerode/snapshots/– Codedrop of Keroro Desktop


Questions?

More magazines by this user
Similar magazines