Execução de um jogo usando aceleração 3D em terminal virtual separado lento, a menos que seja executado como root

1

Eu montei um script simples para rodar o Neverwinter Nights a partir de um terminal virtual separado:

#!/bin/bash
read -r -d '' myrcfile <<'EOF'
#!/bin/bash
cd /path/to/game
./nwn
EOF

XINITRC=<(echo "${myrcfile}") xinit -- :1 vt8

Enquanto isso funciona, a jogabilidade é bastante instável. Para referência, ele é executado bem na instância inicial / padrão do X.

Eu brinquei com schedtool para ver se eu poderia melhorar, e no começo parecia que eu tinha conseguido, mas na realidade a melhora não foi por causa do schedtool mas sim porque eu tinha [ingenuamente] feito isso:

sudo schedtool ${parms} -e ./nwn
^^^^

... porque alguns dos parâmetros de schedtool requerem raiz (note: ${parms} é várias combinações de schedtool parameters). schedtool não foi responsável pela melhoria na velocidade - sudo foi. Para garantir que foi o caso, eu substituí a linha final do script interno por gnome-terminal -c 'sudo ./nwn' e, com certeza, ele funciona perfeitamente.

Alguém tem uma boa sugestão de como fazer isso?

Veja algumas das coisas que tentei:

  • Execute o X sob o sudo e coloque su -c ./nwn myusername no script
  • Ran o jogo & X como meu usuário, em seguida, executei schedtool de um terminal virtual separado com sudo para alterar as configurações do processo em execução no momento, mas nada mudou
    • Isso parece indicar que schedtool não fará nada de bom
por Brian Vandenberg 30.11.2014 / 06:56

1 resposta

0

Eu acabei de descobrir. Eu adicionei-me ao grupo video e games . Não tenho certeza de qual deles fez isso, mas funcionou.

Uma coisa estranha que eu encontrei enquanto brincava com isso: antes de fazer o grupo mudar eu corri glxgears; como root, estava ficando com o mesmo FPS, como se eu tivesse executado a partir da sessão padrão, mas como meu usuário estava relatando em torno de 500fps.

    
por 30.11.2014 / 07:16