Come posso eseguire un'applicazione OpenGL installata su un computer Linux dal mio computer Windows?

StackOverflow https://stackoverflow.com/questions/106201

Domanda

Nello spirito di essere d'aiuto, questo è un problema che ho avuto e risolto, quindi risponderò alla domanda qui.

problema

Ho:

Un'applicazione che deve essere installata su Redhat o SuSE enterprise.

Ha enormi requisiti di sistema e richiede OpenGL.

Fa parte di una suite di strumenti che devono operare insieme su una macchina.

Questa applicazione viene utilizzata per un'attività che richiede molto tempo in termini di ore di lavoro.

Non voglio sedermi nella stanza del server lavorando su questa applicazione.

Quindi, la domanda è emersa ... come posso eseguire questa applicazione da un computer Windows remoto?

Descriverò la mia soluzione. Sentiti libero di commentare le alternative. Questa soluzione dovrebbe funzionare anche per ambienti più semplici. Il mio caso è alquanto estremo.

È stato utile?

Soluzione

Soluzione

Ho installato due software:

PuTTY

XMing-mesa La parte mesa è importante.

Configurazione PuTTY

Connection->Seconds Between Keepalives: 30
Connection->Enable TCP Keepalives: Yes

Connection->SSH->X11->Enable X11 forwarding: Yes
Connection->SSH->X11->X display location: localhost:0:0

LANCIO

Esegui Xming che metterà semplicemente in moto un processo e inserirà un'icona nella barra delle applicazioni. Avvia putty, indicando la tua casella di linux, con la configurazione sopra. Esegui programma

Eventualmente, successo!

Altri suggerimenti

Se vuoi che il rendering OpenGL sia eseguito sul tuo computer locale, usando un server Windows X, come Xming è una buona soluzione. Tuttavia, se si desidera eseguire il rendering sull'estremità remota con solo immagini inviate al computer locale, si desidera un sistema VNC specializzato in grado di gestire il rendering OpenGL remoto, come VirtualGL .

Puoi anche usare VNC (come desktop remoto multipiattaforma) X è più efficace poiché invia solo comandi di disegno anziché pixel, ma se si utilizza l'opengl è probabile che la maggior parte dei dati sia comunque un'immagine renderizzata.

Un altro grande vantaggio di VNC è che è possibile avviare il programma localmente sul server e quindi connettersi ad esso con VNC, interrompere la connessione, riconnettersi da un'altra macchina ecc. senza disturbare il programma in esecuzione principale.

Per OpenGL, eseguire un server X è sicuramente una soluzione migliore. Assicurati solo che l'applicazione sia sviluppata per essere collegata in rete. NON dovrebbe usare la modalità immediata per il rendering e le trame dovrebbero essere RARAMENTE trasferite.

Perché X server è una soluzione migliore in questo caso (al contrario di VNC)? Perché si ottiene l'accelerazione sulla workstation, mentre la soluzione VNC di solito non è nemmeno accelerata sul mainframe. Quindi, fintanto che i dati sono bufferizzati sul server X (usando array di vertici, oggetti buffer vertici, oggetti texture, ecc.) Dovresti ottenere una velocità molto più alta rispetto all'utilizzo di VNC, specialmente con scene complesse poiché VNC deve analizzarli, trasferirli e decodificarli come pixel.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top