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 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 | 111 |
112 The recommended way to add your platform to the build is as follows. This walks | 112 The recommended way to add your platform to the build is as follows. This walks |
113 through creating a new ozone platform called `foo`. | 113 through creating a new ozone platform called `foo`. |
114 | 114 |
115 1. Fork `chromium/src.git`. | 115 1. Fork `chromium/src.git`. |
116 2. Add your implementation in `ui/ozone/platform/` alongside internal platforms. | 116 2. Add your implementation in `ui/ozone/platform/` alongside internal platforms. |
117 3. Patch `ui/ozone/ozone_extra.gni` to add your `foo` platform. | 117 3. Patch `ui/ozone/ozone_extra.gni` to add your `foo` platform. |
118 | 118 |
119 ## Building with Ozone | 119 ## Building with Ozone |
120 | 120 |
121 ### ChromeOS - ([waterfall](http://build.chromium.org/p/chromium.chromiumos/wate
rfall?builder=Linux+ChromiumOS+Ozone+Builder&builder=Linux+ChromiumOS+Ozone+Test
s+%281%29&builder=Linux+ChromiumOS+Ozone+Tests+%282%29&reload=none)) | 121 ### ChromeOS - ([waterfall](https://build.chromium.org/p/chromium.chromiumos/wat
erfall?builder=Linux+ChromiumOS+Ozone+Builder&builder=Linux+ChromiumOS+Ozone+Tes
ts+%281%29&builder=Linux+ChromiumOS+Ozone+Tests+%282%29&reload=none)) |
122 | 122 |
123 To build `chrome`, do this from the `src` directory: | 123 To build `chrome`, do this from the `src` directory: |
124 | 124 |
125 ``` shell | 125 ``` shell |
126 gn args out/OzoneChromeOS --args="use_ozone=true target_os=\"chromeos\"" | 126 gn args out/OzoneChromeOS --args="use_ozone=true target_os=\"chromeos\"" |
127 ninja -C out/OzoneChromeOS chrome | 127 ninja -C out/OzoneChromeOS chrome |
128 ``` | 128 ``` |
129 | 129 |
130 Then to run for example the X11 platform: | 130 Then to run for example the X11 platform: |
131 | 131 |
(...skipping 21 matching lines...) Expand all 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 --ozone-platform=headless \ | 158 ./out/OzoneEmbedded/content_shell --ozone-platform=headless \ |
159 --ozone-dump-file=/tmp/ | 159 --ozone-dump-file=/tmp/ |
160 ``` | 160 ``` |
161 | 161 |
162 ### Linux Desktop - ([waterfall](https://build.chromium.org/p/chromium.fyi/build
ers/Ozone%20Linux/)) | 162 ### Linux Desktop - ([waterfall](https://build.chromium.org/p/chromium.fyi/build
ers/Ozone%20Linux/)) |
163 Support for Linux Desktop is currently [in-progress](http://crbug.com/295089). | 163 Support for Linux Desktop is currently [in-progress](https://crbug.com/295089). |
164 | 164 |
165 The following targets are currently working: | 165 The following targets are currently working: |
166 | 166 |
167 * various unit tests | 167 * various unit tests |
168 * `chrome` | 168 * `chrome` |
169 | 169 |
170 To build `chrome`, do this from the `src` directory: | 170 To build `chrome`, do this from the `src` directory: |
171 | 171 |
172 ``` shell | 172 ``` shell |
173 gn args out/OzoneLinuxDesktop --args="use_ozone=true enable_package_mash_service
s=true" | 173 gn args out/OzoneLinuxDesktop --args="use_ozone=true enable_package_mash_service
s=true" |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
227 | 227 |
228 ``` shell | 228 ``` shell |
229 content_shell --ozone-platform=headless \ | 229 content_shell --ozone-platform=headless \ |
230 --ozone-dump-file=/tmp/ | 230 --ozone-dump-file=/tmp/ |
231 ``` | 231 ``` |
232 | 232 |
233 ### DRM/GBM | 233 ### DRM/GBM |
234 | 234 |
235 This is Linux direct rending with acceleration via mesa GBM & linux DRM/KMS | 235 This is Linux direct rending with acceleration via mesa GBM & linux DRM/KMS |
236 (EGL/GLES2 accelerated rendering & modesetting in GPU process) and is in | 236 (EGL/GLES2 accelerated rendering & modesetting in GPU process) and is in |
237 production use on [ChromeOS](http://www.chromium.org/chromium-os). | 237 production use on [ChromeOS](https://www.chromium.org/chromium-os). |
238 | 238 |
239 Note that all ChromeOS builds of Chrome will compile and attempt to use this. | 239 Note that all ChromeOS builds of Chrome will compile and attempt to use this. |
240 See [Building Chromium for Chromium OS](https://www.chromium.org/chromium-os/how
-tos-and-troubleshooting/building-chromium-browser) for build instructions. | 240 See [Building Chromium for Chromium OS](https://www.chromium.org/chromium-os/how
-tos-and-troubleshooting/building-chromium-browser) for build instructions. |
241 | 241 |
242 ### Cast | 242 ### Cast |
243 | 243 |
244 This platform is used for | 244 This platform is used for |
245 [Chromecast](https://www.google.com/intl/en_us/chromecast/). | 245 [Chromecast](https://www.google.com/intl/en_us/chromecast/). |
246 | 246 |
247 ### X11 | 247 ### X11 |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
297 ./out/OzoneCaca/content_shell | 297 ./out/OzoneCaca/content_shell |
298 ``` | 298 ``` |
299 | 299 |
300 Note: traditional TTYs are not the ideal browsing experience.<br/> | 300 Note: traditional TTYs are not the ideal browsing experience.<br/> |
301 ![Picture of a workstation using Ozone/caca to display the Google home page in
a text terminal](./images/ozone_caca.jpg) | 301 ![Picture of a workstation using Ozone/caca to display the Google home page in
a text terminal](./images/ozone_caca.jpg) |
302 | 302 |
303 ## Communication | 303 ## Communication |
304 | 304 |
305 There is a public mailing list: | 305 There is a public mailing list: |
306 [ozone-dev@chromium.org](https://groups.google.com/a/chromium.org/forum/#!forum/
ozone-dev) | 306 [ozone-dev@chromium.org](https://groups.google.com/a/chromium.org/forum/#!forum/
ozone-dev) |
OLD | NEW |