Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Ozone Overview | 1 # Ozone Overview |
| 2 | 2 |
| 3 Ozone is a platform abstraction layer beneath the Aura window system that is | 3 Ozone is a platform abstraction layer beneath the Aura window system that is |
| 4 used for low level input and graphics. Once complete, the abstraction will | 4 used for low level input and graphics. Once complete, the abstraction will |
| 5 support underlying systems ranging from embedded SoC targets to new | 5 support underlying systems ranging from embedded SoC targets to new |
| 6 X11-alternative window systems on Linux such as Wayland or Mir to bring up Aura | 6 X11-alternative window systems on Linux such as Wayland or Mir to bring up Aura |
| 7 Chromium by providing an implementation of the platform interface. | 7 Chromium by providing an implementation of the platform interface. |
| 8 | 8 |
| 9 ## Guiding Principles | 9 ## Guiding Principles |
| 10 | 10 |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 153 ``` | 153 ``` |
| 154 | 154 |
| 155 Then to run for example the headless platform: | 155 Then to run for example the headless platform: |
| 156 | 156 |
| 157 ``` shell | 157 ``` shell |
| 158 ./out/OzoneEmbedded/content_shell --disable-setuid-sandbox \ | 158 ./out/OzoneEmbedded/content_shell --disable-setuid-sandbox \ |
| 159 --ozone-platform=headless \ | 159 --ozone-platform=headless \ |
| 160 --ozone-dump-file=/tmp/ | 160 --ozone-dump-file=/tmp/ |
| 161 ``` | 161 ``` |
| 162 | 162 |
| 163 ### Linux Desktop - ([bug](http://crbug.com/295089)) | 163 ### Linux Desktop - ([waterfall](https://build.chromium.org/p/chromium.fyi/build ers/Ozone%20Linux/)) |
| 164 Support for Linux Desktop is currently [in-progress](http://crbug.com/295089). | |
| 164 | 165 |
| 165 This is not supported by any of the in-tree platforms. Please see above and try | 166 The following targets are currently working: |
| 166 a ChromeOS or embedded build for now. | 167 |
| 168 * various unit tests | |
| 169 * `content_shell` | |
|
tonikitoo
2016/11/08 13:09:21
lets omit content_shell for now, since it is build
fwang
2016/11/08 13:12:18
OK
| |
| 170 * `chrome` | |
| 171 | |
| 172 To build `chrome`, do this from the `src` directory: | |
| 173 | |
| 174 ``` shell | |
| 175 gn args out/OzoneLinuxDesktop --args="use_ozone=true enable_package_mash_service s=true" | |
| 176 ninja -C out/OzoneLinuxDesktop chrome | |
| 177 ``` | |
| 178 Then to run for example the X11 platform: | |
| 179 | |
| 180 ``` shell | |
| 181 ./out/OzoneLinuxDesktop/chrome --ozone-platform=x11 \ | |
| 182 --disable-setuid-sandbox \ | |
| 183 --mash | |
| 184 ``` | |
| 185 | |
| 186 Note: You may need to apply [this patch](https://codereview.chromium.org/2485673 002/) to avoid missing ash resources during chrome execution. | |
| 167 | 187 |
| 168 ### GN Configuration notes | 188 ### GN Configuration notes |
| 169 | 189 |
| 170 You can turn properly implemented ozone platforms on and off by setting the | 190 You can turn properly implemented ozone platforms on and off by setting the |
| 171 corresponding flags in your GN configuration. For example | 191 corresponding flags in your GN configuration. For example |
| 172 `ozone_platform_headless=false ozone_platform_gbm=false` will turn off the | 192 `ozone_platform_headless=false ozone_platform_gbm=false` will turn off the |
| 173 headless and DRM/GBM platforms. | 193 headless and DRM/GBM platforms. |
| 174 This will result in a smaller binary and faster builds. To turn ALL platforms | 194 This will result in a smaller binary and faster builds. To turn ALL platforms |
| 175 off by default, set `ozone_auto_platforms=false`. | 195 off by default, set `ozone_auto_platforms=false`. |
| 176 | 196 |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 235 ### Wayland | 255 ### Wayland |
| 236 | 256 |
| 237 This platform provides support for the | 257 This platform provides support for the |
| 238 [Wayland](http://wayland.freedesktop.org/) display protocol. It was | 258 [Wayland](http://wayland.freedesktop.org/) display protocol. It was |
| 239 initially developed by Intel as | 259 initially developed by Intel as |
| 240 [a fork of chromium](https://github.com/01org/ozone-wayland) | 260 [a fork of chromium](https://github.com/01org/ozone-wayland) |
| 241 and then partially upstreamed. | 261 and then partially upstreamed. |
| 242 It is still actively being developed in the chromium tree, feel free to discuss | 262 It is still actively being developed in the chromium tree, feel free to discuss |
| 243 with us on freenode.net, `#ozone-wayland` channel or on `ozone-dev`. | 263 with us on freenode.net, `#ozone-wayland` channel or on `ozone-dev`. |
| 244 | 264 |
| 245 In order to run an Ozone build of `chrome`, you currently (2016/10/28) | 265 Below are some quick build & run instructions. It is assumed that you are |
| 246 need to compile it for ChromeOS, where software rendering is not allowed. | 266 launching `chrome` from a Wayland environment such as `weston`. Apply |
| 247 Also, accelerated rendering only works in Ozone/Wayland when the UI and GPU | 267 [this patch](https://codereview.chromium.org/2485673002/) and execute the |
| 248 components are running in the same process. Below are some quick build & run | 268 following commands: |
| 249 instructions. It is assumed that you are launching `chrome` from a Wayland | |
| 250 environment such as `weston`. | |
| 251 | 269 |
| 252 ``` shell | 270 ``` shell |
| 253 gn args out/OzoneWayland --args="use_ozone=true ozone_platform_wayland=true targ et_os=\"chromeos\"" | 271 gn args out/OzoneWayland --args="use_ozone=true enable_package_mash_services=tru e" |
| 254 ninja -C out/OzoneWayland chrome | 272 ninja -C out/OzoneWayland chrome |
| 255 ./out/OzoneWayland/chrome --ozone-platform=wayland \ | 273 ./out/OzoneWayland/chrome --ozone-platform=wayland \ |
| 256 --in-process-gpu \ | 274 --mash \ |
| 257 --disable-setuid-sandbox | 275 --disable-setuid-sandbox |
|
tonikitoo
2016/11/08 13:09:21
can we launch with it, if we build the 'chrome_san
fwang
2016/11/08 13:12:18
I guess so. But I think the sandbox and all these
| |
| 258 ``` | 276 ``` |
| 259 | 277 |
| 260 ### Caca | 278 ### Caca |
| 261 | 279 |
| 262 This platform | 280 This platform |
| 263 draws graphical output to text using | 281 draws graphical output to text using |
| 264 [libcaca](http://caca.zoy.org/wiki/libcaca) | 282 [libcaca](http://caca.zoy.org/wiki/libcaca) |
| 265 (no GPU support; software | 283 (no GPU support; software |
| 266 rendering only). In case you ever wanted to test embedded content shell on | 284 rendering only). In case you ever wanted to test embedded content shell on |
| 267 tty. | 285 tty. |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 284 ./out/OzoneCaca/content_shell --disable-setuid-sandbox | 302 ./out/OzoneCaca/content_shell --disable-setuid-sandbox |
| 285 ``` | 303 ``` |
| 286 | 304 |
| 287 Note: traditional TTYs are not the ideal browsing experience.<br/> | 305 Note: traditional TTYs are not the ideal browsing experience.<br/> |
| 288 [](https://ww w.chromium.org/developers/design-documents/ozone/IMG_20140331_151619.jpg?attredi rects=0) | 306 [](https://ww w.chromium.org/developers/design-documents/ozone/IMG_20140331_151619.jpg?attredi rects=0) |
| 289 | 307 |
| 290 ## Communication | 308 ## Communication |
| 291 | 309 |
| 292 There is a public mailing list: | 310 There is a public mailing list: |
| 293 [ozone-dev@chromium.org](https://groups.google.com/a/chromium.org/forum/#!forum/ ozone-dev) | 311 [ozone-dev@chromium.org](https://groups.google.com/a/chromium.org/forum/#!forum/ ozone-dev) |
| OLD | NEW |