| 1 | [[PageOutline]] |
| 2 | {{{ |
| 3 | #!html |
| 4 | <h1 style="text-align: center; color: blue">實作八:VMGL 實作</h1> |
| 5 | }}} |
| 6 | ---- |
| 7 | = 【Step 1: 在 Dom0 上安裝 VMGL 】 = |
| 8 | '''# 安裝環境所需套件.''' [[BR]] |
| 9 | {{{ |
| 10 | ~$ sudo apt-get install build-essential firefox flashplugin-nonfree htop libao2 libasound2 libmikmod2 mesa-common-dev libglu1-mesa-dev mesa-utils libxmu-headers libxmu6 libxmu-dev zlib1g-dev libjpeg62 libjpeg62-dev xutils-dev libxext6 libxext-dev rxvt lwm tightvncserver xauth xvfb xfonts-100dpi xfonts-75dpi culmus xfonts-scalable xfonts-base |
| 11 | }}} |
| 12 | '''# 下載VMGL.''' [[BR]] |
| 13 | rider@cloud:~/vmgl$ wget !http://www.cs.toronto.edu/~andreslc/software/vmgl-0.1.tar.bz2 [[BR]] |
| 14 | rider@cloud:~/vmgl$ tar jxvf vmgl-0.1.tar.bz2 [[BR]] |
| 15 | rider@cloud:~/vmgl$ cd ./vmgl.hg/tightvnc/ [[BR]] |
| 16 | '''# Patch for AMD64_Machine.''' [[BR]] |
| 17 | rider@cloud:~/vmgl$ wget --no-check-certificate !https://trac.nchc.org.tw/grid/raw-attachment/wiki/Xen_GPU_cluster/tightvnc-1.2.9-amd64support.patch [[BR]] |
| 18 | rider@cloud:~/vmgl/vmgl.hg/tightvnc$ patch -p0 < ../../tightvnc-1.2.9-amd64support.patch [[BR]] |
| 19 | rider@cloud:~/vmgl$ cd .. [[BR]] |
| 20 | '''# 設定編譯器路徑.''' [[BR]] |
| 21 | rider@cloud:~/vmgl$ sudo ln -sf /usr/bin/make /usr/bin/gmake (if necessary) [[BR]] |
| 22 | '''# 編譯.''' [[BR]] |
| 23 | rider@cloud:~/vmgl/vmgl.hg$ make [[BR]] |
| 24 | '''# 安裝於 Dom0(host) 端上.''' [[BR]] |
| 25 | rider@cloud:~/vmgl/vmgl.hg$ sudo make install-host [[BR]] |
| 26 | '''# 設定主機信任清單. 在 Dom0 加入 DomU 的 COOKIE.''' [[BR]] |
| 27 | rider@cloud:~$ xauth [[BR]] |
| 28 | {{{ |
| 29 | # Set the authority for remote guest. |
| 30 | |
| 31 | Using authority file /home/rider/.Xauthority |
| 32 | xauth> add guest/unix:10 MIT-MAGIC-COOKIE-1 ec0ffd387888b9749d55f88031505888 -> guest 端的 VMGL DISPLAY:10 |
| 33 | xauth> add guest/unix:1 MIT-MAGIC-COOKIE-1 6824789b4ce0ac5743aeb57fd3ef8f5b -> guest 端的 VNC DISPLAY:1 |
| 34 | xauth> exit |
| 35 | }}} |
| 36 | rider@cloud:~$ xauth list [[BR]] |
| 37 | {{{ |
| 38 | guest:1 MIT-MAGIC-COOKIE-1 5c53c8c640b816d7714e23d5cfcd9a8e |
| 39 | cloud/unix:1 MIT-MAGIC-COOKIE-1 5c53c8c640b816d7714e23d5cfcd9a8e |
| 40 | guest:2 MIT-MAGIC-COOKIE-1 5bfe43007be14ca93e9ee5fc71701463 |
| 41 | cloud/unix:2 MIT-MAGIC-COOKIE-1 5bfe43007be14ca93e9ee5fc71701463 |
| 42 | guest:3 MIT-MAGIC-COOKIE-1 04499062b48a199921e859ee76d267ab |
| 43 | cloud/unix:3 MIT-MAGIC-COOKIE-1 04499062b48a199921e859ee76d267ab |
| 44 | guest/unix:10 MIT-MAGIC-COOKIE-1 ec0ffd387888b9749d55f88031505888 |
| 45 | guest/unix:1 MIT-MAGIC-COOKIE-1 6824789b4ce0ac5743aeb57fd3ef8f5b |
| 46 | guest/unix:2 MIT-MAGIC-COOKIE-1 98e85e7e551246d428023b54b5dff02b |
| 47 | cloud/unix:0 MIT-MAGIC-COOKIE-1 b5f3b4b4f9d0e63e8f9b88a6d57fad15 |
| 48 | localhost:0 MIT-MAGIC-COOKIE-1 b5f3b4b4f9d0e63e8f9b88a6d57fad15 |
| 49 | }}} |
| 50 | ---- |
| 51 | = 【Step 2: 建構一台 VMGL Guest VM 】 = |
| 52 | '''# 設定你想要怎樣規格的虛擬機器.''' [[BR]] |
| 53 | rider@cloud:~$ sudo vim /etc/xen-tools/xen-tools.conf [[BR]] |
| 54 | {{{ |
| 55 | #!sh |
| 56 | dir = /home |
| 57 | install-method = debootstrap |
| 58 | size = 8Gb # Disk image size. |
| 59 | memory = 1024Mb # Memory size |
| 60 | swap = 128Mb # Swap size |
| 61 | fs = ext3 # use the EXT3 filesystem for the disk image. |
| 62 | dist = hardy # Default distribution to install. ---> For CUDA Support (Ubuntu 8.0.4) |
| 63 | image = sparse # Specify sparse vs. full disk images. |
| 64 | gateway = 140.XXX.XXX.XXX |
| 65 | netmask = 255.255.255.0 |
| 66 | broadcast = 140.XXX.XXX.XXX |
| 67 | kernel = /boot/vmlinuz-`uname -r` |
| 68 | initrd = /boot/initrd.img-`uname -r` |
| 69 | mirror = http://free.nchc.org.tw/ubuntu/ |
| 70 | ext3_options = noatime,nodiratime,errors=remount-ro |
| 71 | ext2_options = noatime,nodiratime,errors=remount-ro |
| 72 | xfs_options = defaults |
| 73 | reiser_options = defaults |
| 74 | }}} |
| 75 | rider@cloud:~$ sudo xen-create-image --hostname guest --ip 140.XXX.XXX.XXX [[BR]] |
| 76 | ---- |
| 77 | = 【Step 3: 設定虛擬機器(Guest)】 = |
| 78 | rider@cloud:~$ sudo vim /etc/xen/nvidia.cfg [[BR]] |
| 79 | {{{ |
| 80 | #!sh |
| 81 | kernel = '/boot/vmlinuz-2.6.22.9' |
| 82 | ramdisk = '/boot/initrd.img-2.6.22.9' |
| 83 | |
| 84 | memory = '1024' |
| 85 | vcpus = '4' |
| 86 | |
| 87 | # 不需配置 PCIE 顯示卡 |
| 88 | # pci = ['01:00.0'] |
| 89 | |
| 90 | root = '/dev/sda2 ro' |
| 91 | disk = [ |
| 92 | 'file:/home/domains/nvidia/disk.img,sda2,w', |
| 93 | 'file:/home/domains/nvidia/swap.img,sda1,w', |
| 94 | ] |
| 95 | name = 'nvidia' |
| 96 | |
| 97 | # |
| 98 | # Networking |
| 99 | # |
| 100 | vif = [ 'ip=140.xxx.xxx.xxx,mac=00:16:3E:AA:70:5C' ] |
| 101 | |
| 102 | # |
| 103 | # Behaviour |
| 104 | # |
| 105 | on_poweroff = 'destroy' |
| 106 | on_reboot = 'restart' |
| 107 | on_crash = 'restart' |
| 108 | }}} |
| 109 | ---- |
| 110 | = 【Step 4: 在 DomU(Guest) 上安裝 VMGL 】 = |
| 111 | '''# 啟動虛擬機器Guest並登入.''' [[BR]] |
| 112 | '''# 方法一.''' [[BR]] |
| 113 | rider@cloud:~$ sudo xm create -c guest.cfg [[BR]] |
| 114 | '''# 方法二.''' [[BR]] |
| 115 | @Dom0 [[BR]] |
| 116 | rider@cloud:~$ sudo xm create guest.cfg [[BR]] |
| 117 | @!ClientUser [[BR]] |
| 118 | rider@PC:~$ ssh 140.xxx.xxx.xxx [[BR]] |
| 119 | '''# 安裝環境所需套件.''' [[BR]] |
| 120 | {{{ |
| 121 | ~$ sudo apt-get install build-essential firefox flashplugin-nonfree htop mozilla-plugin-vlc libao2 libasound2 libmikmod2 mesa-common-dev libglu1-mesa-dev mesa-utils libxmu-headers libxmu6 libxmu-dev zlib1g-dev libjpeg62 libjpeg62-dev xutils-dev libxaw-headers libxaw7 libxaw7-dev libxext6 libxext-dev rxvt lwm vlc vlc-plugin-alsa tightvncserver xauth xvfb xfonts-100dpi xfonts-75dpi culmus xfonts-scalable xfonts-base |
| 122 | }}} |
| 123 | '''# 基本桌面環境.''' [[BR]] |
| 124 | {{{ |
| 125 | # Desgin for lightweight X support |
| 126 | |
| 127 | xfonts-base xfonts-100dpi xfonts-75dpi -> fonts support |
| 128 | rxvt -> x-terminal-emulator for VNC |
| 129 | lwm -> x-window-manager for VNC |
| 130 | }}} |
| 131 | '''# 下載VMGL.''' [[BR]] |
| 132 | rider@guest:~$ mkdir -p vmgl [[BR]] |
| 133 | rider@guest:~$ cd ./vmgl [[BR]] |
| 134 | rider@guest:~/vmgl$ wget !http://www.cs.toronto.edu/~andreslc/software/vmgl-0.1.tar.bz2 [[BR]] |
| 135 | rider@guest:~/vmgl$ wget !http://trac.nchc.org.tw/grid/raw-attachment/wiki/Xen_GPU_cluster/tightvnc-1.2.9-amd64support.patch [[BR]] |
| 136 | rider@guest:~/vmgl$ tar jxvf vmgl-0.1.tar.bz2 [[BR]] |
| 137 | rider@guest:~/vmgl$ cd ./vmgl.hg/tightvnc/ [[BR]] |
| 138 | '''# Patch for AMD64_Machine.''' [[BR]] |
| 139 | rider@guest:~/vmgl/vmgl.hg/tightvnc$ patch -p0 < ../../tightvnc-1.2.9-amd64support.patch [[BR]] |
| 140 | rider@guest:~/vmgl$ cd .. [[BR]] |
| 141 | '''# 設定編譯器路徑.''' [[BR]] |
| 142 | rider@guest:~/vmgl$ sudo ln -sf /usr/bin/make /usr/bin/gmake (if necessary) [[BR]] |
| 143 | '''# 建立安裝所需基本目錄.''' [[BR]] |
| 144 | rider@guest:~/vmgl/vmgl.hg$ sudo mkdir -p /usr/lib/xorg (if necessary) [[BR]] |
| 145 | rider@guest:~/vmgl/vmgl.hg$ sudo mkdir -p /usr/lib/xorg/modules (if necessary) [[BR]] |
| 146 | rider@guest:~/vmgl/vmgl.hg$ sudo mkdir -p /usr/lib/xorg/modules/extensions (if necessary) [[BR]] |
| 147 | '''# 編譯.''' [[BR]] |
| 148 | rider@guest:~/vmgl/vmgl.hg$ make [[BR]] |
| 149 | '''# 安裝於 DomU(guest) 端上.''' [[BR]] |
| 150 | rider@guest:~/vmgl/vmgl.hg$ sudo make install-guest [[BR]] |
| 151 | '''# 修正 rgb PATH 問題.''' [[BR]] |
| 152 | {{{ |
| 153 | ## Fix the rgb_Path problem. |
| 154 | rider@guest:~/vmgl/vmgl.hg$ sudo mkdir -p /usr/X11R6/lib |
| 155 | rider@guest:~/vmgl/vmgl.hg$ sudo mkdir /usr/X11R6/lib/X11 |
| 156 | rider@guest:~/vmgl/vmgl.hg$ sudo ln -sf /etc/X11/rgb.txt /usr/X11R6/lib/X11/rgb |
| 157 | }}} |
| 158 | ---- |
| 159 | = 【Step 5: 在 DomU(Guest) 上安裝輕量級桌面環境(LXDE)】 = |
| 160 | rider@client:~$ sudo su [[BR]] |
| 161 | '''# 加入 LXDE 的 source.''' [[BR]] |
| 162 | root@client:/home/rider# echo "deb !http://ppa.launchpad.net/lxde/ubuntu hardy main" >> /etc/apt/sources.list [[BR]] |
| 163 | root@client:/home/rider# echo "deb-src !http://ppa.launchpad.net/lxde/ubuntu hardy main" >> /etc/apt/sources.list [[BR]] |
| 164 | root@client:/home/rider# exit [[BR]] |
| 165 | '''# 安裝 LXDE .''' [[BR]] |
| 166 | rider@client:~$ sudo apt-get install lxde openbox-themes gnome-settings-daemon gnome-settings-daemon-dev gnome-icon-theme [[BR]] |
| 167 | '''# 預設 LXDE 為VNC桌面環境 .''' [[BR]] |
| 168 | rider@client:~$ echo "startlxde &" >> .vnc/xstartup [[BR]] |
| 169 | '''# 基本桌面環境.''' [[BR]] |
| 170 | {{{ |
| 171 | # Desgin for lightweight X support |
| 172 | |
| 173 | lxde -> Lightweight X11 Desktop Environment |
| 174 | openbox -> X-window-manager for VNC |
| 175 | }}} |
| 176 | ---- |
| 177 | = 【Step 6: VMGL 使用說明: 在Dom0 上的設定】 = |
| 178 | '''# 將 X-Windows 桌面 export 出來.''' [[BR]] |
| 179 | rider@cloud:~$ export DISPLAY=:0 [[BR]] |
| 180 | '''# 啟動 VLGL stub-daemon.''' [[BR]] |
| 181 | rider@cloud:~$ stub-daemon [[BR]] |
| 182 | '''# 檢查 stub-daemon 所對應的 port(7000) 有無開啟.''' [[BR]] |
| 183 | rider@cloud:~$ netstat -tunlp [[BR]] |
| 184 | |
| 185 | {{{ |
| 186 | Active Internet connections (only servers) |
| 187 | Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name |
| 188 | tcp 0 0 0.0.0.0:8002 0.0.0.0:* LISTEN - |
| 189 | tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - |
| 190 | tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN - |
| 191 | tcp 0 0 0.0.0.0:7000 0.0.0.0:* LISTEN 29082/stub-daemon ---> VMGL stub-daemon |
| 192 | udp 0 0 0.0.0.0:32769 0.0.0.0:* - |
| 193 | udp 0 0 0.0.0.0:5353 0.0.0.0:* - |
| 194 | }}} |
| 195 | ---- |
| 196 | = 【Step 7: VMGL 使用說明: 在DomU 上的設定】 = |
| 197 | '''# 設定 DomU 上的字型路徑對應.''' [[BR]] |
| 198 | rider@guest:~$ sudo ln -sf /usr/share/fonts/X11/ /usr/X11R6/lib/X11/fonts (if necessary - fix font path) [[BR]] |
| 199 | {{{ |
| 200 | # FontPath: |
| 201 | |
| 202 | /usr/X11R6/lib/X11/fonts |
| 203 | or |
| 204 | /usr/share/fonts/X11 |
| 205 | }}} |
| 206 | '''# 確認 rgb 存在於對應路徑.''' [[BR]] |
| 207 | rider@guest:~$ less /usr/X11R6/lib/X11/rgb.txt (if necessary - rgb path confirmation) [[BR]] |
| 208 | '''# 設定 DomU 上的 VMGL 環境變數.''' [[BR]] |
| 209 | rider@guest:~$ sudo vim /etc/profile [[BR]] |
| 210 | {{{ |
| 211 | GLSTUB=Cloud_IP(host_IP):7000 |
| 212 | LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/vmgl |
| 213 | LD_PRELOAD=/usr/local/lib/vmgl/libGL.so |
| 214 | export GLSTUB LD_LIBRARY_PATH LD_PRELOAD |
| 215 | }}} |
| 216 | rider@guest:~$ source /etc/profile [[BR]] |
| 217 | '''# 設定 DomU 上的 X forwarding.''' [[BR]] |
| 218 | '''Using X forwarding''' [[BR]] |
| 219 | rider@guest:~$ sudo vim /etc/ssh/sshd_config [[BR]] |
| 220 | {{{ |
| 221 | X11Forwarding yes |
| 222 | }}} |
| 223 | rider@guest:~$ sudo vim /etc/ssh/ssh_config [[BR]] |
| 224 | {{{ |
| 225 | ForwardX11 yes |
| 226 | ForwardX11Trusted yes |
| 227 | }}} |
| 228 | '''# 重新啟動 DomU 上的 SSH Service.''' [[BR]] |
| 229 | rider@guest:~$ sudo /etc/init.d/ssh restart [[BR]] |
| 230 | '''# 設定 VNC server 使用者密碼.''' [[BR]] |
| 231 | rider@guest:~$ vncpasswd [[BR]] |
| 232 | {{{ |
| 233 | ~$ vncserver |
| 234 | xauth: creating new authority file /home/gtd/.Xauthority |
| 235 | |
| 236 | New 'X' desktop is guest:1 |
| 237 | |
| 238 | Creating default startup script /home/gtd/.vnc/xstartup |
| 239 | Starting applications specified in /home/gtd/.vnc/xstartup |
| 240 | Log file is /home/gtd/.vnc/guest:1.log |
| 241 | |
| 242 | ~$ vncserver -kill :1 |
| 243 | }}} |
| 244 | '''# 設定 VNC server 啟動參數.''' [[BR]] |
| 245 | rider@guest:~$ vim .vnc/xstartup [[BR]] |
| 246 | {{{ |
| 247 | # xrdb $HOME/.Xresources |
| 248 | }}} |
| 249 | '''# 開啟 DomU 上的第一台VNC Server.''' [[BR]] |
| 250 | rider@guest:~$ vncserver -geometry 1024x768 -depth 24 :1 [[BR]] |
| 251 | '''# 檢查 VNCserver 有無開啟對應之 port(5901開始).''' [[BR]] |
| 252 | rider@guest:~$ netstat -tunlp [[BR]] |
| 253 | {{{ |
| 254 | (Not all processes could be identified, non-owned process info |
| 255 | will not be shown, you would have to be root to see it all.) |
| 256 | Active Internet connections (only servers) |
| 257 | Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name |
| 258 | tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 10652/Xtightvnc ---> guest:1 |
| 259 | tcp 0 0 0.0.0.0:5902 0.0.0.0:* LISTEN 10630/Xtightvnc |
| 260 | tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 10652/Xtightvnc ---> guest:2 |
| 261 | tcp 0 0 0.0.0.0:6002 0.0.0.0:* LISTEN 10630/Xtightvnc |
| 262 | tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN - |
| 263 | tcp6 0 0 :::22 :::* LISTEN - |
| 264 | tcp6 0 0 ::1:6010 :::* LISTEN - |
| 265 | }}} |
| 266 | |
| 267 | '''# 將 VNC Server:1 export 出來.''' [[BR]] |
| 268 | rider@guest:~$ export DISPLAY=:1 [[BR]] |
| 269 | ---- |
| 270 | = 【Step 8: 在 Dom0 上 透過 X forwarding 登入 DomU 】 = |
| 271 | '''# 使用 X forwarding 的方式登入 DomU.''' [[BR]] |
| 272 | '''Using X forwarding''' [[BR]] |
| 273 | rider@cloud:~$ ssh -X guest [[BR]] |
| 274 | '''# 檢查 direct rendering 有無起來.''' [[BR]] |
| 275 | rider@guest:~$ glxinfo [[BR]] |
| 276 | {{{ |
| 277 | name of display: localhost:10.0 |
| 278 | display: localhost:10 screen: 0 |
| 279 | direct rendering: Yes |
| 280 | server glx vendor string: VMGL |
| 281 | server glx version string: 1.2 VMGL |
| 282 | server glx extensions: |
| 283 | client glx vendor string: VMGL |
| 284 | client glx version string: 1.2 VMGL |
| 285 | client glx extensions: |
| 286 | GLX version: 1.3 |
| 287 | GLX extensions: |
| 288 | OpenGL extensions: |
| 289 | GL_ARB_depth_texture, GL_ARB_fragment_program, GL_ARB_multisample, |
| 290 | GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_point_parameters, |
| 291 | GL_ARB_point_sprite, GL_ARB_shadow, GL_ARB_texture_border_clamp, |
| 292 | GL_ARB_texture_compression, GL_ARB_texture_cube_map, |
| 293 | GL_ARB_texture_env_add, GL_ARB_texture_env_combine, |
| 294 | GL_EXT_texture_env_combine, GL_ARB_texture_env_dot3, |
| 295 | GL_EXT_texture_env_dot3, GL_ARB_texture_mirrored_repeat, |
| 296 | GL_ARB_texture_non_power_of_two, GL_ARB_transpose_matrix, |
| 297 | GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_window_pos, |
| 298 | GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_func_separate, |
| 299 | GL_EXT_blend_subtract, GL_EXT_texture_env_add, GL_EXT_fog_coord, |
| 300 | GL_EXT_multi_draw_arrays, GL_EXT_secondary_color, GL_EXT_shadow_funcs, |
| 301 | GL_EXT_stencil_wrap, GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp, |
| 302 | GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias, |
| 303 | GL_EXT_texture_object, GL_EXT_texture3D, GL_EXT_bgra, |
| 304 | GL_IBM_rasterpos_clip, GL_NV_fog_distance, GL_NV_fragment_program, |
| 305 | GL_NV_register_combiners, GL_NV_register_combiners2, |
| 306 | GL_NV_texgen_reflection, GL_NV_texture_rectangle, GL_NV_vertex_program, |
| 307 | GL_NV_vertex_program1_1, GL_NV_vertex_program2, GL_SGIS_generate_mipmap, |
| 308 | GL_CR_state_parameter, GL_CR_cursor_position, GL_CR_bounding_box, |
| 309 | GL_CR_print_string, GL_CR_tilesort_info, GL_CR_synchronization, |
| 310 | GL_CR_head_spu_name, GL_CR_performance_info, GL_CR_window_size, |
| 311 | GL_CR_tile_info, GL_CR_saveframe, GL_CR_readback_barrier_size, |
| 312 | GL_CR_server_id_sharing, GL_CR_server_matrix |
| 313 | GLX_ARB_multisample |
| 314 | OpenGL vendor string: H. Andres Lagar-Cavilla |
| 315 | OpenGL renderer string: VMGL |
| 316 | OpenGL version string: 1.5 VMGL 1.9 |
| 317 | 0x52 24 dc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 2 1 None |
| 318 | 0x53 24 dc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 2 1 None |
| 319 | 0x54 24 dc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 4 1 None |
| 320 | 0x55 24 dc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 4 1 None |
| 321 | 0x56 24 dc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 2 1 None |
| 322 | 0x57 24 dc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 2 1 None |
| 323 | 0x58 24 dc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 4 1 None |
| 324 | 0x59 24 dc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 4 1 None |
| 325 | 0x23 32 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 0 0 None |
| 326 | 0x5a 32 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 0 0 None |
| 327 | 0x5b 32 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 0 0 None |
| 328 | 0x5c 32 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 0 0 None |
| 329 | 0x5d 32 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None |
| 330 | 0x5e 32 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 0 0 None |
| 331 | 0x5f 32 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 0 0 None |
| 332 | 0x60 32 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 0 0 None |
| 333 | 0x61 32 tc 0 32 0 r y . 8 8 8 0 4 0 0 16 16 16 16 0 0 None |
| 334 | 0x62 32 tc 0 32 0 r y . 8 8 8 8 4 0 0 16 16 16 16 0 0 None |
| 335 | 0x63 32 tc 0 32 0 r . . 8 8 8 0 4 0 0 16 16 16 16 0 0 None |
| 336 | 0x64 32 tc 0 32 0 r . . 8 8 8 8 4 0 0 16 16 16 16 0 0 None |
| 337 | 0x65 32 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 2 1 None |
| 338 | 0x66 32 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 2 1 None |
| 339 | 0x67 32 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 4 1 None |
| 340 | 0x68 32 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 4 1 None |
| 341 | 0x69 32 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 2 1 None |
| 342 | 0x6a 32 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 2 1 None |
| 343 | 0x6b 32 tc 0 32 0 r . . 8 8 8 0 4 24 0 16 16 16 16 4 1 None |
| 344 | 0x6c 32 tc 0 32 0 r . . 8 8 8 8 4 24 0 16 16 16 16 4 1 None |
| 345 | 0x6d 32 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 2 1 None |
| 346 | 0x6e 32 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 2 1 None |
| 347 | 0x6f 32 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 4 1 None |
| 348 | 0x70 32 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 4 1 None |
| 349 | 0x71 32 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 2 1 None |
| 350 | 0x72 32 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 2 1 None |
| 351 | 0x73 32 tc 0 32 0 r . . 8 8 8 0 4 24 8 16 16 16 16 4 1 None |
| 352 | 0x74 32 tc 0 32 0 r . . 8 8 8 8 4 24 8 16 16 16 16 4 1 None |
| 353 | }}} |
| 354 | {{{ |
| 355 | #!sh |
| 356 | # Note: please do not run stub-daemon with "root" |
| 357 | }}} |
| 358 | '''# DomU 上的 glxgears 效能測試.''' [[BR]] |
| 359 | rider@guest:~$ glxgears [[BR]] |
| 360 | {{{ |
| 361 | 47819 frames in 5.0 seconds = 9563.678 FPS |
| 362 | 46064 frames in 5.0 seconds = 9212.566 FPS |
| 363 | 44584 frames in 5.0 seconds = 8916.581 FPS |
| 364 | 44256 frames in 5.0 seconds = 8850.974 FPS |
| 365 | 44688 frames in 5.0 seconds = 8937.528 FPS |
| 366 | }}} |
| 367 | ---- |
| 368 | = 【Step 9: 使用 VNC Viewer 登入 DomU 】 = |
| 369 | '''# 透過 VNC Viewer(TurboVNC Viewer or Tightvnc viewer)登入 DomU 的 VNC Server,登入後便可以透過 rxvt 來下指令跑相關3D應用了.''' [[BR]] |
| 370 | @ !ClientUser [[BR]] |
| 371 | rider@PC:~$ vncviewer guest:1 [[BR]] |
| 372 | '''# 檢查 direct rendering=yes?.''' [[BR]] |
| 373 | @ VNC viewer 登入 :1 後 [[BR]] |
| 374 | rider@guest:~$ glxinfo [[BR]] |
| 375 | ---- |