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 [![Picture of a workstation using Ozone/caca to display the Google home page i
n a text terminal](https://www.chromium.org/_/rsrc/1396307876689/developers/desi
gn-documents/ozone/IMG_20140331_151619.jpg?height=240&width=320)](https://ww
w.chromium.org/developers/design-documents/ozone/IMG_20140331_151619.jpg?attredi
rects=0) | 305 [![Picture of a workstation using Ozone/caca to display the Google home page i
n a text terminal](https://www.chromium.org/_/rsrc/1396307876689/developers/desi
gn-documents/ozone/IMG_20140331_151619.jpg?height=240&width=320)](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 |