| 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 * `chrome` |
| 170 |
| 171 To build `chrome`, do this from the `src` directory: |
| 172 |
| 173 ``` shell |
| 174 gn args out/OzoneLinuxDesktop --args="use_ozone=true enable_package_mash_service
s=true" |
| 175 ninja -C out/OzoneLinuxDesktop chrome |
| 176 ``` |
| 177 Then to run for example the X11 platform: |
| 178 |
| 179 ``` shell |
| 180 ./out/OzoneLinuxDesktop/chrome --ozone-platform=x11 \ |
| 181 --disable-setuid-sandbox \ |
| 182 --mash |
| 183 ``` |
| 184 |
| 185 Note: You may need to apply [this patch](https://codereview.chromium.org/2485673
002/) to avoid missing ash resources during chrome execution. |
| 167 | 186 |
| 168 ### GN Configuration notes | 187 ### GN Configuration notes |
| 169 | 188 |
| 170 You can turn properly implemented ozone platforms on and off by setting the | 189 You can turn properly implemented ozone platforms on and off by setting the |
| 171 corresponding flags in your GN configuration. For example | 190 corresponding flags in your GN configuration. For example |
| 172 `ozone_platform_headless=false ozone_platform_gbm=false` will turn off the | 191 `ozone_platform_headless=false ozone_platform_gbm=false` will turn off the |
| 173 headless and DRM/GBM platforms. | 192 headless and DRM/GBM platforms. |
| 174 This will result in a smaller binary and faster builds. To turn ALL platforms | 193 This will result in a smaller binary and faster builds. To turn ALL platforms |
| 175 off by default, set `ozone_auto_platforms=false`. | 194 off by default, set `ozone_auto_platforms=false`. |
| 176 | 195 |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 235 ### Wayland | 254 ### Wayland |
| 236 | 255 |
| 237 This platform provides support for the | 256 This platform provides support for the |
| 238 [Wayland](http://wayland.freedesktop.org/) display protocol. It was | 257 [Wayland](http://wayland.freedesktop.org/) display protocol. It was |
| 239 initially developed by Intel as | 258 initially developed by Intel as |
| 240 [a fork of chromium](https://github.com/01org/ozone-wayland) | 259 [a fork of chromium](https://github.com/01org/ozone-wayland) |
| 241 and then partially upstreamed. | 260 and then partially upstreamed. |
| 242 It is still actively being developed in the chromium tree, feel free to discuss | 261 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`. | 262 with us on freenode.net, `#ozone-wayland` channel or on `ozone-dev`. |
| 244 | 263 |
| 245 In order to run an Ozone build of `chrome`, you currently (2016/10/28) | 264 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. | 265 launching `chrome` from a Wayland environment such as `weston`. Apply |
| 247 Also, accelerated rendering only works in Ozone/Wayland when the UI and GPU | 266 [this patch](https://codereview.chromium.org/2485673002/) and execute the |
| 248 components are running in the same process. Below are some quick build & run | 267 following commands: |
| 249 instructions. It is assumed that you are launching `chrome` from a Wayland | |
| 250 environment such as `weston`. | |
| 251 | 268 |
| 252 ``` shell | 269 ``` shell |
| 253 gn args out/OzoneWayland --args="use_ozone=true ozone_platform_wayland=true targ
et_os=\"chromeos\"" | 270 gn args out/OzoneWayland --args="use_ozone=true enable_package_mash_services=tru
e" |
| 254 ninja -C out/OzoneWayland chrome | 271 ninja -C out/OzoneWayland chrome |
| 255 ./out/OzoneWayland/chrome --ozone-platform=wayland \ | 272 ./out/OzoneWayland/chrome --ozone-platform=wayland \ |
| 256 --in-process-gpu \ | 273 --mash \ |
| 257 --disable-setuid-sandbox | 274 --disable-setuid-sandbox |
| 258 ``` | 275 ``` |
| 259 | 276 |
| 260 ### Caca | 277 ### Caca |
| 261 | 278 |
| 262 This platform | 279 This platform |
| 263 draws graphical output to text using | 280 draws graphical output to text using |
| 264 [libcaca](http://caca.zoy.org/wiki/libcaca) | 281 [libcaca](http://caca.zoy.org/wiki/libcaca) |
| 265 (no GPU support; software | 282 (no GPU support; software |
| 266 rendering only). In case you ever wanted to test embedded content shell on | 283 rendering only). In case you ever wanted to test embedded content shell on |
| (...skipping 17 matching lines...) Expand all Loading... |
| 284 ./out/OzoneCaca/content_shell --disable-setuid-sandbox | 301 ./out/OzoneCaca/content_shell --disable-setuid-sandbox |
| 285 ``` | 302 ``` |
| 286 | 303 |
| 287 Note: traditional TTYs are not the ideal browsing experience.<br/> | 304 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) | 305 [](https://ww
w.chromium.org/developers/design-documents/ozone/IMG_20140331_151619.jpg?attredi
rects=0) |
| 289 | 306 |
| 290 ## Communication | 307 ## Communication |
| 291 | 308 |
| 292 There is a public mailing list: | 309 There is a public mailing list: |
| 293 [ozone-dev@chromium.org](https://groups.google.com/a/chromium.org/forum/#!forum/
ozone-dev) | 310 [ozone-dev@chromium.org](https://groups.google.com/a/chromium.org/forum/#!forum/
ozone-dev) |
| OLD | NEW |