Obtendo o controlador para trabalhar no segundo x-server

1

Estou usando o Linux Mint 17 com o Cinnamon como meu WM principal.

Eu quero rodar o Steam em um x-server separado para melhorar o desempenho da tela inteira e porque o unredirect não funciona corretamente no Cinnamon e leva ao rasgo e a nenhum benefício real de desempenho.

Consigo obter um x-server em execução: 1 em vt9 com o fluxbox como gerenciador de janelas, mas não consigo descobrir como fazer com que meu controlador funcione em jogos no segundo x-server. Até agora, testei o Steam Big Picture, o Shovel Knight, o Rogue Legacy e o higan, e o meu controlador não é reconhecido em nenhum deles.

Eu posso ver o joystick em / dev / input no meu x-server principal e no secundário, o controller é visível em jstest-gtk, e xinput reporta a mesma coisa em ambos os x-servers (não listando joysticks)

Não é apenas um problema de joystick global porque meu controlador funciona no servidor x primário com meu login normal.

Estou usando um controlador XBox360. Eu tentei instalar o xboxdrv, e isso não faz diferença.

O que estou perdendo? Alguma idéia?

    
por Beefster 04.07.2015 / 08:43

1 resposta

1

(Eu também uso o Mint 17 com o Cinnamon como meu desktop principal)

Você pode considerar o uso do Xephyr, que pode criar um xserver aninhado em sua área de trabalho do Cinnamon. Eu sou capaz de usar o meu gamepad (um tipo Thrustmaster PS3) em um servidor Xephyr. Eu não tenho o Steam instalado, mas eu verifiquei isso com outro jogo (alex4). Eu encontrei um problema ao bifurcação do Xephyr (que não existia em versões mais antigas), mas consegui contornar isso lançando de uma janela xterm. Observar o que eu fiz pode ajudar você a começar:

sudo apt-get install xterm xserver-xephyr alex4

Então, a partir de um terminal:

xterm -e Xephyr :1 -ac -screen 640x480 &

"xterm -e" faz com que o xterm lance e execute o seguinte comando.

"Xephyr: 1" significa que o novo display será: 1. Escolha algo diferente se você tiver vários monitores. Precisa ser algo que ainda não existe. (Se você tiver um monitor, ele é display: 0, um segundo é display: 1 e assim por diante.)

"Xephyr -ac" significa desabilitar os controles de acesso, o que, acredito, significa que o novo xserver terá acesso total ao sistema.

"Xephyr -screen widthxheight" é a resolução (também é possível obter um terceiro número para profundidade de bits, que usei para obter programas antigos do Windows que exigem o modo de 256 cores para funcionar via wine).

"&" faz com que o xterm se bifurque, permitindo que você insira outro comando no terminal.

Próximo no terminal:

DISPLAY=:1 alex4

Defina a variável do sistema DISPLAY para qualquer exibição que você criou com o Xephyr, depois inicie o programa desejado.

Se você escrever um script de shell para executar esses comandos, coloque um pouco de tempo para dar ao Xephyr tempo suficiente para iniciar a nova exibição ou sua tentativa de iniciar o programa falhará com uma falha de segmentação.

O Xephyr tem um sinalizador "-fullscreen" que você pode usar, mas você precisa fazer com que a resolução do seu desktop Cinnamon corresponda à resolução de tela do seu servidor Xephyr para que ele funcione corretamente. Use xrandr para isso, e lembre-se da sua resolução antiga, porque você terá que configurá-la depois. Por exemplo, no meu caso:

xrandr -s 640x480 && xterm -e Xephyr :1 -ac -screen 640x480 -fullscreen & sleep 3 && DISPLAY=:1 alex4 && killall xterm && xrandr -s 1920x1080 && killall Xephyr

(Caso você não saiba, o símbolo & significa esperar que o primeiro processo seja concluído e, em seguida, executar o seguinte. O símbolo & & único significa separar o primeiro processo e continuar para o próximo. )

Espero que isso ajude você. (Digite "Xephyr -help" para uma lista completa de opções. A página man é escassa.)

    
por 04.07.2015 / 11:42