Knowledge (XXG)

VirtualGL

Source 📝

541: 336:
a 3D hardware accelerator attached. Thus, VirtualGL prevents GLX commands from being sent over the network to the user's X display or to a virtual X display ("X proxy"), such as VNC, that does not support GLX. In the process of rewriting the GLX calls, VirtualGL also redirects the OpenGL rendering into off-screen pixel buffers ("Pbuffers.") Meanwhile, the rest of the function calls from the application, including the ordinary X11 commands used to draw the application's user interface, are allowed to pass through VirtualGL without modification.
310:. Many OpenGL applications, however, do not meet these criteria. To further complicate matters, some OpenGL extensions do not work in an indirect rendering environment. Some of these extensions require the ability to directly access the 3D graphics hardware and thus can never be made to work indirectly. In other cases, the user's X display may not provide explicit support for a needed OpenGL extension, or the extension may rely on a specific hardware configuration that is not present on the user's desktop machine. 364:
few inter-frame differences. 3D applications, on the other hand, generate images with fine-grained, complex color patterns and much less correlation between subsequent frames. The workload generated by drawing rendered images from an OpenGL application into an X window is essentially the same workload as a video player, and off-the-shelf thin client software typically lacks sufficiently fast image
22: 340:
essentially, once the OpenGL context is established on the application server's X display, VirtualGL gets out of the way and allows all subsequent OpenGL commands to pass through unimpeded to the application server's 3D hardware. Thus, the application can automatically use whatever OpenGL features and extensions are provided by the application server's hardware and drivers.
455:
inherently support collaboration (multiple clients per session), since the images are being pushed to the users' machines rather than being pulled. But the use of the VGL Transport does provide a completely seamless application experience, whereby every application window corresponds to a single desktop window. The VGL Transport also reduces the server
351:) and then draws those pixels into application's X window using standard X image drawing commands. Since VirtualGL is redirecting the GLX commands away from the 2D X Server, it can be used to add accelerated 3D support to X proxies (such as VNC) as well as to prevent indirect OpenGL rendering from occurring when using a remote X display. 442: 355: 958: 314:
the client. Images can be delivered at the same frame rate regardless of how big the 3D data was that was used to generate them, so performing 3D rendering on the application server effectively converts the 3D performance problem into a 2D performance problem. The problem then becomes how to stream 1-2
445:
When using the VGL Transport, the 3D rendering occurs on the application server, but the 2D rendering occurs on the client machine. VirtualGL compresses the rendered images from the 3D application and sends them as a video stream to the client, which decompresses and displays the video stream in real
410:
networks it can display more than 50 Megapixels/second with perceptually lossless image quality. TurboVNC includes further optimizations that allow it to display 10–12 Megapixels/second over a 5 Megabit broadband link, with noticeably less but usable image quality. TurboVNC also extends TightVNC to
330:
VirtualGL uses "GLX forking" to perform OpenGL rendering on the application server. Unix and Linux OpenGL applications normally send both GLX commands and ordinary X11 commands to the same X display. The GLX commands are used to bind OpenGL rendering contexts to a particular X window, obtain a list
294:
and ship them from an application to an X display. Traditionally, the application runs on a remotely located application server, and the X display runs on the user's desktop. In this scenario, all of the OpenGL commands are executed by the user's desktop machine, so that machine must have a fast 3D
450:
When using the VGL Transport, VirtualGL compresses the rendered 3D images in process using the same optimized JPEG codec that TurboVNC uses. VirtualGL then sends the compressed images over a dedicated TCP socket to a VirtualGL Client application running on the client machine. The VirtualGL Client is
363:
Using VirtualGL in concert with VNC or another X proxy allows multiple users to simultaneously run 3D applications on a single application server and multiple clients to share each session. However, VNC and its ilk are tuned to handle 2D applications with large areas of solid color, few colors, and
358:
When using the X11 Transport with an X proxy, both the 3D and 2D rendering occur on the application server. VirtualGL reroutes the 3D commands from the application to the 3D accelerator hardware, reads back the rendered images, and draws them as a series of uncompressed bitmaps into the X proxy (VNC
335:
with which it is linked. Once VirtualGL is preloaded into a Unix or Linux OpenGL application, it intercepts the GLX function calls from the application and rewrites them such that the corresponding GLX commands are sent to the application server's X display (the "3D X Server"), which presumably has
313:
Performing OpenGL rendering on the application server circumvents the issues introduced by indirect rendering, since the application now has a fast and direct path to the 3D rendering hardware. If the 3D rendering occurs on the application server, then only the resulting 2D images must be sent to
454:
This approach requires that an X display be present on the client machine, and the reliance upon the remote X11 protocol for performing 2D rendering means that many applications will perform poorly when using the VGL Transport on high-latency networks. Additionally, the VGL Transport does not
339:
Internally, VirtualGL's interposer engine also maintains a map of windows to Pbuffers, matches visual attributes between the destination X display (the "2D X Server") and the 3D X Server, and performs a variety of other hashing functions to assure that the GLX redirection is seamless. But
331:
of pixel formats that the X display supports, etc. VirtualGL takes advantage of a feature in Unix and Linux that allows one to "preload" a library into an application, effectively intercepting (AKA "interposing") certain function calls that the application would normally make to
259:(VNC) server. In case of an X11 connection some client-side VirtualGL software is also needed to receive the rendered graphics output separately from the X11 stream. In case of a VNC connection no specific client-side software is needed other than the VNC client itself. 451:
responsible for decompressing the images and drawing the pixels into the appropriate X window. Meanwhile, the non-OpenGL elements of the application's display are sent over the network using the standard remote X11 protocol and rendered on the client machine.
251:) client located elsewhere on the network. On the server side, VirtualGL consists of a library that handles the redirection and a wrapper program that instructs applications to use this library. Clients can connect to the server either using a 359:
or a similar system.) Meanwhile, the 2D drawing commands (X11 commands) from the application are sent to the X proxy directly. The X proxy is solely responsible for compressing the images and sending them to remote clients.
498:, providing resource management and scheduling for remote 3D jobs. The combination of these packages, dubbed "Sun Shared Visualization", was available as a free download. Sun charged for support. 415:
and other features targeted at 3D applications, such as the ability to send a lossless copy of the screen image during periods of inactivity. TurboVNC and VirtualGL are used by the
1547: 1486: 790: 267:
The performance of OpenGL applications can be greatly improved by rendering the graphics on dedicated hardware accelerators that are typically present in a
912: 508:
includes components that integrate with VirtualGL and TurboVNC, allowing 3D jobs to be scheduled on and remotely displayed from a visualization cluster.
291: 252: 282:
Remotely displaying 3D applications with hardware acceleration has traditionally required the use of "indirect rendering." Indirect rendering uses the
343:
Apart from marshaling GLX commands and managing Pbuffers, VirtualGL also reads back the rendered pixels at the appropriate time (usually by monitoring
430:
TigerVNC is a more recent fork of TightVNC that provides similar performance to TurboVNC in most cases but has different project goals and features.
275:
and other thin client environments for Unix and Linux do not have access to such hardware on the server side. Therefore they either do not support
546: 764: 716: 947: 895: 105: 302:, for instance), if the application does not dynamically modify the geometry of the object being rendered, if the application uses 1625: 1232: 416: 1191: 43: 1491: 921: 420: 459:
load, since the 2D rendering is occurring on the client, and the VGL Transport allows advanced OpenGL features, such as
86: 1012: 150: 128: 58: 295:
graphics accelerator. This limits the type of machine that can remotely display a 3D application using this method.
797: 1243: 1211: 196: 39: 32: 1344: 272: 256: 65: 1422: 1369: 1276: 479: 279:
applications at all or resort to slower methods such as rendering on the client or in software on the server.
268: 179: 271:. GPUs have become so commonplace that applications have come to rely on them for acceptable performance. But 1635: 1286: 501:
v4.x.x of NoMachine supports VirtualGL to allow users to run 3D applications in NoMachine desktop sessions.
72: 932: 1640: 1414: 1216: 1196: 1181: 1002: 987: 888: 466:
The developers of VirtualGL envision the primary users of the VGL Transport to be laptop users with an
54: 1496: 1437: 1349: 1319: 1159: 977: 229: 1432: 1186: 1037: 332: 1032: 927: 858: 842: 519: 1266: 1173: 1169: 1007: 972: 768: 1226: 881: 720: 483: 412: 299: 191: 1630: 1501: 1027: 992: 937: 904: 505: 495: 486:, which was discontinued in April 2009. The two open source packages were combined with a 307: 287: 427:
to remotely access the 3D rendering capabilities of the Stampede Visualization Cluster.
1063: 942: 742: 460: 244: 79: 628: 1619: 487: 407: 318:
of image data over a network at interactive frame rates, but commodity technologies (
1399: 1072: 303: 1601: 1578: 1527: 248: 21: 395:
that accelerate the Tight and JPEG encoding, in part by using libjpeg-turbo, a
1574: 584: 536: 494:
thin clients and another closed source package that integrated VirtualGL with
315: 1597: 650: 606: 1442: 1394: 1299: 826: 441: 354: 1583: 1309: 1261: 1133: 1078: 1042: 526: 512: 424: 392: 388: 298:
Indirect rendering can perform well if the network is sufficiently fast (
1606: 1457: 1359: 1324: 1201: 1128: 1098: 1093: 1083: 997: 694: 491: 467: 400: 672: 1610: 1587: 1522: 1462: 1452: 1251: 1123: 403:. Both projects provide VNC servers as well as client applications. 276: 240: 247:
hardware in a dedicated server and sends the rendered output to a (
183: 1542: 1537: 1532: 1517: 1379: 1339: 1304: 1103: 1017: 982: 873: 559: 470:
wireless or a fast Ethernet connection to the application server.
440: 365: 353: 237: 368:
to be able to handle this workload with interactive frame rates.
1447: 1389: 1364: 1354: 1334: 1329: 1314: 1294: 1271: 1256: 1206: 1149: 1113: 1108: 1088: 522:
Views supports VirtualGL as one of the remote protocol options.
396: 319: 290:("X11" or "X") to encapsulate the OpenGL commands inside of the 233: 877: 232:
software package that redirects the 3D rendering commands from
1427: 1404: 1384: 1374: 1154: 1118: 1022: 957: 554: 456: 283: 15: 529:
use code from VirtualGL to implement server-side rendering.
1592: 1567: 490:
plugin that allowed VirtualGL to send compressed images to
208: 406:
TurboVNC was developed by the same team as VirtualGL. On
504:
v2.1 of the Scalable Visualization Array software from
306:, and if the application does not use a great deal of 525:
The Exceed onDemand and Exceed Freedom products from
695:"Enabling VirtualGL support in NoMachine 4 or later" 1510: 1479: 1413: 1285: 1242: 1225: 1168: 1142: 1062: 1051: 965: 911: 743:"ThinLinc Administrator's Guide for ThinLinc 4.5.0" 515:is designed to work in conjunction with VirtualGL. 478:VirtualGL and TurboVNC were core components of the 203: 190: 175: 149: 127: 46:. Unsourced material may be challenged and removed. 371:VirtualGL works around this problem in two ways: 796:. Kb.berkeley.edu. June 12, 2012. Archived from 889: 322:, to name one) already address this problem. 8: 118: 791:"Open Text Exceed User's Guide, Version 14" 1239: 1059: 896: 882: 874: 156:2.6.90 (3.0 beta1) / June 16, 2021 117: 106:Learn how and when to remove this message 631:. Texas Advanced Computing Center (TACC) 576: 7: 547:Free and open-source software portal 44:adding citations to reliable sources 767:. Nice-software.com. Archived from 585:"A Brief Introduction to VirtualGL" 474:Commercial products using VirtualGL 1003:X Display Manager Control Protocol 717:"High Performance Computing (HPC)" 607:"A Brief Introduction to TurboVNC" 14: 1548:Desktop environments (comparison) 859:"User's Guide for TurboVNC 2.0.1" 134:2.6.5 / November 18, 2020 956: 843:"User's Guide for VirtualGL 2.5" 539: 255:or using an X11 proxy such as a 199:(GPL), wxWindows Library Licence 20: 417:Texas Advanced Computing Center 31:needs additional citations for 1: 421:University of Texas at Austin 1013:X-Video Motion Compensation 1657: 1568:Official VirtualGL website 197:GNU General Public License 1593:Official TurboVNC website 954: 257:Virtual Network Computing 171: 123: 719:. Hp.com. Archived from 480:Sun Visualization System 399:-accelerated version of 325: 998:Shared memory extension 675:. The VirtualGL Project 1626:Free windowing systems 933:X Window authorization 827:"VirtualGL Background" 765:"Remote Visualization" 673:"What About TigerVNC?" 447: 360: 988:X Rendering Extension 629:"Stampede User Guide" 444: 383:TurboVNC and TigerVNC 357: 253:remote X11 connection 158:; 3 years ago 136:; 3 years ago 1160:X Toolkit Intrinsics 978:X keyboard extension 461:quad-buffered stereo 411:include client-side 408:100 Megabit Ethernet 326:VirtualGL's solution 40:improve this article 1038:Composite Extension 292:X11 protocol stream 120: 1033:Display PostScript 928:X Window selection 820:General references 771:on 7 December 2010 448: 423:to allow users of 361: 1556: 1555: 1475: 1474: 1471: 1470: 1236: 1008:X video extension 973:X Image Extension 391:are offshoots of 378:The VGL Transport 286:extension to the 219: 218: 116: 115: 108: 90: 1648: 1571: 1570: 1240: 1230: 1174:Session managers 1170:Display managers 1143:Client libraries 1060: 960: 898: 891: 884: 875: 870: 868: 866: 854: 852: 850: 838: 836: 834: 813: 812: 810: 808: 803:on June 15, 2010 802: 795: 787: 781: 780: 778: 776: 761: 755: 754: 752: 750: 739: 733: 732: 730: 728: 723:on 9 August 2014 713: 707: 706: 704: 702: 691: 685: 684: 682: 680: 669: 663: 662: 660: 658: 647: 641: 640: 638: 636: 625: 619: 618: 616: 614: 603: 597: 596: 594: 592: 581: 549: 544: 543: 542: 484:Sun Microsystems 413:double buffering 350: 346: 345:glXSwapBuffers() 333:shared libraries 300:Gigabit Ethernet 243:applications to 215: 212: 210: 166: 164: 159: 144: 142: 137: 121: 111: 104: 100: 97: 91: 89: 48: 24: 16: 1656: 1655: 1651: 1650: 1649: 1647: 1646: 1645: 1616: 1615: 1566: 1565: 1562: 1557: 1552: 1506: 1502:freedesktop.org 1467: 1409: 1281: 1229: 1227:Window managers 1221: 1172: 1164: 1138: 1064:Display servers 1056:implementations 1055: 1053: 1047: 1028:Multi-Pointer X 993:Shape extension 961: 952: 938:X11 color names 907: 905:X Window System 902: 864: 862: 857: 848: 846: 845:. VirtualGL.org 841: 832: 830: 829:. VirtualGL.org 825: 822: 817: 816: 806: 804: 800: 793: 789: 788: 784: 774: 772: 763: 762: 758: 748: 746: 741: 740: 736: 726: 724: 715: 714: 710: 700: 698: 697:. NoMachine.com 693: 692: 688: 678: 676: 671: 670: 666: 656: 654: 653:. ArchLinux.org 649: 648: 644: 634: 632: 627: 626: 622: 612: 610: 605: 604: 600: 590: 588: 587:. VirtualGL.org 583: 582: 578: 573: 568: 545: 540: 538: 535: 496:Sun Grid Engine 476: 439: 433: 385: 348: 344: 328: 308:texture mapping 288:X Window System 265: 207: 167: 162: 160: 157: 151:Preview release 145: 140: 138: 135: 112: 101: 95: 92: 49: 47: 37: 25: 12: 11: 5: 1654: 1652: 1644: 1643: 1638: 1636:Remote desktop 1633: 1628: 1618: 1617: 1614: 1613: 1604: 1595: 1590: 1581: 1572: 1561: 1560:External links 1558: 1554: 1553: 1551: 1550: 1545: 1540: 1535: 1530: 1525: 1520: 1514: 1512: 1508: 1507: 1505: 1504: 1499: 1494: 1489: 1483: 1481: 1477: 1476: 1473: 1472: 1469: 1468: 1466: 1465: 1460: 1455: 1450: 1445: 1440: 1435: 1430: 1425: 1419: 1417: 1411: 1410: 1408: 1407: 1402: 1397: 1392: 1387: 1382: 1377: 1372: 1367: 1362: 1357: 1352: 1347: 1342: 1337: 1332: 1327: 1322: 1317: 1312: 1307: 1302: 1297: 1291: 1289: 1283: 1282: 1280: 1279: 1274: 1269: 1264: 1259: 1254: 1248: 1246: 1237: 1223: 1222: 1220: 1219: 1214: 1209: 1204: 1199: 1194: 1189: 1184: 1178: 1176: 1166: 1165: 1163: 1162: 1157: 1152: 1146: 1144: 1140: 1139: 1137: 1136: 1131: 1126: 1121: 1116: 1111: 1106: 1101: 1096: 1091: 1086: 1081: 1076: 1068: 1066: 1057: 1049: 1048: 1046: 1045: 1040: 1035: 1030: 1025: 1020: 1015: 1010: 1005: 1000: 995: 990: 985: 980: 975: 969: 967: 963: 962: 955: 953: 951: 950: 945: 943:X Input Method 940: 935: 930: 925: 917: 915: 909: 908: 903: 901: 900: 893: 886: 878: 872: 871: 861:. TurboVNC.org 855: 839: 821: 818: 815: 814: 782: 756: 745:. ThinLinc.com 734: 708: 686: 664: 642: 620: 609:. TurboVNC.org 598: 575: 574: 572: 569: 567: 564: 563: 562: 557: 551: 550: 534: 531: 475: 472: 463:, to be used. 438: 435: 384: 381: 380: 379: 376: 327: 324: 264: 261: 245:3D accelerator 217: 216: 205: 201: 200: 194: 188: 187: 177: 173: 172: 169: 168: 155: 153: 147: 146: 133: 131: 129:Stable release 125: 124: 114: 113: 28: 26: 19: 13: 10: 9: 6: 4: 3: 2: 1653: 1642: 1639: 1637: 1634: 1632: 1629: 1627: 1624: 1623: 1621: 1612: 1608: 1605: 1603: 1599: 1596: 1594: 1591: 1589: 1585: 1582: 1580: 1576: 1573: 1569: 1564: 1563: 1559: 1549: 1546: 1544: 1541: 1539: 1536: 1534: 1531: 1529: 1526: 1524: 1521: 1519: 1516: 1515: 1513: 1509: 1503: 1500: 1498: 1495: 1493: 1490: 1488: 1485: 1484: 1482: 1478: 1464: 1461: 1459: 1456: 1454: 1451: 1449: 1446: 1444: 1441: 1439: 1436: 1434: 1431: 1429: 1426: 1424: 1421: 1420: 1418: 1416: 1412: 1406: 1403: 1401: 1398: 1396: 1393: 1391: 1388: 1386: 1383: 1381: 1378: 1376: 1373: 1371: 1368: 1366: 1363: 1361: 1358: 1356: 1353: 1351: 1348: 1346: 1343: 1341: 1338: 1336: 1333: 1331: 1328: 1326: 1323: 1321: 1318: 1316: 1313: 1311: 1308: 1306: 1303: 1301: 1298: 1296: 1293: 1292: 1290: 1288: 1284: 1278: 1277:Enlightenment 1275: 1273: 1270: 1268: 1265: 1263: 1260: 1258: 1255: 1253: 1250: 1249: 1247: 1245: 1241: 1238: 1234: 1228: 1224: 1218: 1215: 1213: 1210: 1208: 1205: 1203: 1200: 1198: 1195: 1193: 1190: 1188: 1185: 1183: 1180: 1179: 1177: 1175: 1171: 1167: 1161: 1158: 1156: 1153: 1151: 1148: 1147: 1145: 1141: 1135: 1132: 1130: 1127: 1125: 1122: 1120: 1117: 1115: 1112: 1110: 1107: 1105: 1102: 1100: 1097: 1095: 1092: 1090: 1087: 1085: 1082: 1080: 1077: 1075: 1074: 1070: 1069: 1067: 1065: 1061: 1058: 1050: 1044: 1041: 1039: 1036: 1034: 1031: 1029: 1026: 1024: 1021: 1019: 1016: 1014: 1011: 1009: 1006: 1004: 1001: 999: 996: 994: 991: 989: 986: 984: 981: 979: 976: 974: 971: 970: 968: 964: 959: 949: 946: 944: 941: 939: 936: 934: 931: 929: 926: 924: 923: 922:Core protocol 919: 918: 916: 914: 910: 906: 899: 894: 892: 887: 885: 880: 879: 876: 860: 856: 844: 840: 828: 824: 823: 819: 799: 792: 786: 783: 770: 766: 760: 757: 744: 738: 735: 722: 718: 712: 709: 696: 690: 687: 674: 668: 665: 652: 646: 643: 630: 624: 621: 608: 602: 599: 586: 580: 577: 570: 565: 561: 558: 556: 553: 552: 548: 537: 532: 530: 528: 523: 521: 516: 514: 509: 507: 502: 499: 497: 493: 489: 488:closed source 485: 482:product from 481: 473: 471: 469: 464: 462: 458: 452: 443: 437:VGL Transport 436: 434: 431: 428: 426: 422: 418: 414: 409: 404: 402: 398: 394: 390: 387:TurboVNC and 382: 377: 374: 373: 372: 369: 367: 356: 352: 341: 337: 334: 323: 321: 317: 311: 309: 305: 304:display lists 301: 296: 293: 289: 285: 280: 278: 274: 270: 262: 260: 258: 254: 250: 246: 242: 239: 235: 231: 227: 223: 214: 206: 202: 198: 195: 193: 189: 185: 181: 178: 174: 170: 154: 152: 148: 132: 130: 126: 122: 110: 107: 99: 96:February 2015 88: 85: 81: 78: 74: 71: 67: 64: 60: 57: –  56: 52: 51:Find sources: 45: 41: 35: 34: 29:This article 27: 23: 18: 17: 1641:Thin clients 1511:Applications 1400:Window Maker 1073:X.Org Server 1071: 920: 913:Architecture 863:. Retrieved 847:. Retrieved 831:. Retrieved 805:. Retrieved 798:the original 785: 773:. Retrieved 769:the original 759: 747:. Retrieved 737: 725:. Retrieved 721:the original 711: 699:. Retrieved 689: 677:. Retrieved 667: 655:. Retrieved 645: 633:. Retrieved 623: 611:. Retrieved 601: 589:. Retrieved 579: 524: 517: 510: 503: 500: 477: 465: 453: 449: 432: 429: 405: 386: 370: 362: 342: 338: 329: 312: 297: 281: 266: 225: 221: 220: 186:, Unix Shell 102: 93: 83: 76: 69: 62: 50: 38:Please help 33:verification 30: 1602:SourceForge 1579:SourceForge 1244:Compositing 1054:and notable 865:20 February 849:20 February 833:20 February 775:17 February 749:20 February 727:17 February 701:20 February 651:"VirtualGL" 635:29 February 613:20 February 591:20 February 230:open-source 55:"VirtualGL" 1620:Categories 1233:comparison 1052:Components 966:Extensions 566:References 520:EnginFrame 511:v3.0.0 of 349:glFinish() 316:megapixels 211:.virtualgl 176:Written in 163:2021-06-16 141:2020-11-18 66:newspapers 1584:VirtualGL 1575:VirtualGL 1480:Standards 1443:ratpoison 1395:WindowLab 1300:AfterStep 571:Footnotes 518:v2010 of 222:VirtualGL 119:VirtualGL 1607:TurboVNC 1598:TurboVNC 1345:Matchbox 1310:Blackbox 1287:Stacking 1262:Metacity 1212:Entrance 1134:XWayland 1079:Cygwin/X 1043:Xinerama 807:June 12, 533:See also 527:OpenText 513:ThinLinc 425:TeraGrid 393:TightVNC 389:TigerVNC 375:TurboVNC 228:) is an 1458:StumpWM 1423:awesome 1370:Sawfish 1360:Openbox 1325:Fluxbox 1202:LightDM 1129:XQuartz 1099:XDarwin 1094:XFree86 1084:X-Win32 948:Wayland 657:25 June 492:Sun Ray 468:802.11g 401:libjpeg 263:Problem 204:Website 192:License 161: ( 139: ( 80:scholar 1631:OpenGL 1611:GitHub 1588:GitHub 1523:xclock 1463:larswm 1453:xmonad 1415:Tiling 1267:Mutter 1252:Compiz 1124:Xephyr 366:codecs 277:OpenGL 241:OpenGL 82:  75:  68:  61:  53:  1543:xeyes 1538:xterm 1533:xload 1528:xedit 1518:xcalc 1487:ICCCM 1380:tvtwm 1340:IceWM 1305:amiwm 1104:Xming 1018:AIGLX 983:RandR 801:(PDF) 794:(PDF) 679:7 Aug 560:AIGLX 446:time. 238:Linux 87:JSTOR 73:books 1492:EWMH 1448:wmii 1390:vtwm 1365:Qvwm 1355:olwm 1335:FVWM 1330:FLWM 1315:CTWM 1295:4Dwm 1272:Xfwm 1257:KWin 1207:LXDM 1192:SDDM 1150:Xlib 1114:Xsun 1109:Xsgi 1089:X386 867:2016 851:2016 835:2016 809:2012 777:2015 751:2016 729:2015 703:2016 681:2023 659:2021 637:2016 615:2016 593:2016 397:SIMD 320:HDTV 249:thin 236:and 234:Unix 213:.org 59:news 1609:on 1600:on 1586:on 1577:on 1497:XDS 1438:Ion 1428:dwm 1405:wm2 1385:twm 1375:swm 1350:mwm 1320:cwm 1217:WDM 1197:XDM 1187:KDM 1182:GDM 1155:XCB 1119:Xgl 1023:GLX 555:Xgl 457:CPU 419:at 347:or 284:GLX 273:VNC 269:GPU 226:VGL 209:www 184:C++ 42:by 1622:: 1433:i3 506:HP 182:, 1235:) 1231:( 897:e 890:t 883:v 869:. 853:. 837:. 811:. 779:. 753:. 731:. 705:. 683:. 661:. 639:. 617:. 595:. 224:( 180:C 165:) 143:) 109:) 103:( 98:) 94:( 84:· 77:· 70:· 63:· 36:.

Index


verification
improve this article
adding citations to reliable sources
"VirtualGL"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
Stable release
Preview release
C
C++
License
GNU General Public License
www.virtualgl.org
open-source
Unix
Linux
OpenGL
3D accelerator
thin
remote X11 connection
Virtual Network Computing
GPU
VNC
OpenGL
GLX

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.