Que pacotes devo instalar para executar o jogo Unity?

2

Como contribuição para o 34º Ludum Dare, desenvolvi um jogo no Windows 10 usando o framework Unity 5. Eu o exportei para as versões 32b e 64b do Windows e uma versão 64b do OSX. Todos funcionam perfeitamente bem.

Eu também queria exportá-lo para os usuários do Linux, já que os exportei como binários 32b a 64b para Linux. No entanto, no meu Ubuntu 14.04 não funciona. Para ser específico, marquei o arquivo como executável e o executei (a partir da concole). Ele pisca e trava sem nenhum erro.

Suponho que deve haver alguns pacotes configurados que devo instalar como o mono. Você poderia sugerir o que instalar para executar tais jogos?

EDIT1:

$ ldd game
linux-vdso.so.1 =>  (0x00007ffdd6f0b000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f333660b000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f33363ed000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f33361e5000)
libGL.so.1 => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 (0x00007f3335f7f000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x0000003bf5a00000)
libXcursor.so.1 => /usr/lib/x86_64-linux-gnu/libXcursor.so.1 (0x0000003bfb200000)
libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x0000003bfba00000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f3335c03000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f33358fd000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f33356e6000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3335321000)
/lib64/ld-linux-x86-64.so.2 (0x00007f333680f000)
libglapi.so.0 => /usr/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007f33350fa000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f3334ee8000)
libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x0000003bf8e00000)
libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f3334ce2000)
libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x0000003c08200000)
libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x0000003c0be00000)
libxcb-dri2.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0 (0x0000003c0b200000)
libxcb-dri3.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0 (0x0000003c04600000)
libxcb-present.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-present.so.0 (0x0000003c0ca00000)
libxcb-sync.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1 (0x0000003c0ba00000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x0000003bf5600000)
libxshmfence.so.1 => /usr/lib/x86_64-linux-gnu/libxshmfence.so.1 (0x0000003c03e00000)
libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x0000003c03600000)
libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f3334ad6000)
libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f33348cc000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x0000003bf5200000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x0000003bf4e00000)
    
por 3.14.TR 14.12.2015 / 15:40

1 resposta

0

O que você tem lá é um executável que pode ser executado como um executável Linux, mas está faltando a ligação correta para ser executado em qualquer um deles.

Essa informação que você deu é exatamente o que você precisa para começar a resolver a situação. Você precisa ir para a pesquisa de pacotes do Ubuntu e depois Pesquisar o conteúdo dos pacotes. link

Você pode então precisar vincular arquivos em que os nomes de arquivo sejam diferentes para que o executável funcione. Você também pode precisar baixar e compilar algumas coisas de terceiros que não estão nos repositórios do Ubuntu.

Infelizmente, este é um problema comum em executar o executável não compilado usando a distribuição de destino. Quem sabe o que MacGyvering de objetos compartilhados foram feitos dentro da unidade para fazer um executável. É mais provável que seja diferente para osx, já que é uma plataforma singular com uma estrutura, enquanto o Linux é distribuições múltiplas com muitas estruturas diferentes. Em vez disso, o que você tem lá é um executável que pode ser executado como um executável Linux, mas está faltando a ligação correta para ser executado em qualquer um deles.

Sem compartilhar seu arquivo, você é a pessoa que tem que pesquisar como obter esse arquivo em particular para ser executado - e fazê-lo rodar em diferentes versões do Ubuntu.

Eu gostaria de observar - eu tive a experiência exatamente oposta a você. Alguns anos atrás eu escrevi algo no Unity, e enquanto eu estava esperando problemas quando eu corri no Ubuntu, ele funcionou sem problemas. Os problemas que você está tendo provavelmente estão relacionados a um componente do seu jogo. Talvez alguma coisa de terceiros?

Desculpe por não ser muito útil e responder a um tópico antigo. Mas eu pensei que deveria mesmo que fosse. Uma resposta é melhor que nenhuma.

    
por Michael 15.03.2018 / 15:56