Blog

Windows 11 na nuvem com GPU: jogar com Sunshine e Moonlight

Um jogo Windows num servidor Windows 11 com Intel UHD 770, transmitido com Sunshine e Moonlight: 111 fps em 1080p, 8 ms de processamento no servidor e as definições certas.

Windows 11 na nuvem com GPU: jogar e transmitir com Sunshine e Moonlight

Um jogo antigo que só corre em Windows, uma ferramenta que só existe para Windows, ou simplesmente um PC acessível de qualquer lugar: um servidor Windows 11 com GPU resolve tudo isto. A questão é como funciona na prática. Instalámos um jogo livre e gratuito bem conhecido, o SuperTuxKart, num servidor Windows 11 com uma Intel UHD 770, e transmitimo-lo com o Sunshine (no servidor) e o Moonlight (do lado do jogador).

SuperTuxKart no servidor Windows 11, tal como recebido pelo cliente Moonlight (5 segundos, estatísticas de desempenho do Moonlight no canto superior esquerdo).

Resultados em resumo

  • 111 fps em 1080p (96 fps «mostly stable») no benchmark do SuperTuxKart em Windows nativo, 182 fps em 720p.
  • Transmitir com o Sunshine quase não custa nada: vídeo H.264 1080p codificado pela GPU (Quick Sync), 8 ms de processamento no servidor em média, nenhuma imagem perdida, e o jogo mantém a sua taxa de fotogramas.
  • Desligue o V-Sync nos seus jogos: o ecrã do servidor é virtual, e o V-Sync só faz o jogo esperar por ele. O Moonlight limita a taxa de fotogramas do seu lado.
  • Para jogar, escolha o iGPU Power em vez do iGPU Start: só o jogo usava mais de metade dos 2 vCPU do iGPU Start, e o Power tem o dobro da quota de GPU quando outros servidores usam a GPU.

Configuração do teste

ElementoValor
ServidorWindows 11 Pro, Intel UHD 770 (GPU partilhada), controlador gráfico Intel 32.0.101.7092
Planos testadosiGPU Start (2 vCPU) e iGPU Power (4 vCPU)
JogoSuperTuxKart 1.5 para Windows, benchmark integrado (corrida gravada, 38 s), renderizador OpenGL
StreamingSunshine 2026.914 no servidor, Moonlight 6.2 num cliente Linux, H.264 1080p 60 fps
Redecliente e servidor no mesmo centro de dados: pela Internet, some a latência da sua ligação

Cada valor é a medição do próprio jogo (FPS «Typical», «Mostly stable» e «Steady» apresentados pelo SuperTuxKart no fim do benchmark).

1. Porque é preciso um ecrã virtual

Um servidor na nuvem não tem monitor. Sem monitor, o Windows desenha o ambiente de trabalho num adaptador de ecrã básico, e o Sunshine só consegue capturar esse adaptador e codificar no CPU (o registo mostra libx264 [software]).

A solução é um controlador de ecrã virtual associado à GPU Intel. Usámos o Virtual Display Driver, de código aberto (controlador assinado). Depois de instalado e com o Sunshine configurado para usar a GPU Intel, o Sunshine encontra os codificadores por hardware:

Found H.264 encoder: h264_qsv [quicksync]
Found HEVC encoder: hevc_qsv [quicksync]

Em C:\Program Files\Sunshine\config\sunshine.conf:

adapter_name = Intel(R) UHD Graphics 770

O jogo corre então no ecrã virtual, renderizado pela GPU, e o Sunshine codifica-o em H.264 ou HEVC. O streaming em AV1 não está disponível nesta GPU: use H.264 ou HEVC no Moonlight.

2. Desligue o V-Sync

O V-Sync faz um jogo esperar pela próxima atualização do ecrã antes de mostrar uma nova imagem. Num servidor na nuvem, esse ecrã é virtual: ninguém olha para ele, e as suas atualizações não se alinham bem com o jogo, por isso um jogo que falha uma atualização por pouco espera pela seguinte e perde até metade das suas imagens. Desligue o V-Sync em todos os jogos e deixe o Moonlight limitar a taxa de fotogramas (60 fps por predefinição): é o Moonlight que garante uma imagem fluida no seu próprio ecrã.

Com o V-Sync desligado, o benchmark do SuperTuxKart deu:

SuperTuxKart, Windows, iGPU StartTypicalMostly stableCPU do Windows
1080p111 fps96 fps56%
720p182 fps155 fps56%
SuperTuxKart em 1080p no servidor Windows 11 com a Intel UHD 770
Captura de ecrã feita no próprio servidor Windows (1080p, OpenGL, Intel UHD 770).

3. Transmitir com o Moonlight: quanto custa

Com o jogo a correr, ligámos um cliente Moonlight e anotámos as suas estatísticas de desempenho:

Estatística do Moonlight (1080p, H.264)Valor
Processamento no servidor (captura + codificação), mín / média / máx5,6 / 8,0 a 8,4 / 15,1 ms
Imagens perdidas pela rede ou por jitter0%
Tempo de descodificação no cliente0,33 ms
Taxa de fotogramas do jogo com e sem streaminginalterada
Cliente Moonlight a mostrar o stream do SuperTuxKart a partir do servidor Windows, com as estatísticas de desempenho
O que o jogador vê no Moonlight: o jogo e as estatísticas sobrepostas (codec, taxa de fotogramas, latência).

O codificador corre no motor multimédia da GPU, separado do motor 3D usado pelo jogo: é por isso que o streaming não baixa a taxa de fotogramas. A sua latência total vai depender sobretudo da sua ligação à Internet até ao servidor (na Alemanha): uma boa ligação de fibra na Europa acrescenta normalmente 10 a 30 ms.

4. iGPU Start ou iGPU Power?

Há duas coisas que decidem. O CPU: sem V-Sync, só o jogo usava 56 a 64% dos 2 vCPU do iGPU Start, antes do Sunshine, do Windows Update e dos seus outros programas. A quota de GPU: a GPU é partilhada, e quando outros servidores a usam ao mesmo tempo, o iGPU Power recebe o dobro do tempo de GPU do iGPU Start, o que significa menos quedas de fotogramas. Para jogos em Windows recomendamos o iGPU Power (4 vCPU, 14 GB de RAM, o dobro da quota de GPU do Start). O iGPU Start continua adequado para escritório, ambiente de trabalho remoto e jogos 2D antigos.

5. Configurar num servidor Linux GPU

Quer o servidor pronto a jogar? Peça-o por e-mail ao encomendar (contact@linuxgpu.eu): podemos entregar-lhe diretamente o servidor Windows com tudo o que se segue já instalado e configurado (driver Intel, ecrã virtual, Sunshine). Só tem de instalar o Moonlight no seu computador, telemóvel ou box de TV e emparelhá-lo.

Para fazer por si:

  1. Encomende o iGPU Power com a opção Windows 11 (10 €, pagamento único): o Windows 11 Pro é instalado por nós, com o controlador gráfico Intel, o Ambiente de Trabalho Remoto e SSH.
  2. Ligue-se pelo Ambiente de Trabalho Remoto, instale o Sunshine e o Virtual Display Driver, e defina adapter_name como acima.
  3. Abra a interface web do Sunshine através de um túnel SSH (ssh -L 47990:localhost:47990 Administrator@your-server), crie a conta do Sunshine e emparelhe o Moonlight (Windows, macOS, Linux, Android, iOS, boxes de TV).
  4. Em cada jogo, desligue o V-Sync. No Moonlight, escolha H.264 ou HEVC e 60 fps.
  5. Use o Moonlight para jogar e o Ambiente de Trabalho Remoto para o resto: abrir uma sessão de Ambiente de Trabalho Remoto toma conta da sessão Windows que o Sunshine transmite.

O seu servidor é acessível por IPv6 por omissão. Se a sua ligação não tiver IPv6, acrescente a opção de IPv4 dedicado.

Prefere dispensar o Windows por completo? Muitos jogos Windows também correm em Linux com o Wine: veja correr jogos Windows num servidor Linux GPU com o Wine, onde o mesmo jogo chegou a cerca de 95 fps em 1080p. Leia também o nosso teste de carga da GPU partilhada.

Sistemas prontos para jogar logo à partida. Os sistemas que instalamos por predefinição já estão otimizados para isso: Debian 13 com um kernel recente (7.3), os drivers de GPU da Intel e o Mesa (OpenGL, Vulkan, codificação de vídeo VA-API), e o Windows 11 (opção) com o driver gráfico da Intel e o Ambiente de Trabalho Remoto renderizado na GPU. Nada de procurar drivers: instale o seu jogo e o Sunshine, e jogue.

Experimentar

Ver os planos: o iGPU Power custa 29,99 € s/ IVA por mês, mais 10 €, pagos uma única vez, pela opção Windows 11.