Você pode conferir VirtualGL em conjunto com O TurboVNC deve fornecer 20fps @ 1280x1024 com 100 Mbit ( veja a Wikipedia ).
Observe que pode não funcionar com todos os aplicativos, depende de como eles usam o OpenGL.
Eu tenho um PC fraco (cliente), mas com desempenho 3D aceitável, e um PC strong (servidor) que deve ser capaz de executar um aplicativo usando OpenGL duas vezes, ou seja, uma vez localmente e remotamente para o cliente. Atualmente, eu ssh -X
nele, mas a saída do console do cliente informa que a renderização de software é usada e só recebo 3 quadros por segundo (fps). Na verdade, a criptografia do ssh não é necessária, já que isso está em uma LAN, mas é o que eu já sei para aplicativos remotos ...
Então, como o desempenho do cliente pode ser aumentado? Minhas ideias são
Eu sei, em resolução total e sem compressão sofisticada, uma LAN de 100 Mbit / s não produzirá mais fps, mas é uma aplicação em janela de ca. 800x450, portanto, teoricamente até 12 fps (a 24 bits / pixel) deve ser possível usando dados gráficos descompactados. E talvez algo melhor seja possível usando a própria GPU do cliente ou alguma compactação inteligente.
-
edit O que eu quero é basicamente uma versão local do que, por exemplo Ofertas onlive e gaikai . Existe algo assim para o Linux (e possivelmente livre)?
-
edit2 O VirtualGL parece a melhor solução (embora atualmente não funcione para mim), mas eu me pergunto se é possível fazer renderização de hardware no cliente, também
Você pode conferir VirtualGL em conjunto com O TurboVNC deve fornecer 20fps @ 1280x1024 com 100 Mbit ( veja a Wikipedia ).
Observe que pode não funcionar com todos os aplicativos, depende de como eles usam o OpenGL.
Essa é uma pergunta antiga, mas ainda é relevante. Há um manual passo a passo sobre como configurar e solucionar problemas de renderização 3D X11 de aplicativo remoto em hardware local: aceleração de hardware OpenGL através de conexão ssh x11 remota
O cromo B.S.U. jogo é usado no artigo como um exemplo. Ele é executado com 5-8 FPS com renderização de software padrão por meio de conexão SSH, 30 FPS com renderização indireta de hardware e > 30 FPS com conexão TCP X11 não criptografada. Observe que isso funciona apenas para alguns aplicativos.
A renderização indireta e as conexões TCP estão desabilitadas na configuração padrão do servidor X11. Os parâmetros +iglx and -listen tcp
permitem isso. Há também a variável LIBGL_ALWAYS_INDIRECT=1
que força a renderização indireta no cliente X11.
Isso pode ser verdade se você tiver dois PCs de mesa. Mas se você tiver um laptop WiFi antigo utilizável em qualquer lugar em casa (por exemplo, o Ti5600 com o Ubuntu 10.04 como seu cliente e um desktop com uma placa GTX junto com um roteador Wi-Fi extra, ter um cliente OpenGL parece uma boa idéia. / p>
O problema é obter um contexto OpenGL remoto (do lado do servidor). Você pode executar ssh -X no seu cliente. Mas se você executar o glxinfo no sistema remoto, você obtém o seu cliente local, o que o coloca de volta onde você começou. Você pode definir sua variável de ambiente DISPLAY para aquele host remoto, e você pode usar essa tela como um segundo monitor, o que ainda não ajuda.
Uma outra solução é escrever seus aplicativos de desktop para que eles possam usar um contexto GLX remoto: