diff --git a/README.md b/README.md index ff8ddda343f6719d60e039099c54e6f992d18fe8..9bdb1eade9d2784bc8d74ae8dfa5cb30258841a8 100644 --- a/README.md +++ b/README.md @@ -8,10 +8,6 @@ specifically Canvas and WebSockets (supports 'wss://' encryption). noVNC is licensed under the [LGPLv3](http://www.gnu.org/licenses/lgpl.html). -For browsers that do not have builtin WebSockets support, the project -includes [web-socket-js](http://github.com/gimite/web-socket-js), -a WebSockets emulator using Adobe Flash . - Special thanks to [Sentry Data Systems](http://www.sentryds.com) for sponsoring ongoing development of this project (and for employing me). @@ -28,7 +24,26 @@ Running in Chrome before and after connecting: See more screenshots <a href="http://kanaka.github.com/noVNC/screenshots.html">here</a>. -### Requirements +### Browser Requirements + +<a href="http://github.com/kanaka/noVNC/blob/master/docs/browsers.md"> +Detailed browser status/testing</a>. + +* HTML5 Canvas: Except for Internet Explorer, most + browsers have had Canvas support for quite some time. Internet + Explorer 9 will have Canvas support (finally). + +* HTML5 WebSockets: For browsers that do not have builtin + WebSockets support, the project includes + <a href="http://github.com/gimite/web-socket-js">web-socket-js</a>, + a WebSockets emulator using Adobe Flash. + +* Fast Javascript Engine: noVNC avoids using new Javascript + functionality so it will run on older browsers, but decode and + rendering happen in Javascript, so a slow Javascript engine will + mean noVNC is painfully slow. + +### Server Requirements Unless you are using a VNC server with support for WebSockets connections (only my [fork of libvncserver](http://github.com/kanaka/libvncserver) @@ -116,77 +131,6 @@ There a few reasons why a proxy is required: vnc server is using (if any). Hit the Connect button. -### Browser Support - -In the following table Jaunty is Ubuntu 9.04 and WinXP is Windows XP. - -#### Linux (Ubuntu 9.04) - -<table> - <tr> - <th>OS</th> <th>Browser</th> - <th>Status</th> - <th>Notes</th> - </tr> <tr> - <td>Jaunty</td> <td>Chrome 5.0.375.29</td> - <td>Excellent</td> - <td>Very fast. Native WebSockets.</td> - </tr> <tr> - <td>Jaunty</td> <td>Firefox 3.5</td> - <td>Good</td> - <td>Large full-color images are somewhat slow from web-socket-js overhead.</td> - </tr> <tr> - <td>Jaunty</td> <td>Firefox 3.0.17</td> - <td>Fair</td> - <td>Works fine but is slow.</td> - </tr> <tr> - <td>Jaunty</td> <td>Opera 10.60</td> - <td>Poor</td> - <td>web-socket-js problems, mouse/keyboard issues. See note 1</td> - </tr> <tr> - <td>Jaunty</td> <td>Arora 0.5</td> - <td>Good</td> - <td>Broken putImageData so large full-color images - are slow. Uses web-socket-js.</td> - </tr> <tr> - <td>Jaunty</td> <td>Konqueror 4.2.2</td> - <td><strong>Broken</strong></td> - <td>web-socket-js never loads</td> - </tr> <tr> - <td></td> - <td></td> - <td></td> - <td></td> - </tr> <tr> - <td>WinXP</td> <td>Chrome 5.0.375.99</td> - <td>Excellent</td> - <td>Very fast. Native WebSockets.</td> - </tr> <tr> - <td>WinXP</td> <td>Firefox 3.0.19</td> - <td>Good</td> - <td>Some overhead from web-socket-js.</td> - </tr> <tr> - <td>WinXP</td> <td>Safari 5.0</td> - <td>Fair</td> - <td>Fast. Native WebSockets. Broken 'wss://' (SSL) - weird client header</td> - </tr> <tr> - <td>WinXP</td> <td>IE 6, 7, 8</td> - <td><strong>Non-starter</strong></td> - <td>No basic Canvas support. Javascript painfully slow.</td> - </tr> -</table> - - -* Note 1: Opera interacts poorly with web-socket-js. After two - disconnects the browser tab or Flash often hang. Although Javascript - is faster than Firefox 3.5, the high variability of web-socket-js - performance results in overall performance being lower. Middle mouse - clicks and keyboard events need some work to work properly under - Opera. Also, Opera does not have support for setting the cursor - style url to a data URI scheme, so cursor pseudo-encoding is - disabled. - - ### Integration The client is designed to be easily integrated with existing web diff --git a/docs/browsers.md b/docs/browsers.md index 8831a44c2d76b3edbaf51ad55885b2351b752acf..3cc186c38b285873c4cdf226419c7cdfa6f08cc4 100644 --- a/docs/browsers.md +++ b/docs/browsers.md @@ -6,7 +6,7 @@ <tr> <th>Browser</th> <th>Status</th> - <th>Notes</th> + <th>Performance/Notes</th> </tr> <tr> <td>Chrome 7.0.510.0</td> <td><strong>Broken</strong></td> @@ -23,14 +23,14 @@ <td>Firefox 3.6.1</td> <td>Good</td> <td>Slowed by web-socket-js overhead. Local cursor causes segfault.</td> + </tr> <tr> + <td>Arora 0.10.1</td> + <td>Fair</td> + <td>Slow due to broken putImageData and web-socket-js.</td> </tr> <tr> <td>Opera 10.60</td> <td>Poor</td> <td>web-socket-js problems, mouse/keyboard issues (see note 1)</td> - </tr> <tr> - <td>Arora 0.10.1</td> - <td>Good</td> - <td>Slow due to broken putImageData and web-socket-js.</td> </tr> <tr> <td>Konqueror 4.3.2</td> <td><strong>Broken</strong></td> @@ -45,7 +45,7 @@ <tr> <th>Browser</th> <th>Status</th> - <th>Notes</th> + <th>Performance/Notes</th> </tr> <tr> <td>Chrome 5.0.375.29</td> <td>Excellent</td> @@ -58,14 +58,14 @@ <td>Firefox 3.0.17</td> <td>Fair</td> <td>Works fine but is slow.</td> + </tr> <tr> + <td>Arora 0.5</td> + <td>Fair</td> + <td>Slow due to broken putImageData and web-socket-js.</td> </tr> <tr> <td>Opera 10.60</td> <td>Poor</td> <td>web-socket-js problems, mouse/keyboard issues (see note 1)</td> - </tr> <tr> - <td>Arora 0.5</td> - <td>Good</td> - <td>Slow due to broken putImageData and web-socket-js.</td> </tr> <tr> <td>Konqueror 4.2.2</td> <td><strong>Broken</strong></td> @@ -80,19 +80,19 @@ <tr> <th>Browser</th> <th>Status</th> - <th>Notes</th> + <th>Performance/Notes</th> </tr> <tr> <td>Chrome 5.0.375.99</td> <td>Excellent</td> <td>Very fast. Native WebSockets.</td> + </tr> <tr> + <td>Safari 5.0</td> + <td>Excellent</td> + <td>Fast. Native WebSockets.</td> </tr> <tr> <td>Firefox 3.0.19</td> <td>Good</td> <td>Some overhead from web-socket-js.</td> - </tr> <tr> - <td>Safari 5.0</td> - <td>Fair</td> - <td>Fast. Native WebSockets.</td> </tr> <tr> <td>IE 6, 7, 8</td> <td><strong>Non-starter</strong></td>