Como posso executar um aplicativo OpenGL instalado em uma máquina linux da minha máquina windows?

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

Pergunta

No espírito de ser útil, este é um problema que eu tinha e resolveu, por isso vou responder a pergunta aqui.

Problema

Eu tenho:

Um aplicativo que tem de ser instalado em no Redhat ou SuSE empresa.

Tem exigências enormes do sistema e requer OpenGL.

É parte de um conjunto de ferramentas que precisa para operar em conjunto em uma máquina.

Esta aplicação é usada para uma tarefa intensiva tempo em termos de horas-homem.

Eu não quero sentar-se no trabalho sala do servidor sobre este pedido.

Assim, a pergunta surgiu ... como faço para executar esta aplicação a partir de uma máquina Windows remoto?

Eu vou descrever a minha solução. Sinta-se livre para comentar sobre as alternativas. Esta solução deve funcionar para ambientes mais simples também. O meu caso é um pouco extremo.

Foi útil?

Solução

Solução

Eu instalei dois pedaços de software:

PuTTY

Xming-mesa A mesa parte é importante.

PuTTY configuração

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

Lançamento

Executar Xming que irá colocar simplesmente iniciar um processo e colocar um ícone na bandeja do sistema. Lançamento massa de vidraceiro, apontando para sua caixa de linux, com a configuração acima. programa executado

Felizmente, Sucesso!

Outras dicas

Se você quiser a prestação OpenGL para ser executada em sua máquina local, utilizando um servidor Windows X, como Xming é uma boa solução. No entanto, se você quiser renderizar a ser feito na extremidade remota com imagens apenas enviados para a máquina local, você quer um sistema VNC especializadas que podem realizar renderização remota OpenGL, como VirtualGL .

Você também pode usar VNC (como desktop remoto multiplataforma) X é mais eficiente, uma vez que só envia desenhar comandos em vez de pixels, mas se você estiver usando OpenGL é provável que a maioria dos dados é uma imagem renderizada de qualquer maneira.

Outra grande vantagem do VNC é que você pode iniciar o programa localmente no servidor e, em seguida, conectá-lo com o VNC, cair a conexão, reconexão de outra máquina etc, sem perturbar o programa em execução principal.

Para OpenGL, executando um servidor X é definitivamente uma solução melhor. Apenas certifique-se a aplicação é desenvolvida para ser ligado em rede. Não deve usar o modo imediato para renderização e texturas devem ser RARAMENTE transferido.

Por que é servidor X uma melhor solução neste caso (ao contrário de VNC)? Porque você começa a aceleração na estação de trabalho, enquanto a solução VNC'ed geralmente não é mesmo acelerada no mainframe. Então, enquanto os dados são armazenados em buffer no servidor X (usando matrizes vértice, vértice buffer de objetos, objetos de textura, etc) você deve obter muito maior velocidade do que usando VNC, especialmente com cenas complexas desde VNC tem de analisar, transferência e decodificá-las como pixels.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top