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 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 ``` | 128 ``` |
129 | 129 |
130 Then to run for example the X11 platform: | 130 Then to run for example the X11 platform: |
131 | 131 |
132 ``` shell | 132 ``` shell |
133 ./out/OzoneChromeOS/chrome --ozone-platform=x11 | 133 ./out/OzoneChromeOS/chrome --ozone-platform=x11 |
134 ``` | 134 ``` |
135 | 135 |
136 ### Embedded | 136 ### Embedded |
137 | 137 |
138 The following targets are currently working for embedded builds: | 138 **Warning: Only some targets such as `content_shell` or unit tests are |
139 | 139 currently working for embedded builds.** |
140 * `content_shell` | |
141 * various unit tests | |
142 | |
143 The following targets are currently NOT supported: | |
144 | |
145 * `ash_shell_with_content` | |
146 * `chrome` | |
147 | 140 |
148 To build `content_shell`, do this from the `src` directory: | 141 To build `content_shell`, do this from the `src` directory: |
149 | 142 |
150 ``` shell | 143 ``` shell |
151 gn args out/OzoneEmbedded --args="use_ozone=true toolkit_views=false" | 144 gn args out/OzoneEmbedded --args="use_ozone=true toolkit_views=false" |
152 ninja -C out/OzoneEmbedded content_shell | 145 ninja -C out/OzoneEmbedded content_shell |
153 ``` | 146 ``` |
154 | 147 |
155 Then to run for example the headless platform: | 148 Then to run for example the headless platform: |
156 | 149 |
157 ``` shell | 150 ``` shell |
158 ./out/OzoneEmbedded/content_shell --ozone-platform=headless \ | 151 ./out/OzoneEmbedded/content_shell --ozone-platform=headless \ |
159 --ozone-dump-file=/tmp/ | 152 --ozone-dump-file=/tmp/ |
160 ``` | 153 ``` |
161 | 154 |
162 ### Linux Desktop - ([waterfall](https://build.chromium.org/p/chromium.fyi/build
ers/Ozone%20Linux/)) | 155 ### Linux Desktop - ([waterfall](https://build.chromium.org/p/chromium.fyi/build
ers/Ozone%20Linux/)) |
163 Support for Linux Desktop is currently [in-progress](https://crbug.com/295089). | |
164 | 156 |
165 The following targets are currently working: | 157 **Warning: Experimental support for Linux Desktop is available since m57 |
166 | 158 but this is still [in development](https://crbug.com/295089) and currently has |
167 * various unit tests | 159 many bugs.** |
168 * `chrome` | |
169 | 160 |
170 To build `chrome`, do this from the `src` directory: | 161 To build `chrome`, do this from the `src` directory: |
171 | 162 |
172 ``` shell | 163 ``` shell |
173 gn args out/OzoneLinuxDesktop --args="use_ozone=true enable_package_mash_service
s=true" | 164 gn args out/OzoneLinuxDesktop --args="use_ozone=true enable_package_mash_service
s=true" |
174 ninja -C out/OzoneLinuxDesktop chrome | 165 ninja -C out/OzoneLinuxDesktop chrome |
175 ``` | 166 ``` |
176 Then to run for example the X11 platform: | 167 Then to run for example the X11 platform: |
177 | 168 |
178 ``` shell | 169 ``` shell |
179 ./out/OzoneLinuxDesktop/chrome --ozone-platform=x11 \ | 170 ./out/OzoneLinuxDesktop/chrome --ozone-platform=x11 \ |
180 --mash | 171 --mash \ |
| 172 --window-manager=simple_wm |
181 ``` | 173 ``` |
182 | 174 |
183 Note: You may need to apply [this patch](https://codereview.chromium.org/2485673
002/) to avoid missing ash resources during chrome execution. | |
184 | |
185 ### GN Configuration notes | 175 ### GN Configuration notes |
186 | 176 |
187 You can turn properly implemented ozone platforms on and off by setting the | 177 You can turn properly implemented ozone platforms on and off by setting the |
188 corresponding flags in your GN configuration. For example | 178 corresponding flags in your GN configuration. For example |
189 `ozone_platform_headless=false ozone_platform_gbm=false` will turn off the | 179 `ozone_platform_headless=false ozone_platform_gbm=false` will turn off the |
190 headless and DRM/GBM platforms. | 180 headless and DRM/GBM platforms. |
191 This will result in a smaller binary and faster builds. To turn ALL platforms | 181 This will result in a smaller binary and faster builds. To turn ALL platforms |
192 off by default, set `ozone_auto_platforms=false`. | 182 off by default, set `ozone_auto_platforms=false`. |
193 | 183 |
194 You can also specify a default platform to run by setting the `ozone_platform` | 184 You can also specify a default platform to run by setting the `ozone_platform` |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
252 | 242 |
253 This platform provides support for the | 243 This platform provides support for the |
254 [Wayland](http://wayland.freedesktop.org/) display protocol. It was | 244 [Wayland](http://wayland.freedesktop.org/) display protocol. It was |
255 initially developed by Intel as | 245 initially developed by Intel as |
256 [a fork of chromium](https://github.com/01org/ozone-wayland) | 246 [a fork of chromium](https://github.com/01org/ozone-wayland) |
257 and then partially upstreamed. | 247 and then partially upstreamed. |
258 It is still actively being developed in the chromium tree, feel free to discuss | 248 It is still actively being developed in the chromium tree, feel free to discuss |
259 with us on freenode.net, `#ozone-wayland` channel or on `ozone-dev`. | 249 with us on freenode.net, `#ozone-wayland` channel or on `ozone-dev`. |
260 | 250 |
261 Below are some quick build & run instructions. It is assumed that you are | 251 Below are some quick build & run instructions. It is assumed that you are |
262 launching `chrome` from a Wayland environment such as `weston`. Apply | 252 launching `chrome` from a Wayland environment such as `weston`. Execute the |
263 [this patch](https://codereview.chromium.org/2485673002/) and execute the | |
264 following commands: | 253 following commands: |
265 | 254 |
266 ``` shell | 255 ``` shell |
267 gn args out/OzoneWayland --args="use_ozone=true enable_package_mash_services=tru
e" | 256 gn args out/OzoneWayland --args="use_ozone=true enable_package_mash_services=tru
e" |
268 ninja -C out/OzoneWayland chrome | 257 ninja -C out/OzoneWayland chrome |
269 ./out/OzoneWayland/chrome --ozone-platform=wayland \ | 258 ./out/OzoneWayland/chrome --ozone-platform=wayland \ |
270 --mash | 259 --mash \ |
| 260 --window-manager=simple_wm |
271 ``` | 261 ``` |
272 | 262 |
273 ### Caca | 263 ### Caca |
274 | 264 |
275 This platform | 265 This platform |
276 draws graphical output to text using | 266 draws graphical output to text using |
277 [libcaca](http://caca.zoy.org/wiki/libcaca) | 267 [libcaca](http://caca.zoy.org/wiki/libcaca) |
278 (no GPU support; software | 268 (no GPU support; software |
279 rendering only). In case you ever wanted to test embedded content shell on | 269 rendering only). In case you ever wanted to test embedded content shell on |
280 tty. | 270 tty. |
(...skipping 16 matching lines...) Expand all Loading... |
297 ./out/OzoneCaca/content_shell | 287 ./out/OzoneCaca/content_shell |
298 ``` | 288 ``` |
299 | 289 |
300 Note: traditional TTYs are not the ideal browsing experience.<br/> | 290 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) | 291 ![Picture of a workstation using Ozone/caca to display the Google home page in
a text terminal](./images/ozone_caca.jpg) |
302 | 292 |
303 ## Communication | 293 ## Communication |
304 | 294 |
305 There is a public mailing list: | 295 There is a public mailing list: |
306 [ozone-dev@chromium.org](https://groups.google.com/a/chromium.org/forum/#!forum/
ozone-dev) | 296 [ozone-dev@chromium.org](https://groups.google.com/a/chromium.org/forum/#!forum/
ozone-dev) |
OLD | NEW |