Comment puis-je exécuter une application OpenGL installé sur une machine linux à partir de ma machine windows?
Dans l'esprit d'être utile, c'est un problème que j'ai eu et résolu, donc je vais répondre à la question ici.
Problème
J'ai:
Une application qui doit être installé sur Redhat ou SuSE enterprise.
Il a un énorme exigences du système et requiert OpenGL.
Il fait partie d'une suite d'outils qui en ont besoin pour fonctionner sur une seule machine.
Cette application est utilisée pour une période intensive de la tâche en termes d'heures de travail.
Je ne veux pas m'asseoir dans la salle des serveurs de travail sur cette application.
Donc, la question s'est posée... comment puis-je faire fonctionner cette application à partir d'un ordinateur windows distant?
Je vais vous expliquer ma solution. N'hésitez pas à commenter sur les alternatives. Cette solution devrait fonctionner pour des environnements de plus simple ainsi. Mon cas est un peu extrême.
- Vous êtes censé poster votre solution comme une réponse non pas comme une partie de la question!
- Regardez-moi, je suis stupide. Doh!
- Là, je l'ai corrigé. Je me sens stupide maintenant.
- Car ce n'est pas spécifiques à opengl, vous pouvez modifier le balisage il 'x'de windows
- tagged w/ xwindows
- N'est pas pas une telle chose comme "xwindows" ou "x windows", ceux-ci sont valides: "x", "x11", ou "x window system". Utilisé.
Vous devez vous connecter pour publier un commentaire.
Solution
J'ai installé deux morceaux de logiciel:
Mastic
XMing-mesa La mesa partie est importante.
Mastic de configuration
Lancement
Exécuter Xming qui va mettre tout simplement le début d'un processus et de mettre une icône dans votre barre d'état système.
Lancer putty, pointant vers votre boîte linux, avec la configuration ci-dessus.
Exécuter le programme
Espérons-Le, Succès!
Si vous voulez que le rendu OpenGL à être exécutées sur votre machine locale, à l'aide d'un Windows serveur X, comme Xming est une bonne solution. Toutefois, si vous souhaitez un rendu à faire sur la télécommande fin avec juste les images sont envoyées à la machine locale, vous souhaitez spécialisé VNC système capable de gérer à distance de rendu OpenGL, comme VirtualGL.
Vous pouvez également utiliser VNC ( comme la croix-plate-forme de bureau à distance )
X est plus efficace car il n'envoie des commandes de dessin plutôt qu'en pixels, mais si vous êtes en utilisant opengl, il est probable que la plupart des données est une image de rendu, de toute façon.
Un autre grand avantage de VNC est que vous pouvez démarrer le programme en local sur le serveur, puis vous y connecter avec VNC, abandon de la connexion, reconnecter à partir d'une autre machine ... sans déranger le principal programme en cours d'exécution.
Pour OpenGL, l'exécution d'un serveur X est certainement une meilleure solution. Juste assurez-vous que l'application est développée pour être mis en réseau. Il ne devrait PAS utiliser le mode immédiat pour le rendu des textures et devrait être RAREMENT transférés.
Pourquoi X server une meilleure solution dans ce cas (par opposition à la VNC)? Parce que vous obtenez de l'accélération sur poste de travail, alors que VNC ed solution est généralement de même pas accéléré sur le mainframe. Donc, tant que les données sont conservées sur le serveur X (en utilisant les vertex arrays, vertex buffer objects, la texture des objets, etc), vous devriez obtenir beaucoup plus de vitesse que de l'utilisation de VNC, surtout avec les scènes les plus complexes depuis VNC est d'analyser, de transfert et de décoder les pixels.