<?xml version="1.0" encoding="UTF-8"?>
<projects type="array">
  <project>
    <created-at type="datetime">2008-08-29T15:59:19-04:00</created-at>
    <demo></demo>
    <description>Location information is a key contextual element for 911 emergency response and other emerging applications.  We have develop the first accurate localization systems based on GSM and CDMA cell phone signals, which can be used in indoor environments where GPS does not work well.  Before this work, it was widely presumed that the large cell size of cell phone systems made them inherently inaccurate for indoor localization.  Instead, our research showed that cell phone based localization can achieve median accuracies of 5 meters in large multi-floor structures.  The key to high accuracy is the use of wide signal-strength fingerprints, which include signals that are strong enough to be detected, but are too weak to be used for communication; the higher dimensionality introduced by the additional signals dramatically increases accuracy.  Cell phone based localization has the advantage that it uses the phone&#8217;s existing hardware removing the need for additional interfaces.  </description>
    <documentation></documentation>
    <downloads></downloads>
    <id type="integer">5</id>
    <title>Accurate Cell Phone Localization</title>
    <updated-at type="datetime">2008-11-12T11:49:57-05:00</updated-at>
  </project>
  <project>
    <created-at type="datetime">2008-08-29T14:34:49-04:00</created-at>
    <demo nil="true"></demo>
    <description>&lt;p&gt;
Cell phones and other mobile devices are characterized by limited resources, such as small screen size, limited network bandwidth, and short battery life. Without customization of content, users have to endure a significant degradation in their experience when they browse the Web on their mobile devices.  Today, Web content is customized for mobile devices using manual techniques, such as WAP, that require content creators to maintain multiple versions to support a plethora of devices.  As a result, the high cost associated with hand-tailoring content has limited the deployment of these techniques to a small set of Web sites and a few popular devices.
&lt;/p&gt;

&lt;p&gt;
A promising alternative is to deploy an automatic adaptation service that transforms content for a wide range of devices. The main challenge for automatic content customization lies in the design of effective customization policies. This is a complex problem because optimal customization often depends on the usage semantics of the content and the user's context.  For example, when adapting an image-rich web page, it may be appropriate to load high-fidelity versions of images that are central to the tasks, while loading other images at lower fidelity to save resources.
&lt;/p&gt;
&lt;p&gt;
This project researches Usage awaRe Automatic Content Adaptation (URICA), a novel technique for automatic content customization that learns how to adapt content from feedback provided by users.  When serving content to a mobile user, URICA first makes an initial prediction on how to customize the content. Next, URICA allows users who are unsatisfied with the system&#8217;s adaptation decision to take control of the adaptation process and make changes until the content is suitably adapted for their purposes.  For example, a user may choose to remove a toolbar to improve readability, or ask the system to improve the resolution of a specific image. The successful adaptation is recorded and used in making future adaptation decisions for other users.
&lt;/p&gt;
</description>
    <documentation nil="true"></documentation>
    <downloads></downloads>
    <id type="integer">4</id>
    <title>Interactive Web Content Adaptation</title>
    <updated-at type="datetime">2008-09-19T23:21:31-04:00</updated-at>
  </project>
  <project>
    <created-at type="datetime">2008-10-03T11:22:05-04:00</created-at>
    <demo> &lt;OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="297" HEIGHT="478" CODEBASE="http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0"&gt;
&lt;PARAM NAME="movie" VALUE="demo_qvga.swf"&gt;
&lt;PARAM NAME="play" VALUE="true"&gt;
&lt;PARAM NAME="loop" VALUE="false"&gt;
&lt;PARAM NAME="quality" VALUE="low"&gt;
&lt;EMBED SRC="http://www.cs.toronto.edu/~nilton/pagetailor/demo_qvga.swf" WIDTH="297" HEIGHT="478" play="true" quality="low" loop="false" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;


</demo>
    <description>&lt;p&gt;Browsing the web on mobile devices is an unpleasant experience. Most pages are designed for viewing on desktop computers with large screens and either render poorly on smaller devices or require considerable scrolling effort on the part of the user.&lt;/p&gt;

&lt;p&gt;PageTailor improves the experience of mobile device users by allowing them to easily customize the layout of web pages for better presentation on their devices. The end user can customize a web page graphically by clicking on page elements, such as images, as part of her browsing activities on the mobile device, using the same browser interface that is familiar to her.&lt;/p&gt;

&lt;p&gt;
Once the user customizes a web page, PageTailor remembers those customizations, and in future visits to the page it presents the customized version. If the page is updated the new content is presented with the customizations in place. In addition, when the user visits a page that is similar to one that she has customized before, PageTailor automatically customizes the new page, according to the user's preferences.
&lt;/p&gt;

&lt;p&gt;PageTailor, is able to support the functionality described above by implementing the Reusable End-User Customization(REUC) technique. REUC enables easy end-user customization and re-application of those customizations in future visits to customized web pages. In addition, this technique allows PageTailor to discover similarities between pages visited and automatically apply the user's customizations on new pages they visit.
&lt;/p&gt;

&lt;p&gt;
We conducted experiments with PageTailor and found that untrained users can utilize PageTailor to adapt sophisticated Web sites, such as Amazon, BBC and MSN, for browsing on a PDA. We also found that the customizations made by these users remain effective for up to a year, even as the content of pages is updated. These customizations can also be reused across similar pages, limiting the customization effort required to browse a site.
&lt;/p&gt;

&lt;p&gt;
PageTailor is implemented as an extension for Mozilla-based web browsers.
In the downloads section we provide implementations of PageTailor for Windows Mobile devices as well as desktop computers. On mobile devices, PageTailor works with the Minimo web browser, and on desktop machines it works with the Mozilla Firefox web browser.&lt;br&gt;
These implementations are compatible with one another so, in addition to allowing the user to customize pages and access these customizations on one environment (e.g. the mobile phone), users can also customize web page on one environment (e.g. the desktop) and use these customizations on another environment (e.g. the mobile).
&lt;/p&gt;</description>
    <documentation>To learn more about PageTailor head over to: &lt;a href="http://www.cs.toronto.edu/~nilton/pagetailor/"&gt;http://www.cs.toronto.edu/~nilton/pagetailor/&lt;/a&gt;</documentation>
    <downloads>Download PageTailor from here: &lt;a href="http://www.cs.toronto.edu/~nilton/pagetailor/#desktop"&gt;http://www.cs.toronto.edu/~nilton/pagetailor/&lt;/a&gt;</downloads>
    <id type="integer">9</id>
    <title>PageTailor: Reusable End-User Customization</title>
    <updated-at type="datetime">2008-10-21T15:54:01-04:00</updated-at>
  </project>
  <project>
    <created-at type="datetime">2008-08-29T16:15:13-04:00</created-at>
    <demo nil="true"></demo>
    <description>&lt;p&gt;
This project leverages the sensing capabilities of modern mobile devices to addresses the challenge of enabling secure spontaneous communication between wireless devices that come within close proximity of each other, but lack a pre-existing trust relationship &#8211; devices that are previously unknown to each other.  Spontaneous secure pairing of pervasive devices would for example ensure that when Alice forwards her private contact information to Bob (who she just met), her phone communicates with Bob&#8217;s cell phone (possibly over Bluetooth or WiFi), and not with some other malicious device trying to impersonate Bob&#8217;s cell phone.  
&lt;/p&gt;

&lt;p&gt;
Our approach uses knowledge of the common radio environment, which changes over location and time, as proof of physical proximity.  We have developed an algorithm that extends the Diffie-Hellman key exchange with a proximity authentication phase. After the Diffie-Hellman exchange, each device generates a signature by monitoring the transmissions of ambient radio sources (e.g., available WiFi access points).  The devices then compare the signatures, and verify whether there is enough similarity to conclude that they are in proximity.   This approach provides security without requiring user involvement to verify the pairing process, e.g., users are not required to type a password.    
&lt;/p&gt;</description>
    <documentation nil="true"></documentation>
    <downloads></downloads>
    <id type="integer">6</id>
    <title>Proximity-Based Secure Communication</title>
    <updated-at type="datetime">2008-09-19T12:00:50-04:00</updated-at>
  </project>
  <project>
    <created-at type="datetime">2008-09-19T14:23:59-04:00</created-at>
    <demo nil="true"></demo>
    <description>Snowbird is a middleware system based on virtual machine (VM)
technology that simplifies the development and deployment of bimodal applications.
Such applications alternate between phases with heavy computationalresource
needs and phases rich in user interaction. Examples include digital
animation, as well as scientific, medical, and engineering diagnostic and design
tools. Traditionally, these applications have been manually partitioned into distributed
components to take advantage of remote computational resources, while
still providing low-latency user interaction. Instead, Snowbird lets developers
design their applications as monolithic units within a VM, and automatically
migrates the application to the optimal execution site to achieve short completion
time and crisp interactive performance. Snowbird does not require that applications
be written in a specific language, or use specific libraries, and it can be
used with existing applications, including closed-source ones, without requiring
recompilation or relinking. Snowbird achieves these goals by augmenting VM
migration with an interaction-aware migration manager, support for graphics
hardware acceleration, and a wide-area peer-to-peer storage system. Experiments
conducted with a number of real-world applications, including commercial
closed-source tools, show that applications running under Snowbird come within
4% of optimal compute time, and provide crisp interactive performance that is
comparable to native local execution.</description>
    <documentation nil="true"></documentation>
    <downloads></downloads>
    <id type="integer">8</id>
    <title>Snowbird: Bimodal Applications Made Easy</title>
    <updated-at type="datetime">2008-09-21T22:41:01-04:00</updated-at>
  </project>
  <project>
    <created-at type="datetime">2008-08-25T17:53:14-04:00</created-at>
    <demo></demo>
    <description>&lt;p&gt;
SnowFlock leverages virtual machine (VM) technology to enable high performance computing on cloud environments.  Cloud computing has the potential to simplify the deployment of high performance applications by shifting the significant fixed costs of provisioning and operating the data center to a third party service provider, such as Amazon or Yahoo, who offers computation and storage for rent as a metered commodity.  VM execution provides security, performance isolation, and the flexibility of running in a programmer customized environment.
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
SnowFlock supports parallel execution on virtual clusters. In SnowFlock, a VM is swiftly cloned into multiple copies that execute simultaneously on different physical hosts, and then disappear when the computation ends. SnowFlock simplifies the development of parallel applications and reduces management burden by enabling the agile (within hundreds of milliseconds) instantiation of new stateful computing elements: workers that need no setup time because they have a memory of the application state achieved up to the point of cloning.  In contrast, the provisioning of additional elements in existing clouds requires minutes and is stateless. 
&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
In addition to lending itself to the efficient processing of large remote datasets, SnowFlock is also well suited for the cloud-based deployment of web services that leverage parallel execution to deliver interactive performance (seconds to a few minutes) for resource-intensive applications.   Compute-intensive web services exist in diverse domains such as bioinformatics, finance, graphics rendering, and search.  For example, the NCBI BLAST web service, perhaps the most widely used bioinformatics tool, accepts DNA or protein sequences as queries, and leverages cluster computing to enable biologists to quickly learn what other known biological sequences are similar. 
&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table width="312" cellspacing="0" cellpadding="1" align="center" bgcolor="#000066"&gt;

    &lt;tr&gt;&lt;td&gt;
	  &lt;table width="100%" border="0" cellspacing="0" cellpadding="3" bgcolor="#eeeeee"&gt;
	  &lt;tr&gt;&lt;td align="left"&gt;
&lt;center&gt;&lt;div class="boldtext"&gt;Receive Updates on Snowflock:&lt;/div&gt;&lt;/center&gt;
&lt;br&gt;
Please give us your e-mail to receive updates on Snowflock 
(including on source code availability).&lt;br&gt;&lt;br&gt;

&lt;center&gt;
  &lt;form action="signup.php" method="post"&gt;
    &lt;input type="text" name="email" size="28"&gt;
   &amp;nbsp;
    &lt;input type="submit" value="Sign Up"&gt;
  &lt;/form&gt;
&lt;/center&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;


</description>
    <documentation>The SnowFlock manual: &lt;a href="http://compbio.cs.toronto.edu/snowflock/releases/0.2/SnowFlock_Manual.html"&gt;html&lt;/a&gt; (preferred) and &lt;a href="http://compbio.cs.toronto.edu/snowflock/releases/0.2/SnowFlock_Manual.pdf"&gt;pdf&lt;/a&gt; formats.</documentation>
    <downloads>We are releasing Snowflock in binary and source code form. Our binary release is made up of the following components, packaged as red-hat friendly rpm:

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; The SnowFlock manual: &lt;a href="http://compbio.cs.toronto.edu/snowflock/releases/0.2/SnowFlock_Manual.html"&gt;html&lt;/a&gt; (preferred) and &lt;a href="http://compbio.cs.toronto.edu/snowflock/releases/0.2/SnowFlock_Manual.pdf"&gt;pdf&lt;/a&gt; formats.

&lt;li&gt; The main &lt;a href="http://compbio.cs.toronto.edu/snowflock/releases/0.2/snowflock-0.2-1.i686.rpm"&gt;snowflock&lt;/a&gt; rpm &lt;font face="Arial" size="1"&gt;(md5sum 90a94bff883f252ba2b8f807265e6a9a)&lt;/font&gt;.
&lt;li&gt; The &lt;a href="http://compbio.cs.toronto.edu/snowflock/releases/0.2/snowflock-guest-0.2-1.i686.rpm"&gt;snowflock-guest&lt;/a&gt; rpm, to be installed in your VMs &lt;font face="Arial" size="1"&gt;(md5sum d15678030a5990128f4552e66c562e3d)&lt;/font&gt;.
&lt;li&gt; The &lt;a href="http://compbio.cs.toronto.edu/snowflock/releases/0.2/mpich-sf-0.2-1.i686.rpm"&gt;mpich-sf&lt;/a&gt; rpm, a version of MPI (MPICH2 flavour) integrated with SnowFlock that you can install in your VMs &lt;font face="Arial" size="1"&gt;(md5sum 465a695491ae29a5505759593acaf9f6)&lt;/font&gt;.

&lt;li&gt; A bzipped Xen &lt;a href="http://compbio.cs.toronto.edu/snowflock/releases/0.2/vmimg.bz2"&gt;VM image&lt;/a&gt; ready-to go, with the two packages above installed &lt;font face="Arial" size="1"&gt;(md5sum 0f6ae47c2cf4eb4f8b79881399b24889)&lt;/font&gt;.
&lt;li&gt; If you happen to use Platform EGO, you can add SnowFlock as another service consumer. You'll need the &lt;a href="http://compbio.cs.toronto.edu/snowflock/releases/0.2/libegosf-0.2-1.i686.rpm"&gt;libegosf&lt;/a&gt; rpm &lt;font face="Arial" size="1"&gt;(md5sum c91e1f944faacdcbe18c9a89e0baf3b2)&lt;/font&gt;.
&lt;/ul&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
If you crave for a source distribution, you can check out our &lt;a href="http://compbio.cs.toronto.edu/repos/snowflock"&gt;subversion repository&lt;/a&gt;, or download a &lt;a href="http://compbio.cs.toronto.edu/snowflock/releases/0.2/snowflock-0.2.tar.gz"&gt;tarball&lt;/a&gt; of the repository &lt;font face="Arial" size="1"&gt;(md5sum 9bbb4adde9c2b9f9df06079880d53db8)&lt;/font&gt;. If you are interested specifically in our modifications to the Xen source tree, simply do &lt;font face="Arial" size="2"&gt;svn diff -r1&lt;/font&gt; on the &lt;font face="Arial" size="2"&gt;xen-3.0.3&lt;/font&gt; directory of our source distribution. 


&lt;br&gt;&lt;br&gt;

The SnowFlock code is released under the GPL license. Read our license &lt;a href="http://compbio.cs.toronto.edu/snowflock/releases/0.2/COPYING"&gt;here&lt;/a&gt; and authorship information &lt;a href="http://compbio.cs.toronto.edu/snowflock/releases/0.2/AUTHORS"&gt;here&lt;/a&gt;.

</downloads>
    <id type="integer">1</id>
    <title>SnowFlock: Swift VM Cloning for Cloud Computing</title>
    <updated-at type="datetime">2009-04-02T04:47:07-04:00</updated-at>
  </project>
  <project>
    <created-at type="datetime">2008-09-19T12:43:59-04:00</created-at>
    <demo>&lt;iframe src="http://www.youtube.com/v/AILF3vDu6Bc&amp;hl=en&amp;fs=1" style="width: 400px; height: 300px;"&gt;
&lt;/iframe&gt;</demo>
    <description>OpenGL apps running inside a Virtual Machine (VM) can use VMGL to take advantage of graphics hardware acceleration. VMGL can be used on VMware guests, Xen HVM domains (depending on hardware virtualization extensions) and Xen paravirtual domains, using XVnc or the virtual framebuffer. Although we haven't tested it, VMGL should work for qemu, KVM, and VirtualBox. VMGL is available for X11-based guest OS's: Linux, FreeBSD and OpenSolaris. Finally, VMGL is GPU-independent: we support ATI, Nvidia and Intel GPUs.</description>
    <documentation>        &lt;table border="0" width="100%"&gt;
&lt;hr color="#C0C0C0" size="1"&gt;&lt;b&gt;
        &lt;h2&gt;&lt;font face="Arial" size="3" color="#111111"&gt;What is this:&lt;/font&gt;&lt;/h2&gt;
        &lt;font face="Arial" size="2"&gt;
        &lt;dl&gt;
          &lt;dt&gt;OpenGL apps running inside a Virtual Machine (VM) can use VMGL to take advantage of graphics hardware acceleration.
            VMGL can be used on VMware guests, Xen HVM domains (depending on hardware virtualization extensions)
            and Xen paravirtual domains, using XVnc or the virtual framebuffer.
            Although we haven't tested it, VMGL should work for qemu, KVM, and
            VIrtualBox.
            VMGL is available for X11-based guest OS's: Linux, FreeBSD and
            OpenSolaris. VMGL is GPU-independent: we support ATI,
            Nvidia and Intel GPUs.&lt;/dt&gt;
        &lt;/dl&gt;
&lt;hr color="#C0C0C0" size="1"&gt;
&lt;img border="0" src="http://www.cs.toronto.edu/~andreslc/vmgl/unreal.png" width="480" height="360"&gt;

        &lt;h2&gt;&lt;font face="Arial" size="3" color="#111111"&gt;How to build:&lt;/font&gt;&lt;/h2&gt;
        &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;If you cloned the repository or
        downloaded the tarball:&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
        &lt;ul&gt;
          &lt;li&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;Copy the source into your guest (VM
            or domain) and host (dom0, kernel hosting VMware, etc..)&lt;/b&gt;&lt;/font&gt;&lt;/li&gt;

          &lt;li&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;Type &amp;quot;make&amp;quot;&lt;/b&gt;&lt;/font&gt;&lt;/li&gt;
          &lt;li&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;In the guest, type
            &amp;quot;make install-guest&amp;quot;&lt;/b&gt;&lt;/font&gt;&lt;/li&gt;
          &lt;li&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;In the host, type &amp;quot;make
            install-host&amp;quot;&lt;/b&gt;&lt;/font&gt;&lt;/li&gt;
        &lt;/ul&gt;
        &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;RPMs &amp;quot;should just work&amp;quot;.&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;

              &lt;p&gt;&amp;nbsp;&lt;/td&gt;

&lt;/font&gt;&lt;/b&gt;
&lt;hr color="#C0C0C0" size="1"&gt;&lt;b&gt;&lt;font face="Arial" size="2"&gt;&lt;a name="software"&gt;&lt;/a&gt;
&lt;/font&gt;&lt;/b&gt;
&lt;h2&gt;&lt;font face="Arial" size="3" color="#111111"&gt;How to Use:&lt;/font&gt;&lt;/h2&gt;

&lt;dl&gt;
  &lt;font face="Arial" size="2"&gt;&lt;b&gt;There are two broad types of guests&lt;/b&gt;&lt;/font&gt;
&lt;/dl&gt;

        &lt;ul&gt;
          &lt;li&gt;&lt;b&gt;&lt;font face="Arial" size="2"&gt;Guest without a framebuffer using Xvnc:
            &lt;/font&gt;&lt;/b&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt; restart vncserver after
            installation.&lt;/b&gt;&lt;/font&gt;&lt;/li&gt;
          &lt;li&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;Guest with a framebuffer using Xorg:
            modify Xorg configuration in the guest to include the vmglext module,
            i.e.&lt;/b&gt;&lt;/font&gt;&lt;/li&gt;
        &lt;/ul&gt;
        &lt;dl&gt;
          &lt;dt style="line-height: 100%"&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;in
            /etc/X11/xorg.conf:&lt;/b&gt;&lt;/font&gt;&lt;/dt&gt;

          &lt;dt style="line-height: 100%"&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
            Section &amp;quot;Module&amp;quot;&lt;/b&gt;&lt;/font&gt;&lt;/dt&gt;
          &lt;dt style="line-height: 100%"&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
            ...&lt;/b&gt;&lt;/font&gt;&lt;/dt&gt;
          &lt;dt style="line-height: 100%"&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
            Load &amp;quot;vmglext&amp;quot;&lt;/b&gt;&lt;/font&gt;&lt;/dt&gt;

          &lt;dt style="line-height: 100%"&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
            ...&lt;/b&gt;&lt;/font&gt;&lt;/dt&gt;
          &lt;dt style="line-height: 100%"&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;and
            restart Xorg.&lt;/b&gt;&lt;/font&gt;&lt;/dt&gt;
          &lt;dt&gt;&amp;nbsp;&lt;/dt&gt;
          &lt;dt style="line-height: 100%"&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;Then, for
            all types of guests,
            connect from the host to the domain using a viewer:&lt;/b&gt;&lt;/font&gt;&lt;/dt&gt;
        &lt;/dl&gt;
        &lt;ul&gt;

          &lt;li&gt;&lt;b&gt;&lt;font face="Arial" size="2"&gt;Vncviewer for guest with Xvnc, Xen
            paravirtual guest with vncfb, or Xen HVM guest with vnc qemu-dm
            output.&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;
          &lt;li&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;We provide a patch to enable sdlfb
            for Xen paravirtual guests, and qemu-dm with sdl output for Xen HVM
            guests.&lt;/b&gt;&lt;/font&gt;&lt;/li&gt;
        &lt;/ul&gt;
        &lt;dl&gt;
          &lt;dt style="line-height: 150%"&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;After
            authentication the viewer will output:&lt;/b&gt;&lt;/font&gt;&lt;/dt&gt;
          &lt;dt style="line-height: 150%"&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
            &amp;quot;Set GLSTUB var in the guest to point to port
            &amp;lt;something&amp;gt;&amp;quot;&lt;/b&gt;&lt;/font&gt;&lt;/dt&gt;

          &lt;dt style="line-height: 150%"&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;Usually
            &amp;lt;something&amp;gt; is 7001. In the guest
            set the environment variable&lt;/b&gt;&lt;/font&gt;&lt;/dt&gt;
          &lt;dt style="line-height: 150%"&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
            GLSTUB = &amp;lt;host_hostname&amp;gt;:&amp;lt;port_viewer_told_you&amp;gt;&lt;/b&gt;&lt;/font&gt;&lt;/dt&gt;
          &lt;dt style="line-height: 150%"&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;and
            things should work.&lt;/b&gt;&lt;/font&gt;&lt;/dt&gt;

          &lt;dt style="line-height: 150%"&gt;&amp;nbsp;&lt;/dt&gt;
          &lt;dt style="line-height: 100%"&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;You can
            also use VMGL with X forwarding, regardless of the type of guest.
            Start stub-daemon in the host, enable X forwarding from guest to
            host, and set GLSTUB in the guest to &amp;lt;host_hostname&amp;gt;:7000. Try
            your GL apps now.&lt;/b&gt;&lt;/font&gt;&lt;/dt&gt;
          &lt;dt style="line-height: 150%"&gt;&amp;nbsp;&lt;/dt&gt;
          &lt;dt style="line-height: 100%"&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;CAUTION:
            In all cases, ports in the range of the 7000's have to remain open
            between guest and host.&lt;/b&gt;&lt;/font&gt;&lt;/dt&gt;
          &lt;dt style="line-height: 150%"&gt;&amp;nbsp;&lt;/dt&gt;
          &lt;dt style="line-height: 100%"&gt;&lt;font face="Arial" size="2"&gt;&lt;a style="text-decoration: none; font-weight: 700; font-style: normal" href="../software/vmware_helper.tgz"&gt;&lt;u&gt;NEW&lt;/u&gt;&lt;/a&gt;&lt;b&gt;, VMware:
            Is not easy to compose the 3D output on VMware's closed source GUI. Your best bet is to &amp;quot;guess&amp;quot; the XID of
            the GUI window and pass it to stub-daemon with the -v switch. This &lt;/b&gt;&lt;a style="text-decoration: none; font-weight: 700; font-style: normal" href="../software/vmware_helper.tgz"&gt;link&lt;/a&gt;&lt;b&gt;

            will provide you with a tiny library I use to interpose bteween
            VMware's GUI and X and find out the XID's used. I recommend you use
            vnc or X forwarding to bypass this problem altogether.&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;/dt&gt;
        &lt;/dl&gt;
&lt;hr color="#C0C0C0" size="1"&gt;
        &lt;h2&gt;&lt;font face="Arial" size="3" color="#111111"&gt;How to get Xen dom0 GPU kernel modules:&lt;/font&gt;&lt;/h2&gt;
        &lt;dl&gt;
          &lt;dt&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;A separate prerequisite for Xen is to
            enable direct rendering on your dom0. You can check this by looking
            into the output of glxinfo. &lt;/b&gt;&lt;/font&gt;&lt;/dt&gt;
          &lt;dt&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;This depends on your graphics card: &lt;/b&gt;&lt;/font&gt;&lt;/dt&gt;

        &lt;/dl&gt;
        &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;Intel cards such as i915: Kernel
        modules are already part of the dom0 kernel tree. You should already
        have direct rendering enabled in dom0.&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
        &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;ATI: In the tarball/repository source
        tree, cd into fglrx and follow the instructions there. Or install &lt;/b&gt;&lt;a style="text-decoration: none; font-weight: 700; font-style: normal" href="../software/fglrx-kmod-xen-8.28.8-1.i386.rpm"&gt; this
        rpm&lt;/a&gt;&lt;b&gt; in dom0. What is provided in this page has only beent tested
        to work for an ATI Radeon X600 (PCI express) and a handful of
        applications. Remember to modprobe fglrx, modify /etc/X11/xorg.conf to
        use the fglrx driver, and restart X.&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
        &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;NVIDIA: Patch &lt;/b&gt;&lt;a style="text-decoration: none; font-weight: 700; font-style: normal" href="http://lists.xensource.com/archives/html/xen-devel/2006-03/msg00615.html"&gt;here&lt;/a&gt;&lt;b&gt;.
        Also, &lt;/b&gt;&lt;a style="text-decoration: none; font-weight: 700; font-style: normal" href="http://rpm.livna.org"&gt;livna&lt;/a&gt;&lt;b&gt;

        provides rpm's for this (kmod-nvidia-xen0). Remember to modprobe nvidia,
        modify /etc/X11/xorg.conf to use the nvidia driver, and restart X.&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
&lt;hr color="#C0C0C0" size="1"&gt;
        &lt;h2&gt;&lt;font face="Arial" size="3" color="#111111"&gt;Capabilites&lt;/font&gt;&lt;/h2&gt;
        &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;Roughly speaking, OpenGL up to version
        1.5 is supported (sorry, no 2.0 shading languages,) with the following
        exceptions: &lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
        &lt;ul&gt;
          &lt;li&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;OpenGL 1.2 imaging functions related to histogram, min/max, convolution
            and colortables (like you really needed them...)&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;/li&gt;
          &lt;li&gt;&lt;b&gt;&lt;font face="Arial" size="2"&gt;Display lists aren't fully
            conformant: GL_COMPILE_AND_EXECUTE mode may not work reliably, specifically if there
            is a glGet* call between glNewList and glEndList which gets state that
            was set by a previous command compiled/executed inside the display list.&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;

        &lt;/ul&gt;
        &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;Roughly speaking (deja vu) GLX version
        1.3 is supported, with the following exceptions:&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
        &lt;ul&gt;
          &lt;li&gt;&lt;b&gt;&lt;font face="Arial" size="2"&gt;glXCopyContext&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;
          &lt;li&gt;&lt;b&gt;&lt;font face="Arial" size="2"&gt;glXCreateGLXPixmap&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;
          &lt;li&gt;&lt;b&gt;&lt;font face="Arial" size="2"&gt;glXDestroyGLXPixmap&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;
          &lt;li&gt;&lt;b&gt;&lt;font face="Arial" size="2"&gt;glXWaitGL&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;

          &lt;li&gt;&lt;b&gt;&lt;font face="Arial" size="2"&gt;glXWaitX&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;
          &lt;li&gt;&lt;b&gt;&lt;font face="Arial" size="2"&gt;None of the GLX 1.3
            functions related to Pbuffers or visual configs are implemented.&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;
        &lt;/ul&gt;
        &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;For more in-depth info, look into cr/doc/conformance.html
        and cr/glapi_parser/APIspec.txt in the source tree, or /usr/share/doc/xen-gl/cr/conformance.html
        if you've used an rpm.&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
&lt;hr color="#C0C0C0" size="1"&gt;
&lt;h2&gt;&lt;font face="Arial" size="3" color="#111111"&gt;Other stuff&lt;/font&gt;&lt;/h2&gt;
        &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;This project has been graciously
        sponsored by &lt;/b&gt;&lt;a style="text-decoration: none; font-weight: 700; font-style: normal" href="http://www.google.com"&gt;Google&lt;/a&gt;&lt;b&gt;

        through their &lt;/b&gt;&lt;a style="text-decoration: none; font-weight: 700; font-style: normal" href="http://code.google.com/summerofcode.html"&gt;Summer
        of Code 2006&lt;/a&gt;&lt;b&gt; program, with mentoring by &lt;/b&gt;&lt;a style="text-decoration: none; font-weight: 700; font-style: normal" href="http://dave.recoil.org/"&gt; Dave Scott&lt;/a&gt;&lt;b&gt; and &lt;/b&gt;&lt;a style="text-decoration: none; font-weight: 700; font-style: normal" href="http://anil.recoil.org/"&gt; Anil
        Madhavapeddy&lt;/a&gt;&lt;b&gt; from &lt;/b&gt;&lt;a style="text-decoration: none; font-weight: 700; font-style: normal" href="http://www.xensource.com/"&gt;Xensource&lt;/a&gt;&lt;b&gt;.
        &lt;/b&gt;&lt;a style="text-decoration: none; font-weight: 700; font-style: normal" href="http://code.google.com/soc/xensource/appinfo.html?csaid=1FD779F0E713E523"&gt;Here&lt;/a&gt;&lt;b&gt;

        is the original project proposal.&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
        &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;The code is distributed under the &lt;/b&gt;&lt;a style="text-decoration: none; font-weight: 700; font-style: normal" href="http://www.xfree86.org/3.3.6/COPYRIGHT2.html#5"&gt;Modified
        BSD licence&lt;/a&gt;&lt;b&gt; (listed in the &amp;quot;General&amp;quot; section of the
        hyperlink.) Other &lt;/b&gt;&lt;a style="text-decoration: none; font-weight: 700; font-style: normal" href="http://www.gnu.org/philosophy/free-sw.html"&gt; Free Software&lt;/a&gt;&lt;b&gt; licences apply as specified by the
        authors of code reused in the context of this project.&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
        &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;References:&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;

        &lt;ul&gt;
          &lt;li&gt;&lt;font face="Arial" size="2"&gt;&lt;a style="text-decoration: none; font-weight: 700; font-style: normal" href="http://chromium.sourceforge.net/"&gt;Chromium&lt;/a&gt;&lt;/font&gt;&lt;/li&gt;
          &lt;li&gt;&lt;font face="Arial" size="2"&gt;&lt;b&gt;Jacob Gorm-Hansen's similar &lt;/b&gt;&lt;a style="text-decoration: none; font-weight: 700; font-style: normal" href="http://www.diku.dk/hjemmesider/ansatte/jacobg/gfx/"&gt;project&lt;/a&gt;&lt;/font&gt;&lt;/li&gt;
        &lt;/ul&gt;
&lt;hr color="#C0C0C0" size="1"&gt;&lt;b&gt;&lt;font face="Arial" size="2"&gt;
&lt;/font&gt;&lt;/b&gt;
        &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;i&gt;Last Updated September 20th, 2008&lt;/i&gt;&lt;/font&gt;&lt;/p&gt;

      &lt;p&gt;&amp;nbsp;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td width="849"&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;


</documentation>
    <downloads>&lt;dl&gt;
          
          &lt;dt&gt;Subversion &lt;a href="https://vmgl.svn.sourceforge.net/viewvc/vmgl"&gt;repository
            &lt;/a&gt;hosted by sourceforge&lt;/dt&gt;

          &lt;dd&gt;svn co https://vmgl.svn.sourceforge.net/svnroot/vmgl&lt;/dd&gt;
          &lt;dd&gt;&amp;nbsp;&lt;/dd&gt;
          &lt;dt&gt;Tarballs (repository
            snapshot):&amp;nbsp; &lt;/dt&gt;
          &lt;dt&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
            &lt;a href="http://www.cs.toronto.edu/~andreslc/software/vmgl-0.1.tar.gz"&gt;vmgl-0.1.tar.gz&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
            &lt;/dt&gt;
          &lt;dt&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;

            &lt;a href="http://www.cs.toronto.edu/~andreslc/software/vmgl-0.1.tar.bz2"&gt;vmgl-0.1.tar.bz2&lt;/a&gt;&lt;/dt&gt;
          &lt;dd&gt;&amp;nbsp;&lt;/dd&gt;
          &lt;dt&gt;Distribution agnostic
            RPMs:&amp;nbsp; &lt;/font&gt;&lt;/dt&gt;
          &lt;dt&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
            &lt;a href="http://www.cs.toronto.edu/~andreslc/software/vmgl-host-0.1-1.i386.rpm"&gt;vmgl-host-0.1-1.i386.rpm&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/dt&gt;
          &lt;dt&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
            &lt;a href="http://www.cs.toronto.edu/~andreslc/software/vmgl-guest-0.1-1.i386.rpm"&gt;vmgl-guest-0.1-1.i386.rpm&lt;/a&gt;&lt;/dt&gt;

			&lt;dt&gt;&amp;nbsp;&lt;/dt&gt;

          

        &lt;/dl&gt;</downloads>
    <id type="integer">7</id>
    <title>VMGL: OpenGL Hardware 3D Acceleration for Virtual Machines</title>
    <updated-at type="datetime">2008-10-08T23:37:03-04:00</updated-at>
  </project>
</projects>
