1<?xml version="1.0" encoding="UTF-8" standalone="no"?> 2<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 3 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> 4<!-- Generated by graphviz version 2.43.0 (0) 5 --> 6<!-- Title: %3 Pages: 1 --> 7<svg width="891pt" height="650pt" 8 viewBox="0.00 0.00 891.00 650.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 9<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 646)"> 10<title>%3</title> 11<polygon fill="white" stroke="transparent" points="-4,4 -4,-646 887,-646 887,4 -4,4"/> 12<g id="clust2" class="cluster"> 13<title>cluster_android</title> 14<polygon fill="none" stroke="black" points="8,-8 8,-330 875,-330 875,-8 8,-8"/> 15<text text-anchor="middle" x="441.5" y="-15.8" font-family="Times,serif" font-size="14.00">Cuttlefish VM</text> 16</g> 17<!-- browser --> 18<g id="node1" class="node"> 19<title>browser</title> 20<ellipse fill="none" stroke="black" cx="458" cy="-624" rx="40.09" ry="18"/> 21<text text-anchor="middle" x="458" y="-620.3" font-family="Times,serif" font-size="14.00">Browser</text> 22</g> 23<!-- vnc_client --> 24<g id="node2" class="node"> 25<title>vnc_client</title> 26<ellipse fill="none" stroke="black" cx="346" cy="-624" rx="53.09" ry="18"/> 27<text text-anchor="middle" x="346" y="-620.3" font-family="Times,serif" font-size="14.00">VNC Client</text> 28</g> 29<!-- host_renderer --> 30<g id="node3" class="node"> 31<title>host_renderer</title> 32<ellipse fill="none" stroke="black" cx="167" cy="-377" rx="104.78" ry="18"/> 33<text text-anchor="start" x="94.5" y="-374.3" font-family="Times,serif" font-size="14.00"> </text> 34<text text-anchor="start" x="98.5" y="-374.3" font-family="Times,serif" font-size="14.00" fill="blue">gfxstream</text> 35<text text-anchor="start" x="153.5" y="-374.3" font-family="Times,serif" font-size="14.00"> / virglrenderer </text> 36</g> 37<!-- vmm --> 38<g id="node7" class="node"> 39<title>vmm</title> 40<ellipse fill="none" stroke="black" cx="377" cy="-377" rx="70.39" ry="18"/> 41<text text-anchor="start" x="331" y="-374.3" font-family="Times,serif" font-size="14.00"> </text> 42<text text-anchor="start" x="335" y="-374.3" font-family="Times,serif" font-size="14.00" fill="blue">crosvm</text> 43<text text-anchor="start" x="376" y="-374.3" font-family="Times,serif" font-size="14.00"> / </text> 44<text text-anchor="start" x="388" y="-374.3" font-family="Times,serif" font-size="14.00" fill="red">qemu</text> 45<text text-anchor="start" x="419" y="-374.3" font-family="Times,serif" font-size="14.00"> </text> 46</g> 47<!-- host_renderer->vmm --> 48<g id="edge6" class="edge"> 49<title>host_renderer->vmm</title> 50<path fill="none" stroke="black" d="M282.23,-377C286.9,-377 291.56,-377 296.23,-377"/> 51<polygon fill="black" stroke="black" points="282,-373.5 272,-377 282,-380.5 282,-373.5"/> 52<polygon fill="black" stroke="black" points="296.45,-380.5 306.45,-377 296.45,-373.5 296.45,-380.5"/> 53</g> 54<!-- run_cvd --> 55<g id="node4" class="node"> 56<title>run_cvd</title> 57<ellipse fill="none" stroke="black" cx="556" cy="-624" rx="39.79" ry="18"/> 58<text text-anchor="middle" x="556" y="-620.3" font-family="Times,serif" font-size="14.00">run_cvd</text> 59</g> 60<!-- wayland_socket --> 61<g id="node5" class="node"> 62<title>wayland_socket</title> 63<polygon fill="none" stroke="black" points="512,-482 384,-482 384,-446 512,-446 512,-482"/> 64<text text-anchor="middle" x="448" y="-460.3" font-family="Times,serif" font-size="14.00">internal/frames.sock</text> 65</g> 66<!-- webrtc --> 67<g id="node6" class="node"> 68<title>webrtc</title> 69<ellipse fill="none" stroke="black" stroke-width="2" cx="458" cy="-551" rx="41.69" ry="18"/> 70<text text-anchor="start" x="434" y="-548.3" font-family="Times,serif" font-size="14.00"> </text> 71<text text-anchor="start" x="438" y="-548.3" font-family="Times,serif" font-weight="bold" font-size="14.00">webrtc</text> 72<text text-anchor="start" x="478" y="-548.3" font-family="Times,serif" font-size="14.00"> </text> 73</g> 74<!-- wayland_socket->webrtc --> 75<g id="edge4" class="edge"> 76<title>wayland_socket->webrtc</title> 77<path fill="none" stroke="blue" d="M451.21,-492.27C452.36,-502.04 453.65,-513.06 454.8,-522.83"/> 78<polygon fill="blue" stroke="blue" points="454.67,-491.72 450.02,-482.2 447.72,-492.54 454.67,-491.72"/> 79<polygon fill="blue" stroke="blue" points="451.33,-523.3 455.98,-532.82 458.29,-522.48 451.33,-523.3"/> 80<text text-anchor="start" x="453" y="-504.8" font-family="Times,serif" font-size="14.00"> </text> 81<text text-anchor="start" x="457" y="-504.8" font-family="Times,serif" font-style="italic" font-size="14.00">Wayland</text> 82<text text-anchor="start" x="505" y="-504.8" font-family="Times,serif" font-size="14.00"> </text> 83</g> 84<!-- webrtc->browser --> 85<g id="edge1" class="edge"> 86<title>webrtc->browser</title> 87<path fill="none" stroke="black" d="M458,-579.25C458,-584.72 458,-590.48 458,-595.95"/> 88<polygon fill="black" stroke="black" points="461.5,-579.19 458,-569.19 454.5,-579.19 461.5,-579.19"/> 89<polygon fill="black" stroke="black" points="454.5,-595.97 458,-605.97 461.5,-595.97 454.5,-595.97"/> 90</g> 91<!-- webrtc->run_cvd --> 92<g id="edge3" class="edge"> 93<title>webrtc->run_cvd</title> 94<path fill="none" stroke="black" d="M486.65,-572.75C502.39,-584.16 521.54,-598.03 535.72,-608.31"/> 95<polygon fill="black" stroke="black" points="488.46,-569.74 478.31,-566.71 484.35,-575.41 488.46,-569.74"/> 96</g> 97<!-- vmm->vnc_client --> 98<g id="edge2" class="edge"> 99<title>vmm->vnc_client</title> 100<path fill="none" stroke="red" d="M373.52,-405.47C367.55,-452.67 355.41,-548.65 349.45,-595.73"/> 101<polygon fill="red" stroke="red" points="377.04,-405.59 374.82,-395.23 370.09,-404.71 377.04,-405.59"/> 102<polygon fill="red" stroke="red" points="345.96,-595.43 348.18,-605.79 352.91,-596.31 345.96,-595.43"/> 103</g> 104<!-- vmm->wayland_socket --> 105<g id="edge5" class="edge"> 106<title>vmm->wayland_socket</title> 107<path fill="none" stroke="blue" d="M397.51,-402.56C406.86,-413.75 417.91,-426.97 427.28,-438.19"/> 108<polygon fill="blue" stroke="blue" points="400.12,-400.22 391.03,-394.79 394.75,-404.71 400.12,-400.22"/> 109<polygon fill="blue" stroke="blue" points="424.66,-440.52 433.76,-445.95 430.03,-436.03 424.66,-440.52"/> 110<text text-anchor="start" x="416" y="-417.8" font-family="Times,serif" font-size="14.00"> </text> 111<text text-anchor="start" x="420" y="-417.8" font-family="Times,serif" font-style="italic" font-size="14.00">Wayland</text> 112<text text-anchor="start" x="468" y="-417.8" font-family="Times,serif" font-size="14.00"> </text> 113</g> 114<!-- drm_card --> 115<g id="node8" class="node"> 116<title>drm_card</title> 117<polygon fill="none" stroke="black" points="283,-322 191,-322 191,-286 283,-286 283,-322"/> 118<text text-anchor="middle" x="237" y="-300.3" font-family="Times,serif" font-size="14.00">/dev/dri/card0</text> 119</g> 120<!-- drm_card->vmm --> 121<g id="edge8" class="edge"> 122<title>drm_card->vmm</title> 123<path fill="none" stroke="black" d="M270.53,-322.01C290.69,-332.23 316.44,-345.29 337.56,-356"/> 124<polygon fill="black" stroke="black" points="336.1,-359.18 346.6,-360.59 339.27,-352.94 336.1,-359.18"/> 125</g> 126<!-- drm_render --> 127<g id="node9" class="node"> 128<title>drm_render</title> 129<polygon fill="none" stroke="black" points="529.5,-322 402.5,-322 402.5,-286 529.5,-286 529.5,-322"/> 130<text text-anchor="middle" x="466" y="-300.3" font-family="Times,serif" font-size="14.00">/dev/dri/renderD128</text> 131</g> 132<!-- drm_render->vmm --> 133<g id="edge7" class="edge"> 134<title>drm_render->vmm</title> 135<path fill="none" stroke="black" d="M444.46,-322.19C432.72,-331.55 418.06,-343.24 405.4,-353.34"/> 136<polygon fill="black" stroke="black" points="403.06,-350.73 397.43,-359.7 407.43,-356.2 403.06,-350.73"/> 137</g> 138<!-- angle --> 139<g id="node10" class="node"> 140<title>angle</title> 141<ellipse fill="none" stroke="black" cx="719" cy="-144" rx="29.8" ry="18"/> 142<text text-anchor="middle" x="719" y="-140.3" font-family="Times,serif" font-size="14.00">angle</text> 143</g> 144<!-- egl --> 145<g id="node11" class="node"> 146<title>egl</title> 147<polygon fill="none" stroke="black" points="867,-162 813,-162 813,-126 867,-126 867,-162"/> 148<text text-anchor="middle" x="840" y="-140.3" font-family="Times,serif" font-size="14.00">egl</text> 149</g> 150<!-- angle->egl --> 151<g id="edge16" class="edge"> 152<title>angle->egl</title> 153<path fill="none" stroke="black" stroke-dasharray="5,2" d="M758.97,-144C776.67,-144 797.03,-144 812.91,-144"/> 154<polygon fill="black" stroke="black" points="758.91,-140.5 748.91,-144 758.91,-147.5 758.91,-140.5"/> 155<text text-anchor="middle" x="780.95" y="-129.8" font-family="Times,serif" font-size="14.00">Symlink</text> 156</g> 157<!-- mesa --> 158<g id="node16" class="node"> 159<title>mesa</title> 160<ellipse fill="none" stroke="black" cx="776" cy="-231" rx="29.5" ry="18"/> 161<text text-anchor="middle" x="776" y="-227.3" font-family="Times,serif" font-size="14.00">mesa</text> 162</g> 163<!-- egl->mesa --> 164<g id="edge17" class="edge"> 165<title>egl->mesa</title> 166<path fill="none" stroke="black" stroke-dasharray="5,2" d="M827.05,-162.2C817.55,-174.82 804.53,-192.1 794.02,-206.07"/> 167<polygon fill="black" stroke="black" points="791.07,-204.16 787.85,-214.26 796.66,-208.37 791.07,-204.16"/> 168<text text-anchor="middle" x="834.5" y="-183.8" font-family="Times,serif" font-size="14.00">Symlink</text> 169</g> 170<!-- hwcomposer_drm --> 171<g id="node12" class="node"> 172<title>hwcomposer_drm</title> 173<ellipse fill="none" stroke="black" cx="89" cy="-144" rx="72.59" ry="18"/> 174<text text-anchor="middle" x="89" y="-140.3" font-family="Times,serif" font-size="14.00">hwcomposer.drm</text> 175</g> 176<!-- hwcomposer_drm->drm_card --> 177<g id="edge12" class="edge"> 178<title>hwcomposer_drm->drm_card</title> 179<path fill="none" stroke="black" d="M87.83,-162.25C87.89,-172.4 89.35,-185.14 95,-195 117.09,-233.57 159.03,-262.84 191.63,-281.11"/> 180<polygon fill="black" stroke="black" points="190.1,-284.26 200.56,-285.97 193.45,-278.11 190.1,-284.26"/> 181</g> 182<!-- hwcomposer_ranchu --> 183<g id="node13" class="node"> 184<title>hwcomposer_ranchu</title> 185<ellipse fill="none" stroke="black" cx="262" cy="-144" rx="81.79" ry="18"/> 186<text text-anchor="middle" x="262" y="-140.3" font-family="Times,serif" font-size="14.00">hwcomposer.ranchu</text> 187</g> 188<!-- hwcomposer_ranchu->drm_card --> 189<g id="edge13" class="edge"> 190<title>hwcomposer_ranchu->drm_card</title> 191<path fill="none" stroke="black" d="M258.04,-162.08C256.73,-167.77 255.29,-174.16 254,-180 250.77,-194.64 249.39,-198.2 247,-213 243.63,-233.92 241.03,-257.76 239.33,-275.65"/> 192<polygon fill="black" stroke="black" points="235.84,-275.4 238.42,-285.68 242.81,-276.04 235.84,-275.4"/> 193</g> 194<!-- minigbm --> 195<g id="node15" class="node"> 196<title>minigbm</title> 197<ellipse fill="none" stroke="black" cx="300" cy="-231" rx="43.59" ry="18"/> 198<text text-anchor="middle" x="300" y="-227.3" font-family="Times,serif" font-size="14.00">minigbm</text> 199</g> 200<!-- hwcomposer_ranchu->minigbm --> 201<g id="edge15" class="edge"> 202<title>hwcomposer_ranchu->minigbm</title> 203<path fill="none" stroke="black" stroke-dasharray="5,2" d="M258.03,-172.56C258,-180.09 258.97,-188.08 262,-195 264.11,-199.81 267.24,-204.24 270.81,-208.23"/> 204<polygon fill="black" stroke="black" points="261.54,-172.56 258.65,-162.37 254.55,-172.14 261.54,-172.56"/> 205<polygon fill="black" stroke="black" points="268.47,-210.84 278.08,-215.32 273.36,-205.83 268.47,-210.84"/> 206<text text-anchor="middle" x="333" y="-183.8" font-family="Times,serif" font-size="14.00">AIDL (graphics.allocator)</text> 207</g> 208<!-- vulkan --> 209<g id="node14" class="node"> 210<title>vulkan</title> 211<polygon fill="none" stroke="black" points="594,-162 540,-162 540,-126 594,-126 594,-162"/> 212<text text-anchor="middle" x="567" y="-140.3" font-family="Times,serif" font-size="14.00">vulkan</text> 213</g> 214<!-- vulkan->angle --> 215<g id="edge18" class="edge"> 216<title>vulkan->angle</title> 217<path fill="none" stroke="black" d="M604.42,-144C630.44,-144 664.68,-144 688.94,-144"/> 218<polygon fill="black" stroke="black" points="604.17,-140.5 594.17,-144 604.17,-147.5 604.17,-140.5"/> 219<text text-anchor="middle" x="641.55" y="-129.8" font-family="Times,serif" font-size="14.00">Shared library</text> 220</g> 221<!-- swiftshader --> 222<g id="node17" class="node"> 223<title>swiftshader</title> 224<ellipse fill="none" stroke="black" cx="439" cy="-231" rx="77.19" ry="18"/> 225<text text-anchor="middle" x="439" y="-227.3" font-family="Times,serif" font-size="14.00">SwiftShader Pastel</text> 226</g> 227<!-- vulkan->swiftshader --> 228<g id="edge19" class="edge"> 229<title>vulkan->swiftshader</title> 230<path fill="none" stroke="black" stroke-dasharray="5,2" d="M541.1,-162.2C521.19,-175.42 493.56,-193.77 472.06,-208.04"/> 231<polygon fill="black" stroke="black" points="469.96,-205.24 463.56,-213.69 473.83,-211.07 469.96,-205.24"/> 232<text text-anchor="middle" x="533.5" y="-183.8" font-family="Times,serif" font-size="14.00">Symlink</text> 233</g> 234<!-- vulkan_ranchu --> 235<g id="node19" class="node"> 236<title>vulkan_ranchu</title> 237<ellipse fill="none" stroke="blue" cx="610" cy="-231" rx="76.09" ry="18"/> 238<text text-anchor="middle" x="610" y="-227.3" font-family="Times,serif" font-size="14.00">Gfxstream Vulkan</text> 239</g> 240<!-- vulkan->vulkan_ranchu --> 241<g id="edge20" class="edge"> 242<title>vulkan->vulkan_ranchu</title> 243<path fill="none" stroke="black" stroke-dasharray="5,2" d="M575.7,-162.2C581.7,-174.07 589.8,-190.07 596.62,-203.55"/> 244<polygon fill="black" stroke="black" points="593.67,-205.48 601.31,-212.82 599.92,-202.32 593.67,-205.48"/> 245<text text-anchor="middle" x="614.5" y="-183.8" font-family="Times,serif" font-size="14.00">Symlink</text> 246</g> 247<!-- minigbm->drm_render --> 248<g id="edge9" class="edge"> 249<title>minigbm->drm_render</title> 250<path fill="none" stroke="black" d="M329.3,-244.53C353.46,-254.87 388.28,-269.76 416.72,-281.92"/> 251<polygon fill="black" stroke="black" points="415.53,-285.22 426.1,-285.93 418.28,-278.78 415.53,-285.22"/> 252</g> 253<!-- minigbm->hwcomposer_drm --> 254<g id="edge14" class="edge"> 255<title>minigbm->hwcomposer_drm</title> 256<path fill="none" stroke="black" stroke-dasharray="5,2" d="M247.76,-225.65C199.66,-220.7 132.72,-211.14 112,-195 104.63,-189.26 99.54,-180.61 96.05,-172.12"/> 257<polygon fill="black" stroke="black" points="247.42,-229.13 257.72,-226.64 248.11,-222.17 247.42,-229.13"/> 258<polygon fill="black" stroke="black" points="99.26,-170.69 92.67,-162.39 92.65,-172.99 99.26,-170.69"/> 259<text text-anchor="middle" x="183" y="-183.8" font-family="Times,serif" font-size="14.00">HIDL (graphics.allocator)</text> 260</g> 261<!-- mesa->drm_render --> 262<g id="edge10" class="edge"> 263<title>mesa->drm_render</title> 264<path fill="none" stroke="black" d="M749.03,-238.18C702.86,-248.75 607.16,-270.67 539.87,-286.08"/> 265<polygon fill="black" stroke="black" points="538.71,-282.76 529.74,-288.4 540.27,-289.58 538.71,-282.76"/> 266</g> 267<!-- surfaceflinger --> 268<g id="node18" class="node"> 269<title>surfaceflinger</title> 270<ellipse fill="none" stroke="black" cx="400" cy="-57" rx="59.59" ry="18"/> 271<text text-anchor="middle" x="400" y="-53.3" font-family="Times,serif" font-size="14.00">surfaceflinger</text> 272</g> 273<!-- surfaceflinger->egl --> 274<g id="edge21" class="edge"> 275<title>surfaceflinger->egl</title> 276<path fill="none" stroke="black" d="M449.56,-67.14C518.71,-79.96 648.01,-104.15 758,-126 772.69,-128.92 788.83,-132.24 802.88,-135.17"/> 277<polygon fill="black" stroke="black" points="802.19,-138.6 812.69,-137.22 803.62,-131.75 802.19,-138.6"/> 278<text text-anchor="middle" x="698" y="-96.8" font-family="Times,serif" font-size="14.00">Shared library</text> 279</g> 280<!-- surfaceflinger->hwcomposer_drm --> 281<g id="edge23" class="edge"> 282<title>surfaceflinger->hwcomposer_drm</title> 283<path fill="none" stroke="black" stroke-dasharray="5,2" d="M331,-60.87C243.25,-65.23 101.11,-75.01 85,-93 79.53,-99.11 78.63,-107.5 79.67,-115.66"/> 284<polygon fill="black" stroke="black" points="331.33,-64.35 341.15,-60.37 330.99,-57.36 331.33,-64.35"/> 285<polygon fill="black" stroke="black" points="76.3,-116.65 81.84,-125.68 83.15,-115.17 76.3,-116.65"/> 286<text text-anchor="middle" x="159" y="-96.8" font-family="Times,serif" font-size="14.00">HIDL (graphics.composer)</text> 287</g> 288<!-- surfaceflinger->hwcomposer_ranchu --> 289<g id="edge22" class="edge"> 290<title>surfaceflinger->hwcomposer_ranchu</title> 291<path fill="none" stroke="black" stroke-dasharray="5,2" d="M333.4,-64.32C295.3,-69.46 252.79,-78.34 241,-93 235.28,-100.11 236.91,-109.01 241.13,-117.32"/> 292<polygon fill="black" stroke="black" points="334.01,-67.77 343.49,-63.03 333.12,-60.82 334.01,-67.77"/> 293<polygon fill="black" stroke="black" points="238.27,-119.34 246.51,-125.99 244.21,-115.65 238.27,-119.34"/> 294<text text-anchor="middle" x="318" y="-96.8" font-family="Times,serif" font-size="14.00">AIDL (graphics.composer3)</text> 295</g> 296<!-- surfaceflinger->vulkan --> 297<g id="edge24" class="edge"> 298<title>surfaceflinger->vulkan</title> 299<path fill="none" stroke="black" d="M429.09,-72.81C457.38,-87.2 500.42,-109.11 530.88,-124.62"/> 300<polygon fill="black" stroke="black" points="529.4,-127.79 539.9,-129.21 532.58,-121.55 529.4,-127.79"/> 301<text text-anchor="middle" x="532" y="-96.8" font-family="Times,serif" font-size="14.00">Shared library</text> 302</g> 303<!-- surfaceflinger->minigbm --> 304<g id="edge25" class="edge"> 305<title>surfaceflinger->minigbm</title> 306<path fill="none" stroke="black" d="M398.38,-85.25C397.64,-92.68 396.56,-100.69 395,-108 393.24,-116.25 390.35,-117.68 389,-126 386.44,-141.79 383.55,-146.96 389,-162 392.55,-171.79 400.45,-170.21 404,-180 406.27,-186.27 407.89,-189.59 404,-195 403.01,-196.37 371.22,-206.96 343.05,-216.13"/> 307<polygon fill="black" stroke="black" points="401.87,-85.53 399.22,-75.27 394.89,-84.94 401.87,-85.53"/> 308<polygon fill="black" stroke="black" points="341.72,-212.89 333.29,-219.3 343.88,-219.54 341.72,-212.89"/> 309<text text-anchor="middle" x="460" y="-140.3" font-family="Times,serif" font-size="14.00">HIDL (graphics.allocator)</text> 310</g> 311<!-- vulkan_ranchu->drm_render --> 312<g id="edge11" class="edge"> 313<title>vulkan_ranchu->drm_render</title> 314<path fill="none" stroke="black" d="M578.4,-247.58C558.26,-257.51 531.89,-270.51 509.75,-281.43"/> 315<polygon fill="black" stroke="black" points="507.97,-278.4 500.55,-285.96 511.07,-284.68 507.97,-278.4"/> 316</g> 317</g> 318</svg> 319