Neverwinter Nights Platinum com vídeos e mouse por hardware
jul 18th, 2008 by Fernando Scherrer
Este artigo aborda a instalação do client do consagrado RPG Neverwinter Nights (NWN), versão Platinum em ambiente Linux. Abordando a instalação básica (suficiente para jogar), compilação de uma libSDL com patch para alternar entre os modos fullscreen e windowed, instalação do NWMovies para habilitar os vídeos e instalação do NWMouse para habilitar o cursor por hardware.
Testado com Slackware 12.1, openSUSE 10.3 e Ubuntu 9.04. Já está com base no final update (1.69) lançado por volta do dia 10 (de Julho de 2008).
Última atualização: 06/10/2009.
- Considerações iniciais
- Preparando o terreno
- Instalando
- Rodando
- Compilando uma libSDL só para o jogo
- Habilitando os vídeos
- Configurando o cursor por hardware
- Segmentation fault
- SDL-devel/libsdl-dev
- Considerações finais
- Referências
- Comente
- Histórico
Considerações iniciais
Os passos descritos neste artigo foram testados em três distribuições um tanto quanto distintas:
- Slackware 12.1 instalação full a partir do DVD:
- instalado driver proprietário da nVidia (NVIDIA-Linux-x86-1.0-9629-pkg1.run);
- instalada libelf (libelf-0.8.10-i486-2bj) requerida pelo NWMovies e NWMouse, que pode ser obtida no Slacky.eu (link direto).
- openSUSE 10.3 instalação com GNOME, também a partir do DVD:
- instalado gcc (4.2) (requerido pelo NWMovies, pelo NWMouse e pelo instalador do driver proprietário da nVidia), disponível no próprio DVD da distribuição;
- instalado kernel-source (2.6.22.5) (requerido pelo instalador do driver proprietário da nVidia), disponível no próprio DVD da distribuição;
- instalado driver proprietário da nVidia (NVIDIA-Linux-x86-1.0-9629-pkg1.run);
- instalado SDL-devel (requerido pelo NWMovies), disponível no próprio DVD da distribuição;
- instalado Mesa-devel (7.0.1) (requerido para compilação da libSDL), disponível no próprio DVD da distribuição;
- instalado DirectFB-devel (1.0.0) (requerido para compilação da libSDL), disponível no próprio DVD da distribuição;
- instalada libelf-devel (0.128) (requerida pelo NWMovies e NWMouse), que pode ser obtido em http://packages.opensuse-community.org.
- Ubuntu 9.04 instalação a partir do Live CD:
- habilitado driver proprietário da nVidia (versão 96) pelo jockey-gtk;
- instalados libsdl-mixer1.2 (que instala também libmikmod2 e libsmpeg0) e libstdc++5 (requeridos pelo BinkPlayer);
- instalado libsdl-dev (que instala dezenas de outros pacotes) (requerido pelo NWMovies);
- instalado libelf-dev (requerido pelo NWMovies e NWMouse);
- instalado libxcursor-dev (que instala também libxfixes-dev, libxrender-dev, x11proto-fixes-dev e x11proto-render-dev) (requerido pelo NWMouse);
-
Necessário criar alguns links simbólicos para arquivos de cabeçalho do kernel não encontrados (não sei o motivo, isso foi necessário também em alguns testes que fiz com o Arch Linux):
# cd /usr/include/asm # ln -s /usr/src/linux-headers-2.6.28-11/arch/x86/include/asm/page.h
# cd /usr/include/linux # ln -s /usr/src/linux-headers-2.6.28-11/arch/x86/include/asm/user.h # ln -s /usr/src/linux-headers-2.6.28-11/arch/x86/include/asm/user_64.h
No entanto são aplicáveis, possivelmente, a qualquer distribuição atual.
Caso use Gentoo, considere ler o artigo específico para esta distribuição, escrito pelo Renan Rangel, publicado em seu site: http://br-net.org/post/neverwinter-nights-platinum-no-gentoo.
Antes de iniciar a instalação leia o artigo até o final para certificar-se de que não há nenhum ponto que não lhe seja claro.
A instalação final, uma vez seguidos todos os passos aqui descritos, utilizará 4.5G. Os arquivos necessários para a instalação utilizarão aproximadamente 516M, já considerando o source da libSDL compilado, porém não considerando os arquivos da mídia de instalação (já que não precisamos copiá-los para a máquina antes de descompactá-los).
Preparando o terreno
Abaixo segue o que vamos precisar inicialmente. Organização é a alma de tudo, recomendo fortemente que os downloads sejam realizados num diretório separado, não ficar "largando" arquivos no home ou no Desktop. Algo como ~/instalacoes/jogos/neverwinterNights.
-
DVD Neverwinter Nights Platinum, que pode ser obtido através da edição 70 da revista Fullgames: http://www.fullgames.com.br/revista-detalhe.asp?codprod=1070, encontrada na maioria das bancas e livrarias por R$15,90, ou através do box: http://nwn.bioware.com/about/platinumedition.html;
-
client para linux, que pode ser obtido diretamente no site oficial do jogo: http://nwn.bioware.com. Acessando o menu Downloads > Linux Client, se não estiver logado, aparecerá Log in to download the Linux Client binaries, sendo necessário logar (cadastro grátis) para que passe a aparecer Download the Linux Client 1.29 binaries (tar.gz, 5.3 MB) com o link:
-
Linux Client (5.3 MB):
http://files.bioware.com/neverwinternights/updates/linux/nwclient129.tar.gz - patch 1.69 (final update) Hordes of the Underdark que é também para as edições Platinum e Diamond: http://nwn.bioware.com/support/patch.html. Link direto:
- Patch Hordes of the Underdark (506 MB):
http://files.bioware.com/neverwinternights/updates/linux/169/English_linuxclient169_xp2.tar.gz
Instalando
Uma vez tendo tudo separadinho vamos partir para a instalação.
A instalação se dá de forma muito simples e tranqüila. Seguem os passos:
- criação do diretório destino;
- descompactação dos arquivos Data_Shared.zip e Language_data.zip do DVD no diretório destino;
- instalação (descompactação) do client;
- aplicação (descompactação) do update no diretório destino.
- acerto no script de inicialização para utilizar a libSDL do sistema;
Obs. 1: estou considerando que o DVD do jogo foi montado em /mnt/dvd.
Obs. 2: não é necessária a descompactação do arquivo Language_update.zip do DVD, pois contém apenas o arquivo dialog.tlk, o qual o update que será aplicado já traz.
Obs. 3: não é necessária a instalação do nwclienthotu.tar.gz (apesar de descrito em muitos sites, inclusive no http://nwn.bioware.com/downloads/linuxclient.html), já que quase todos os arquivos providos por ele (exceto: fixinstall [não utilizaremos aqui], movies-HotU.txt [texto da fala do vídeo de abertura] e readme.txt) serão sobrescritos pelo update.
Obs. 4: não é mais necessária (como era no update 1.68) a instalação de todos os updates (English_linuxclient169_orig.tar.gz, English_linuxclient169_xp1.tar.gz e por último English_linuxclient169_xp2.tar.gz), apenas do último (English_linuxclient169_xp2.tar.gz). Mais detalhes vide este post no fórum do jogo.
Basicamente:
$ mkdir -p ~/games/nwn $ cd ~/games/nwn/ $ unzip /mnt/dvd/Data_Shared.zip $ unzip /mnt/dvd/Language_data.zip $ tar -zxvf ~/instalacoes/jogos/neverwinterNights/nwclient129.tar.gz $ tar -zxvf ~/instalacoes/jogos/neverwinterNights/English_linuxclient169_xp2.tar.gz
Para rodar o jogo é só chamar o script nwn. Porém, ao tentar rodar no Slackware e no openSUSE provavelmente obteremos os seguintes erros:
- Slackware 12.1:
-
./nwn nwmain: xcb_lock.c:77: _XGetXCBBuffer: Assertion `((int) ((xcb_req) - (dpy->request)) >= 0)' failed. ./nwn: line 12: 7736 Aborted ./nwmain $@
- openSUSE 10.3:
-
nwmain: xcb_xlib.c:52: xcb_xlib_unlock: Assertion `c->xlib.lock' failed. ./nwn: line 12: 16998 Aborted ./nwmain $@
No Ubuntu não ocorreu nenhum problema, abrindo o jogo normalmente.
Para contornar os erros citados acima, edite o arquivo nwn e remova o ./lib: da linha:
export LD_LIBRARY_PATH=./lib:./miles:$LD_LIBRARY_PATH
Se nada foi alterado no script ainda, a linha é a 10. O script ficará assim:
1 2 3 4 5 6 7 8 9 10 11 12 | #!/bin/sh # This script runs Neverwinter Nights from the current directory export SDL_MOUSE_RELATIVE=0 export SDL_VIDEO_X11_DGAMOUSE=0 # If you do not wish to use the SDL library included in the package, remove # ./lib from LD_LIBRARY_PATH export LD_LIBRARY_PATH=./miles:$LD_LIBRARY_PATH ./nwmain $@ |
Esta alteração fará com que seja utilizada a libSDL (a única coisa que tem na pasta ./lib) do sistema ao invés da disponível na pasta ./lib. Esta alteração está documentada no próprio script (If you do not wish to use the SDL library included in the package, remove ./lib from LD_LIBRARY_PATH).
Rodando
Conforme descrito anteriormente, o jogo pode ser executado através do script nwn localizado no diretório em que fizemos a instalação (~/games/nwn):
cd ~/games/nwn ./nwn
Assim que o jogo iniciar aparecerão as telas solicitando os CD-Keys, é só informá-los na ordem solicitada (são três CD-Keys: Neverwinter Nights, Shadows of Undrentide e Hordes of the Underdark).
Se achar mais cômodo pode só criar manualmente o arquivo nwncdkey.ini na pasta do jogo e digitar os seriais:
;These are your CD Keys for Neverwinter Nights. ;DO NOT share these CD Keys with ANYONE. ;Apart from this installation, or when registering with the Official Neverwinter Nights ;Community Site [http://nwn.bioware.com], BioWare and Infogrames will NEVER ask you for ;this CD Key. [CDKEY] Key1=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX Key2=YYYYY-YYYYY-YYYYY-YYYYY-YYYYY-YYYYY-YYYYY Key3=ZZZZZ-ZZZZZ-ZZZZZ-ZZZZZ-ZZZZZ-ZZZZZ-ZZZZZ
Sendo Key1 o CD-Key do Neverwinter Nights, Key2 do Shadows of Undrentide e Key3 do Hordes of the Underdark.
Até aqui já temos o jogo rodando normalmente. As próximas seções descrevem como compilar uma libSDL com patch para alternar entre os modos windowed e fullscreen, habilitar os vídeos e cursor por hardware.
Compilando uma libSDL só para o jogo
Não obtive sucesso com os vídeos utilizando a libSDL padrão do sistema. Tanto no Slackware quanto no openSUSE e no Ubuntu ao rodar o script nwn a tela ficava preta e não saia disso, tendo que logar num outro terminal e matar o processo.
A solução foi compilar um libSDL só para o jogo.
Existe um patch para a libSDL que permite alternar entre os modos fullscreen e windowed, então já vou explicar junto. Se não quiser aplicar o patch fique à vontade, não é necessário para o funcionamento dos vídeos.
Obs. 1: o meu "Alt da direita" é o Alt Gr, que não responde como Alt_R, mas sim como ISO_Level3_Shift (podes checar utilizando o utilitário xev), logo o primeiro atalho descrito no final desta seção não funciona. Eu optei por alterar o patch e trocar o KMOD_RALT por KMOD_RCTRL (Control-Direito). Uma outra alternativa é alterar o mapeamento da tecla mesmo (rodar xmodmap -e "keycode 113 = Alt_R", ou inserí-lo no ~/.xinitrc, ou configurar no ~/.Xmodmap ...).
Obs. 2: a possível necessidade de compilação de uma libSDL é mensionada no nwmovies.README.txt.
Obs. 3: enquanto escrevo este artigo a última versão estável da libSDL é a 1.2.13, porém, como a última versão do patch disponível é para a 1.2.11, estou utilizando esta (não testei com outras versões).
Arquivos envolvidos:
-
libSDL-1.2.11 (~2.7 MB):
http://www.libsdl.org/release/SDL-1.2.11.tar.gz -
Patch (~2.5 KB):
http://home.roadrunner.com/~nwmovies/fullscreen-toggle-1211.patch
Etapas:
- descompactação do fonte da libSDL;
- aplicação do patch (apenas para windowed/fullscreen);
- compilação (não é necessário instalar, apenas ./configure e make);
- backup da pasta lib original;
- criação de uma nova pasta lib e cópia da biblioteca compilada.
Assumindo que os arquivos foram salvos na mesma pasta que o nwclient e o update (~/instalacoes/jogos/neverwinterNights):
$ cd ~/instalacoes/jogos/neverwinterNights/ $ tar -zxvf SDL-1.2.11.tar.gz $ cd SDL-1.2.11 $ patch -p1 < ../fullscreen-toggle-1211.patch $ ./configure $ make $ cd ~/games/nwn/ $ mv lib lib.bioware $ mkdir lib $ cd ~/instalacoes/jogos/neverwinterNights/SDL-1.2.11/ $ cp build/.libs/libSDL-1.2.so.0.11.0 ~/games/nwn/lib/ $ cd ~/games/nwn/lib $ ln -s libSDL-1.2.so.0.11.0 libSDL-1.2.so.0
Como havíamos removido o .lib: do script ~/games/nwn/nwn, devemos reinserí-lo.
export LD_LIBRARY_PATH=./lib:./miles:$LD_LIBRARY_PATH
Agora é só rodar (./nwn) para checar se está tudo ok.
Atalhos para uso dos recursos que o patch proporciona:
- [Alt-Direito] + [Enter]: alterna entre os modos fullscreen e windowed;
- [Alt-Esquerdo] + [Enter]: alterna entre os modos fullscreen e windowed e minimiza a janela;
- [Control-Esquerdo] + [G]: desabilita o mouse grab, permitindo que o mouse saia da janela do jogo;
- [Control-Direito] + [G]: habilita o mouse grab, impedindo que o mouse saia da janela do jogo;
Habilitando os vídeos
Para habilitar os vídeos vamos precisar do Bink Player para linux da RAD Game Tools e do NWMovies:
-
Bink Player (116 KB):
http://www.radgametools.com/down/Bink/BinkLinuxPlayer.zip -
NWMovies (~52 KB):
http://home.roadrunner.com/~nwmovies/nwmovies/nwmovies-latest.tar.gz
Obs. 1: o NWMovies requer gcc, Perl e libelf (incluindo os cabeçalhos, os quais algumas distribuições separam em pacotes -devel). Verifique se a sua distribuição contém estes pacotes antes de prosseguir.
Obs. 2: considere a leitura da seção anterior (Compilando uma libSDL só para o jogo) antes de prosseguir.
Assumindo que os dois arquivos foram salvos na mesma pasta que o nwclient e o update (~/instalacoes/jogos/neverwinterNights):
$ cd ~/games/nwn/ $ unzip ~/instalacoes/jogos/neverwinterNights/BinkLinuxPlayer.zip $ chmod u+x BinkPlayer
É sempre bom dar uma testada antes de continuar:
$ ./BinkPlayer movies/NWNintro.bik
Isso deverá reproduzir o vídeo de abertura do jogo, não prossiga se não conseguir exibir o vídeo. Estando tudo ok vamos descompactar e executar o instalador do NWMovies. Será necessário informar o caminho da libSDL que o jogo está utilizando: ./lib/libSDL-1.2.so.0:
$ tar -zxvf ~/instalacoes/jogos/neverwinterNights/nwmovies-latest.tar.gz $ ./nwmovies_install.pl ./lib/libSDL-1.2.so.0
A saída do último comando deverá ser algo como:
NOTICE: NWMovies: Executing: gcc -m32 -Wall -Inwmovies/libdis -g -fPIC -shared ... NOTICE: NWMovies: Executing: gcc -m32 -Wall -shared -g -Wl,-soname,binklib.so ... NOTICE: NWMovies: Executing: gcc -m32 -Wall -shared -g -DSDLLIB=".... NOTICE: NWMovies: Please check for errors above NOTICE: NWMovies: nwmovies executable built. Please modify your nwn startup command to NOTICE: NWMovies: set LD_PRELOAD to 'nwmovies.so', before executing nwmain.
Se não ocorrer nenhum problema, altere o script de inicialização (~/games/nwn/nwn) incluindo as linhas abaixo em qualquer lugar no arquivo antes da chamada ao nwmain (./nwmain $@):
# SDL alsa driver export SDL_AUDIODRIVER=alsa # NWMovies export LD_PRELOAD=./nwmovies.so
Ficando assim:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #!/bin/sh # This script runs Neverwinter Nights from the current directory export SDL_MOUSE_RELATIVE=0 export SDL_VIDEO_X11_DGAMOUSE=0 # If you do not wish to use the SDL library included in the package, remove # ./lib from LD_LIBRARY_PATH export LD_LIBRARY_PATH=./lib:./miles:$LD_LIBRARY_PATH # SDL alsa driver export SDL_AUDIODRIVER=alsa # NWMovies export LD_PRELOAD=./nwmovies.so ./nwmain $@ |
Obs.: nos testes que fiz (todos numa mesma máquina), com o openSUSE a existência de export SDL_AUDIODRIVER=alsa era indiferente, no Slackware sua ausência fazia com que os vídeos não fossem reproduzidos (caindo direto no jogo), no Ubuntu 8.04 sua existência fazia com que o jogo ficasse sem áudio enquanto que no Ubuntu 9.04 o áudio funcionou com a existência do export. Portanto se tiver algum problema considere comentar esta linha e testar.
A primeira vez quer rodarmos o jogo após a instalação do NWMovies será gerado o arquivo de configuração (o jogo em si não será iniciado). Algo como:
$ ./nwn NOTICE: NWMovies: Version: 20080308.192336 NOTICE: SDL Library determined to be: /usr/lib/libSDL-1.2.so.0 WARNING: NWMovies: No INI file. Creating. WARNING: NWMovies: INI recalculation required: 7739472:0 1155672910:0 427800:0 ... WARNING: NWMovies: SDL_WM_GrabInputRaw() not visible. Looking for it the hard way. WARNING: NWMovies: This may not work. NOTICE: NWMovies: (crumb) Entry point determined: 0x7bb0 NOTICE: NWMovies: (crumb) Located address: 00031d40 NOTICE: NWMovies: (cookie) Entry point determined: 0x7830 NOTICE: NWMovies: (cookie) Searching executable: 28 NOTICE: NWMovies: (cookie) Cookie location: 0x1ac266 NOTICE: NWMovies: (cookie) Searching executable: 29 NOTICE: NWMovies: (cookie) Call Location #1: 00027100 NOTICE: NWMovies: (cookie) Call Location #2: 00027114 NOTICE: NWMovies: (cookie) Call Location #3: 00026fd0 NOTICE: NWMovies: (cookie) Searching executable: 16 NOTICE: NWMovies: (cookie) Searching executable: 02 NOTICE: NWMovies: (cookie) Searching executable: 02 NOTICE: NWMovies: (cookie) Searching executable: 18 NOTICE: NWMovies: (cookie) Searching executable: 02 NOTICE: NWMovies: (movies) Searching executable: 28 NOTICE: NWMovies: (movies) Searching executable: 30 NOTICE: NWMovies: (movies) Cookie start_location: 0x1b5611 NOTICE: NWMovies: (movies) Searching executable: 30 NOTICE: NWMovies: (movies) Cookie end_location: 0x1b5634 NOTICE: NWMovies: (cookie) Recalculated calls 0: 08076939 NOTICE: NWMovies: (cookie) Recalculated calls 1: 0807694d NOTICE: NWMovies: (cookie) Recalculated calls 2: 0815973c NOTICE: NWMovies: (cookie) Recalculated calls 3: 08159756 NOTICE: NWMovies: (cookie) Recalculated calls 4: 0807680b NOTICE: NWMovies: (movies) Recalculated calls 5: 08204e41 NOTICE: NWMovies: (movies) Recalculated calls 6: 08204e64 NOTICE: NWMovies: INI File written: Now exiting. This is perfectly normal! NOTICE: Your next run of NWN should be complete, and include movies.
Agora sim, já podemos rodar o jogo (./nwn) que os vídeos serão exibidos normalmente.
Configurando o cursor por hardware
Assim que jogar um pouco poderá perceber que o cursor se movimenta com um pouco de atraso. Para melhorar a jogabilidade podemos configurar o cursor por hardware, através do NWMouse.
Vamos precisar de:
-
NWMouse (~67 KB):
http://home.roadrunner.com/~nwmovies/nwmouse/nwmouse-latest.tar.gz -
Cursores pré-convertidos (~37 KB):
http://home.roadrunner.com/~nwmovies/cursors.tar.gz
Obs.: o NWMouse, assim como o NWMovies, requer gcc, Perl e libelf (incluindo os cabeçalhos, os quais algumas distribuições separam em pacotes -devel). Verifique se a sua distribuição contém estes pacotes antes de prosseguir.
Assumindo que os arquivos foram salvos na mesma pasta que o nwclient, o update e os demais arquivos mensionados anteriormente (~/instalacoes/jogos/neverwinterNights):
$ cd ~/games/nwn $ tar -zxvf ~/instalacoes/jogos/neverwinterNights/nwmouse-latest.tar.gz $ cd nwmouse/cursors $ tar -zxvf ~/instalacoes/jogos/neverwinterNights/cursors.tar.gz $ cd ~/games/nwn $ ./nwmouse_install.pl
A saída do último comando deverá ser algo como:
NOTICE: NWMouse: Executing: gcc -Inwmouse/libdis -g -fPIC -shared -Wl,-soname,lib... NOTICE: NWMouse: Executing: gcc -shared -g -I/usr/include/libelf -Inwmouse/libdis -o... NOTICE: NWMouse: Please check for errors above NOTICE: NWMouse: nwmouse executable built. Please modify your nwn startup command to NOTICE: NWMouse: set LD_PRELOAD to include 'nwmouse.so', before executing nwmain.
Se não ocorreu nenhum erro, altere o script nwn, acrescentando/alterando as seguintes linhas antes da chamada ao nwmain (./nwmain $@):
# NWMouse export XCURSOR_PATH=`pwd` export XCURSOR_THEME=nwmouse # NWMovies e NWMouse export LD_PRELOAD=./nwmovies.so:./nwmouse.so
Repare que as duas últimas linhas mensionadas acima já existiam devido a alteração para habilitar os vídeos. Caso não os tenha habilitado, a última linha será simplesmente export LD_PRELOAD=./nwmouse.so.
Caso tenha realizado todos os passos deste artigo, o script ~/games/nwn/nwn deverá estar parecido com:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #!/bin/sh # This script runs Neverwinter Nights from the current directory export SDL_MOUSE_RELATIVE=0 export SDL_VIDEO_X11_DGAMOUSE=0 # If you do not wish to use the SDL library included in the package, remove # ./lib from LD_LIBRARY_PATH export LD_LIBRARY_PATH=./lib:./miles:$LD_LIBRARY_PATH # SDL alsa driver export SDL_AUDIODRIVER=alsa # NWMouse export XCURSOR_PATH=`pwd` export XCURSOR_THEME=nwmouse # NWMovies e NWMouse export LD_PRELOAD=./nwmovies.so:./nwmouse.so ./nwmain $@ |
A primeira vez quer rodarmos o jogo após a instalação do NWMouse será gerado o arquivo de configuração (o jogo em si não será iniciado). Algo como:
$ ./nwn NOTICE: NWMouse: Version: 20050216.085035 WARNING: NWMouse: No INI file. Creating. WARNING: NWMouse: INI recalculation required: 7739472:0 1155672910:0 NOTICE: NWMouse: (cookie) Entry point determined: 0x7830 NOTICE: NWMouse: (cookie) Searching executable: 96 NOTICE: NWMouse: (cookie) Cookie0 location: 0x084e17b4 NOTICE: NWMouse: (cookie) Searching executable: 80 NOTICE: NWMouse: (cookie) Cookie1 location: 0x084d84dc NOTICE: NWMouse: (cookie) Cookie2 location: 0x086347a0 NOTICE: NWMouse: (cookie) Searching executable: 80 NOTICE: NWMouse: (cookie) Cookie3 location: 0x084f8134 NOTICE: NWMouse: (cookie) Searching executable: 80 NOTICE: NWMouse: (cookie) Cookie4 location: 0x084db44c NOTICE: NWMouse: (cookie) Searching executable: 80 NOTICE: NWMouse: (cookie) Cookie5 location: 0x084d89f7 NOTICE: NWMouse: (cookie) Searching for proper Orientation function, this may take... NOTICE: NWMouse: (cookie) Cookie6 location: 0x084e0874 NOTICE: NWMouse: INI File written: Now exiting. This is perfectly normal! NOTICE: Your next run of NWN should be complete, and include hardware mouse.
Agora sim, já podemos rodar o jogo (./nwn) e notar a diferença no tempo de resposta do cursor do mouse conforme movimentado pelo ambiente do jogo.
Segmentation fault
Com o update anterior (1.68), durante o carregamento de alguns ambientes do jogo, não me recordo exatamente de que campanha, o jogo fechava retornando um Segmentation fault no console, sem mais detalhes. Não sei se com o update 1.69 isso continua acontecendo. Em todo caso, estou mantendo esta seção para garantir.
Utilizando o strace (utilitário para rastrear os sinais e chamadas do sistema) foi possível encontrar o problema:
...
open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such ↵
file or directory)
...
Não tenho (tanto Slackware quanto no openSUSE e no Ubuntu) um libc.mo referente ao LOCALE en_US (que é o locale padrão de ambas as distribuições). Porém outros locales o tem. Um simples cd /usr/share/locale; find -name 'libc.mo' pode nos mostrar quais locales contêm este arquivo, o pt_BR é um deles.
Solução: utilizar um locale que contenha o libc.mo, o pt_BR por exemplo. Para não termos que alterar o locale do sistema, basta adicionarmos um export LANG=pt_BR no script ~/games/nwn/nwn em qualquer lugar antes da chamada ao nwmain (./nwmain $@):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #!/bin/sh # This script runs Neverwinter Nights from the current directory export SDL_MOUSE_RELATIVE=0 export SDL_VIDEO_X11_DGAMOUSE=0 # If you do not wish to use the SDL library included in the package, remove # ./lib from LD_LIBRARY_PATH export LD_LIBRARY_PATH=./lib:./miles:$LD_LIBRARY_PATH # SDL alsa driver export SDL_AUDIODRIVER=alsa # NWMouse export XCURSOR_PATH=`pwd` export XCURSOR_THEME=nwmouse # NWMovies e NWMouse export LD_PRELOAD=./nwmovies.so:./nwmouse.so # devido ao Segmentation fault, strace: # open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT # (No such file or directory) export LANG=pt_BR ./nwmain $@ |
Acrescentadas as linhas 22 a 25.
SDL-devel/libsdl-dev
Optei pela instalação dos pacotes SDL-devel no openSUSE ou libsdl-dev no Ubuntu para não complicar muito (ainda mais?) a leitura do artigo, não sendo exatamente necessária, já que estamos compilando uma libSDL apenas para o jogo, poderíamos ter instalado o resultado da compilação num local temporário:
$ make install DESTDIR=/tmp/sdl
e depois referenciado-o na instalação do nwmovies:
CFLAGS="-I/tmp/sdl/usr/local/include/" ./nwmovies_install.pl ./lib/libSDL-1.2.so.0
Esse approach me parece mais "bonito".
Considerações finais
Se a instalação foi realizada seguindo os passos exatamente como descritos no artigo, não é necessária a execução do script fixinstall. Tal script apenas checa se algumas pastas existem, se as permissões estão de acordo e altera o case de alguns arquivos. Utilizando o DVD como origem dos dados, as pastas necessárias e o case dos arquivos já estarão corretos, e a permissão de escrita nas pastas criadas durante a descompactação também existirá.
A máquina onde tudo foi feito contém uma placa de vídeo nVidia GeForce 6500 (256MB) com o driver NVIDIA-Linux-x86-1.0-8756-pkg1.run (driver nvidia no xorg.conf), exceto no Ubuntu, que habilitei o driver da nVidia pelo jockey-gtk. Mas já joguei com uma intelzinha® genérica sem problemas (driver i810).
Não uso openSUSE nem Ubuntu, apenas Slackware (e agora [2009] estou migrando para Gentoo, distribuição essa que já utilizo há algum tempo no trabalho), mas para fins de tetes instalei o openSUSE 10.3 de um DVD que tinha aqui e agora (10/2009) baixei e instalei também o Ubuntu 9.04 considerando o comentário do Ricardo.
Este artigo começou a ser escrito no ínico do ano (2008), demorou um pouco pra ser terminado, mas está aí. Foi escrito inicialmente com base nos updates 1.68, porém quando estava revisando para publicar (checando os links) acessei o http://nwn.bioware.com e dei de cara com o announcement do release do final update, então voltei atualizando e testando tudo do zero novamente.
Apesar do artigo cobrir apenas a instalação da versão Platinum do jogo, pode ser facilmente adaptado para as demais versões, já que a Platinum é apenas uma edição que inclui o Neverwinter Nights original e as expansões Shadows of Undrentide e Hordes of the Underdark. Se este for seu caso, baixe o update referente à sua versão.
A instalação também é possível sem ter a mídia do jogo (CD/DVD), porém (não tenho certeza) sem as expansões, através do Linux Client Resources. Neste caso é só considerar a extração do arquivo baixado onde consta a extração dos arquivos do DVD (10/2009: porém não testei, mas pelo comentário do Thiago parece que pode não funcionar como o esperado).
Críticas, sugestões, elogios, dúvidas, opiniões, correções - incluindo de gramática - e demais comentários são bem-vindos. Para tal favor utilizar o espaço para comentários abaixo.
Referências
Seguem as referências utilizadas para a instalação que deu origem a este documento:
http://nwn.bioware.com/downloads/linuxclient.html
http://nwn.bioware.com/support/patch.html
http://www.mandrivabrasil.org/site/forum/index.php?topic=4520
http://ubuntuforums.org/showthread.php?t=113259
http://home.roadrunner.com/~nwmovies/
http://home.roadrunner.com/~nwmovies/nwmouse/
http://home.roadrunner.com/~nwmovies/libsdl.html
http://www.omgili.com/preview/aHR0cDovL3d3dy5oY...
READMEs.
Comente
Os comentários são os indicadores para contiuarmos desenvolvendo mais material para compartilhar, ou, desencanar de vez. Portanto se gostou do documento, se lhe foi útil: comente.
Grato.
Histórico
- - 06/10/2009: atualizado para incluir a instalação no Ubuntu 9.04 e incluída seção SDL-devel/libsdl-dev;
- - 05/01/2009: atualizados todos os links do NWMovies de http://home.woh.rr.com/nwmovies/... para http://home.roadrunner.com/~nwmovies/..., conforme reportado pelo David. Todos os links testados e funcionando;
- - 21/08/2008: referenciado na seção Considerações iniciais o artigo do Renan Rangel sobre a instalação no Gentoo (http://br-net.org/post/neverwinter-nights-platinum-no-gentoo).

O dificuldade para instalar, poderia ser algo bem mais simples alias muito mais simples, quero instalar ele para jogar no ubuntu você poderia criar um para ubuntu com os apt que precisar facilitando a vida da grande maioria.
Estou apenas na espera da tradução final para o português da gamevicio que já se encontra em 96%.
Cara, parabéns pelo seu post!
Desta forma que foi explicado pode ser executado em qualquer distribuição (ou quase)!
Mais mastigado que isso, só se tu for pessoalmente na casa do pessoal instalar! :D
Abraço!
Olá,
Nada sobre o jogo, apenas gostaria de saber como você fez para exibir um Índice lincando as referências.
Muito Grato.
José:
Na unha mesmo:
depois
Eu gero tudo na unha mesmo, desencanei dos editores WYSIWYG.
Valeu!
Olá! Descobri pelo seu post que o NWN estava vindo com a revista fullgames, e já comprei o meu hehe.
Gostei das intruções! Assim que a revista chegar, eu tento instalar aqui no Arch Linux, e posto os resultados!
Lucas:
O jogo em si é pra rodar de boa, sem precisar instalar pacotes extras na distro (rodou no slack, openSUSE, ubuntu), agora o restante (vídeos, mouse, libSDL) é só instalar as dependências (perl, gcc, libelf, etc) e pronto.
O artigo ficou um pouco grande, mas está tudo explicadinho, e a instalação do jogo em si se resume a ˜6 linhas, o resto é melhoria, pra habilitar vídeos, cursor por hardware, etc.
A existência da revista Fullgames com o jogo (por R$15,90!) foi o que me levou a jogar e escrever este artigo.
Valeu!
Opa, instalei o jogo aqui.
Está rodando tudo OK, porém sem vídeos e sem aceleração do mouse! SDL antigo também não compilou aqui.
Todos estes problemas também foram comprovados por outros usuários do Arch (o binkplayer funciona sozinho, mas não com o jogo, e o do mouse não compila (não encontra um cabeçalho)).
O SDL também não compilou, mas eu peguei o mais atual e editei na mão o SDL_keyboard para aceitar os comandos do patch.
Vou jogar agora! Falou.
Descobri o que a versão atual do mesa (para minha intel x3100) buga os gráficos, mudando as cores e algumas texturas parecem ser enxames de abelhas hehe. Dá pra jogar, mas vou tentar instalar versões antigas do mesa pra testar.
Lucas:
Qual versão do Arch você está usando?
Estou baixando a 2008.06 aqui, vou ver se consigo um espaço aqui para instalar e testar.
Qual o cabeçalho que o nwmouse não encontra?
E a libSDL "não compilou" como? Qual foi o erro?
Que placa de vídeo você e driver usa?
Até,
P: Qual versão do Arch você está usando?
Estou sincronizado com os repositórios!
P: Qual o cabeçalho que o nwmouse não encontra?
Não lembro =/. A
P: libSDL não compilou.
As versões antigas do SDL não compilam, então eu apliquei o patch manualmente no SDL atual (compilei só pro nwn mesmo).
P: Que placa de vídeo você e driver usa?
Uma intel x3100, driver xf86-video-intel (o mais atual, não o pra linha 8xx).
Aparentemente não tem nada haver com o driver em sí, mas sim com a implementação do openGL (mesa) utilizado. Como a AMD e a Nvidia tem implementações próprias, não tem erro.
Rodando sem aceleração gráfica, os bugs somem, mas fica a 2 fps.
Lucas:
Instalei o Arch aqui (demorei porque não tinha CD-R pra queimar, depois lembrei de uns CDs-RW e mandei bala).
Consegui fazer tudo funcionar.
Compilei a libSDL do artigo mesmo. Funcionou os movies e o cursor por hardware também.
Instalei bastante coisa (já que o Arch só com o mínimo, sem X, etc), não vou comentar aqui porque senão vai ficar enorme o post, e como pelo o que percebi você entende bem, vou só comentar o básico pra você, se puder fazer este favor, testar aí.
Hmm… antes que eu me esqueça, com o driver nv (do xorg mesmo), o jogo nem rodava (sem mexer em nada, só a instalação básica mesmo), dava Segmentation fault, o strace revelou algo como "Could not initialize graphics". Instalando o driver proprietário (pacman -S nvidia-96xx) foi de boa.
Vamos lá:
libSDL:
antes de tentar compilar já instalei o directfb;
ao compilar deu:
resolvido criando um link simbólico:
NWMovies:
"compilou" sem erros, só instalei as dependências mencionadas no artigo (pacman -S sdl_mixer libstdc++5 libelf). Obs.: a entrada SDL_AUDIODRIVER=alsa foi necessária, sem ela os vídeos eram reproduzidos sem aúdio.
NWMouse:
ao "compilar" deu:
resolvido criando outro link simbólico:
Aguardo seus comentários.
Olá,
Com os links simbólicos os problemas foram resolvidos! Obrigado.
Porém o principal problema é que eu possuo uma Intel x3100, que tem os drivers baseados no mesa, implementação livre do OpenGL, e que devido a bugs do mesa, a coloração está errada e algumas texturas estão com sérios problemas (alguns modelos, como o de goblins e aranhas ficam praticamente invisíveis).
Descobri no ubuntuforums.org que a última versão do mesa que o nwn funcionou foi a 6.5.3. Recompilei os pacotes libgl, mesa intel-dri e xf86-video-intel para a versão 6.5.3, mas deu na mesma.
Vou tentar rodar com um live-cd antigo do ubuntu (edgy) que possue uma versão bem antiga do mesa, ou com um cd do debian estável.
Obrigado pela ajuda!
Ah, conseguiu instalar os módulos extras que vem com o nwn platinium?
Lucas:
Quais são os "módulos extras que vêm com o nwn platinum"?
Abraços.
Não sei dizer exatamente, mas nos sites que eu procurei seriam:
* Neverwinter Nights: Kingmaker
* Contest of Champions - 0492
* The Dark Ranger’s Treasure
* The Winds of Eremor
* To Heir is Human
Lucas:
Então, o KingMaker eu sei que é "vendível" como um Premium Module por $7.99 USD: http://nwn.bioware.com/premium/module_kingmaker.html, mas que também vem com a edição Diamond, não com a Platinum.
Pelo o que entendi, a edição Platinum vem com o NWN Original mais Shadows of Undrentide e Hordes of the Underdark, e a Diamond é a Platinum mais o KingMaker.
Agora estes outros módulos que você citou, são "downloadáveis". Vou baixar e testar aqui e depois posto os resultados:
Contest of Champions;
The Dark Ranger’s Treasure;
The Winds of Eremor;
To Heir is Human;
Pra adiantar, baixei (é necessário logar para aparecer o link) o The Winds of Eremor. É só criar uma pasta modules na pasta do jogo (~/games/nwn/modules), extrair o .zip baixado e por o .mod (que estava zipado) na pasta criada. Para jogá-lo basta selecionar New Game -> Other Modules.
Hmm… e tem também o CEP (Community Expansion Pack).
Até mais.
Só, é que eu vi um pessoal discutindo sobre isso no fórum da Bioware.
Valeu.
Olá Fernando, muito bom o tutorial. Certamente teria me ajudado se fosse a primeira vez que tivesse instalado ele, hehehe. Mas vi o seu artigo e me deu uma vontade de instalar de novo…
Porém fiz os procedimentos no Gentoo e a instalação é extremamente simples, mesmo com o NWMovies e o NWMouse. Fiz um tutorial básico de como instalar ele (http://br-net.org/post/neverwinter-nights-platinum-no-gentoo).
Esse é um dos melhores jogos comerciais disponíveis para Linux, roda com ótima performance, só faltava um instalador e suporte aos vídeos e mouse já por padrão. Sou fã da Bioware, pena que a Atari resolveu colocar a Obsidian no desenvolvimento do NWN 2, não é a mesma coisa :(
Olá, bom dia a todos, eu tive vendo na net alguma forma de instalar o nwn e fazer um server de nwn (Linux Slackware 12) com uma maquina mais ou menos para eu rodar um modulo em rede (em casa). Encontrei seu site e achei muito interessante, foi batata a instalação, sem novidades, porém não tem som nenhum no meu jogo, e não consegui também fazer as dicas do nwmovies e nwmouse, o libSDL tá blz, porém estou jogando sem som e com o mouse daquele jeito….. Por gentileza gostaria eu de saber se vc sabe oque pode estar ocorrendo para não funcionar como deveria igual ao de todos, (há detalhe não dá erro nenhum). Me desculpe a ignorância pois sou mais doque new no Linux, gostei e só uso o slackware, mas ele as vezes é chato, e estou lutando pra caramba pra não voltar a usar o Rwindows nunca mais, me ajude plz….
Diogenes:
Você tem a linha:
no seu script nwn? Já tentou comentar a linha para ver se funciona (colocar um # no início da linha)?
Quanto ao nwmovies e nwmouse, o que você "não consegui também"? Deu algum erro durante a instalação? Qual? Cola a saída aqui.
Aguardo,
Update na página: Incluída seção Histórico.
Obrigado pelo link. acho que quanto mais fácil for para as pessoas acharem documentação sobre como instalar determinado software ou efetuar algum procedimento, melhor para todos :)
Vamos lá, Boa noite a todos, eu refiz todos os procedimentos, comentei e descomentei a linha “export SDL_AUDIODRIVER=alsa”, o som dos videos estao funcionando e os videos tbm “mesmo pq, pelo q eu entendi é o blink que reproduz”, o mouse está em modo hardware, porém o cursor é a seta do sistema operacional “já reisntalei ums 8 X”, agora o som do jogo ele continua não funcionando, e eu já não sei mais oq fazer……. na caixa de opcoes do jogo, onde tem options sound (uma coisa assim), não aparece nenhuma placa alí não sei se isso é normal, eu uso uma Asus com som integrado C-Media, parece q o jogo não reconhece q a maquina tem placa de som, eu configurei minha placa de som com o alsa, e nem comentando ou descomentando a linha “export SDL_AUDIODRIVER=alsa” no nwn o som funciona…… me ajudem plz……
Me desculpem demorar um pouco para escrever, mas é pq não tenho net em casa……, :-( !!!!!
Grato desde já!!!!!!!!!!
Diogenes:
Mandei umas instruções para testes no seu e-mail.
Até,
cara.. quando dou o ./configure no SDL, uma linha que chama a atenção é:
checking for X… no
me chama atenção porque estive procurando jeitos de resolvê-lo no fórum da bioware, mas nenhuma das soluções deles funcionou pra mim… to rodando o ubuntu 8.04, e pelo que eu vi no synaptic, os pacotes xorg estão instalados… alguma idéia?
Johnny:
Kra, desculpa a demora pra responder, tive um problema com um HD Externo aqui.
Acredito que tenho ainda uma instalação do Ubuntu aqui, vou verificar talvez no sábado.
Mas pra ir adiantando, você tem os pacotes -devel do xorg instalados (xorg-devel… etc)?
Abraços.
Só uma dúvida esse seu tutorial funciona em um linux kurumin?
Prq pra mim esse foi o mais fácil de instalar, mas ainda nw faço ideia de como jogar nele, esse e outros jogos, se servir vai me quebrar uma árvore nw só um galho
Daniel:
Não testei no kurumin, até porque é impossível testar em todas as distros existentes hoje. Mas se levarmos em conta que esse artigo aborda uma instalação genérica, ou seja, sem detalhes específicos de uma distribuição específica, deve funcionar com o kurumin sem problemas.
Mas observe o penúltimo parágrafo da seção “Considerações iniciais”. Não lhe aconselho tentar seguir esse artigo caso não esteja familiarizado com “a linha de comando”, não tenha experiência com gerenciamento de pacotes da sua distro, não saiba o que é um shell script, não saiba como compilar aplicações a partir do código fonte, ou não saiba entender mensagens de erro. “Falo” isso pois o seu “… foi o mais fácil de instalar …” me preocupou.
Bom, caso seja iniciante em linux e tenha se sentido intimidado pelo parágrafo anterior, só tenho uma coisa a “dizer”: não desanime, experimente ler o “Entendendo e Dominando o Linux”, “Guia Foca GNU/Linux” ou quem sabe o “Kurumin, Guia Prático”.
Abraços,
Kra valeu mesmo por esse artigão, foi de grande ajuda. So axei um probleminha no link http://home.woh.rr.com/nwmovies/
que agora mudou pra http://home.roadrunner.com/~nwmovies/
Esse ultimo tem todos os arquivos que voce mencionou nesse artigo. Levei um tempão pra descobrir esse novo endereço, hehehe.
Mas o artigo ta muito legal e simples de fazer. Antes jogava pelo Wine, mas quando vi esse artigo nao resisti e tive que testar. O ganho no desempenho do jogo foi visivel logo de cara.
Parabens e fica com Deus.
Salve!
Opa! Valeu David!
Já atualizei os links, todos ok agora.
Fico feliz em saber que esse artigo lhe ajudou, nada é mais recompensador que saber que o tempo dedicado na escrita não foi em vão.
Só pra saber: funcionou tudo certinho? Vídeo, cursor por hardware? E em que distribuição e versão você testou?
Valewz!
Estou na distro Slackware versao 12.1. Tudo funcionou bem mas estou com um probleminha de travamentos inesperados. Depois de um tempo jogando não importa em que cenario eu esteja ou ate mesmo com o jogo pausado ele trava e dá no terminal essa mensagem:
./nwn: line 24: 16484 Falha de segmentação ./nwmain $@
verifiquei com o strace e eh o mesmo erro que vc cita sobre o LANG=pt_BR que eu ja coloquei no script nwn, mas nao adiantou.
Esse travamento eh o unico problema que estou tendo, ja que a velocidade do jogo melhorou bastante usando diretamente minha NVidia (ao inves de jogar pelo Wine, embora travasse menos).
Pra constar: Tudo esta fucionando bem, videos, som, cursos por hardware. O unico problema sao os travamentos inexplicaveis e que acontecem em qualquer situação (cenarios pequenos e ate com o jogo pausado).
Haw!
Faz um favor David: me envia a saída do strace depois de dar o Segmentation fault.
Pelo o que pude notar você manja bem de linux, mas, em todo caso, fica aqui se mais alguém precisar:
Aí é só me mandar o arquivo out.txt gerado.
Meu e-mail é fernando.scherrer at fernando.scherrer.nom.br.
Aguardo.
ops, alarme falso! O meu problema era na verdade a placa-mãe que estava corrompendo meus dados. Troquei a mobo e o jogo ta rodando sem travamentos. Mas após atualizar pro kernel 2.6.28.1 não consegui usar o nwmovies e acho que nem o nwmouse. Compila mas na hora de rodar dá um erro:
NOTICE: NWMovies: Version: 20080308.192336
ERROR: NWMovies: dladdr: (null)
./nwn: line 22: 12447 Abortado ./nwmain $@
Mas estou feliz por poder jogar sem o travamentos chatos de antes.
Flww
Alias…. Provavelmente deve ter sido o driver da NVidia que atualizei. Por isso não quer funcionar o mouse por hardware e nem os videos.
Vamos lá… você atualizou o kernel e o driver nVidia e então o nwmovies e nwmouse pararam de funcionar. Quais foram suas tentativas pra fazer voltar? Você tentou reinstalar ambos (nwmovies e nwmouse)? Deu erro durante as tentativas? Quais?
flwz!
Opa Fernando!
Cara, eu segui seu tutorial até completar a parte “Instalação”. No entanto, quando eu abro o jogo não aparece texto algum. Aparece o local onde eu creio que devo colocar o serial mas não aparece texto algum. Eu dei uma pesquisada e vi que isso era causado ou porque o msttcorefonts não estava instalado ou por problemas com permissões já que o pessoal instalava o o jogo dentro de /usr. No entanto, eu tenho o msttcorefonts instalado e coloquei o jogo dentro da /home; mesmo assim continua não aparecendo texto algum!
Tu tem alguma ideia do que pode ser isso? To usando Ubuntu 8.10.
Abraço!
Felipe:
Vou checar se tenho Ubuntu 8.10 em casa pra testar. Só pra saber: qual placa de vídeo você está usando?
Abraço.
Opa Fernando.
Desculpa pela demora.
O vídeo é uma Intel GMA950 integrada.
Desde já agradeço pela sua ajuda.
Abraço!
Felipe:
Não tinha Ubuntu 8.10 mas já baixei e queimei, assim que sobrar um tempinho eu booto pra ver.
E que driver de vídeo vc tah usando (valor da chave “Driver” da “Section Device” do seu xorg.conf)?
flwz!?
Opa!
To usando o driver intel.
Vlw!
Felipe:
Desculpa a demora, o ubuntu insistia em travar, acabei descobrindo que o problema era com o mouse (wifi), parece que a partir do momento que eu o movia pela primeira vez startava um timer e travava depois de uns 20 segundos heuheu, sem brincadeira, não dava nem pra dar um Ctrl+Alt+F[1234...n], no fim desencanei: despluguei o receptor wifi da USB e usei o “mouse” pelo teclado numérico mesmo.
Voltando ao que interessa, a instalação ocorreu exatamente como a descrita, inclusive o mesmo erro (nwmain: xcb_lock.c:77: _XGetXCBBuffer: Assertion…) quando tentado rodar sem remover o ./lib do script nwn, depois removendo abriu normal e apareceu a tela pedindo as keys.
Obs.: testei com um ubuntu 8.10 quase zerado: exceto pela instalação do driver proprietário da minha placa de vídeo (nVidia), não instalei nenhum outro pacote que o instalador do CD não tenha instalado.
Pergunta: seu X está rodando com aceleração? Você consegue rodar um glxgears de boa?
Até,
Olá nos post 22 e 23, vc falou sobre um problema com o som, poderia compartilhar o resultado com o pessoal pois estou na mesma situação do post 22, utilizo Debian Lenny.
Obrigado
Thiago:
Infelizmente no último e-mail que troquei com o Diogenes o problema persistia, depois não obtive mais contato. Enviei um e-mail pra ele agora, qualquer coisa volto a postar.
Mas se puder passar alguma informação, o que eu puder fazer pra ajudar eu tento.
- está usando que distro?
- está tentando rodar com usuário normal ou com o root? (não use o root)
- é só o som do jogo que não funciona ou do vídeo de abertura também?
- qual é sua placa de áudio (a saída do lspci ajuda)?
- tem algum processo usando o som quando você vai startar o jogo (ps -f -p `fuser /dev/snd/*`)?
Até,
Fernando,
Resolvi o problema hoje, estava utilizando o “nwresources129.tar.gz”, removi tudo e parti do zero com os arquivos do DVD e o som funcionou sem problemas.
Estou com um probleminha amigo…
Quando uso o BinkPlayer ele simplesmente estraga o gráfico do cursor do meu mouse e sem ele tudo funciona normalmente…
O interessante é que os filmes tocam sem problemas… com áudio e tudo…
Como será que é possível resolver esse conflito e ver os filmes???
Desde já agradeço pela disposição de me ajudar.
Hqx
Hqx:
Deixa eu ver se entendi: se você habilita o nwmovies os vídeos funcionam mas você fica com o cursor do mouse "estragado"? O que vem a ser esse "estraga o gráfico do cursor do meu mouse" que você mencionou?
E como você está habilitando/desabilitando os vídeos? (já que disse que "sem ele [BinkPlayer] tudo funciona normalmente…") Você está alterando a linha 20 do nwn, disso:
pra isso:
? E já tentou issu:
pra ver o que acontece? (no caso estaríamos habilitando os vídeos mas deixando de habilitar o nwmouse).
Até,
Caramba… me desculpe perdi os meus favoritos e só agora achei o site…
Tentei as suas dicas, porém o nwmouse ficou dependente do nwmovies (cada uma que me acontece)…
Porém é só trocar a resolução que tudo fica normal… (coloco uma resolução qualquer e aí o ponteiro fica normal depois volto a anterior). Então dá para jogar…
Porém notei uma coisa nada animadora… EU JOGO MUITO MAL… e o nível de dificuldade é bem insano para o meu intelecto… por isso vou ler o manual primeiro antes de me aventurar pelo jogo….
Obrigado pelo tutorial e pela ajuda
Hqx
Olá,
Utilizo a distribuição Ubuntu e estou tendo alguma dificuldade em instalar pelo seu método (e já tentei vários outros =/ )
Na criação de uma LibSDL para o jogo quando utilizo o comando:
$ cp build/.libs/libSDL-1.2.so.0.11.0 ~/games/nwn/lib/
$ cd ~/games/nwn/lib
Ocorre o seguinte erro: ” cp: impossível fazer stat em `build/.libs/libSDL-1.2.so.0.11.0′: Arquivo ou diretório inexistente “; e de fato, o arquivo ou sequer a pasta “.libs” foram criados.
Você sabe como posso corrigir isto?
Agradeço desde de já.
Ricardo:
Desculpe-me pela pergunta idiota, mas não deu nenhum problema durante a compilação da libSDL (./configure E make)? Se o diretório build foi criado quer dizer que o make foi executado, porém se não deu nenhum erro durante a execução desse (make) era pra ter sido criada a pasta .libs (dentro da build) contendo muitos arquivos, incluindo a biblioteca compilada, libSDL-1.2.so.0.11.0.
Até,
Não, não é uma pergunta idiota hehehe
Deletei os arquivos e refiz tudo, ocorreu o seguinte erro:
./src/video/Xext/Xxf86dga/XF86DGA.c:21:40: error: asm/page.h: No such file or directory
make: ** [build/XF86DGA.lo] Erro 1
Outro trecho digno de nota é:
./src/video/x11/SDL_x11modes.c:436: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
Seja bem específico por favor; eu ainda sou (e por muito devo continuar sendo) novato no Ubuntu =P
Desculpe pelo duplo post, porém ocorreu um erro na instalação do nwmouse:
nwmouse/nwmouse.c:38:33: error: X11/Xcursor/Xcursor.h: Arquivo ou diretório inexistente
Agradeço desde já pela ajuda.
Ricardo:
Me diz aí qual versão do ubuntu que você está utilizando que vejo se baixo aqui e instalo pra acompanhar certinho.
Enquanto isso, o que posso adiantar é que quanto ao problema da compilação da libSDL, o error: asm/page.h: No such file or directory pode ser por você não ter o pacote equivalente ao kernel-headers do seu kernel (que não sei, ainda, exatamente como é o nome do pacote no ubuntu), isso:
lista o arquivo certinho ou retorna um:
? Se retorna No such file or directory então provavelmente é falta do pacote referente ao kernel-headers mesmo.
E quanto ao outro comentário, o X11/Xcursor/Xcursor.h: Arquivo ou diretório inexistente se deve, provavelmente, à falta de algum pacote -dev do X ou algo assim.
Enfim, me passa a versão do ubuntu que faço uma instalaçãozinha aqui e vejo certinho quais são os pacotes que você precisa, ok?
Até,
Olá! Desculpe demorar tanto apra responder, ams as coisas estão um pouco corridas aqui). Utilizo a versão 9.04; desculpe não poder dar mais informações, mas acabei de reinstalar o Ubuntu depois de fazer bobagens com os drivers aqui e preciso colocar as coisas em ordem.
Obrigado pela ajuda!
Jogo NWN apenas por causa de um server gringo de rp, online. Fui banido uma vez, por 30 dias, não aguentei e comprei um set completo de Cd key. Resultado, a outra cd key foi banida de lá tb… Já que eu só uso o nwn para este servidor, Eu estou disposto a dar esses dois sets de CDkey por um set. Quem quiser fazer a troca, vai levar vantagem. Ah, sem palhaçada, quero um set completo de CD key que FUNCIONE, assim como os dois sets que estou disposto a trocar. Interessados: lipe@hot-shot.com
Ricardo:
Instalei o Ubuntu 9.04 aqui, segui esse artigo e fui anotando os comportamentos diferentes em relação às outras duas distribuições testadas (Slackware e openSuse). Deixei rodando certinho, com vídeos, mouse por hardware e libSDL compilada só pro jogo.
Tive apenas de instalar alguns pacotes (a maioria -dev) e criar alguns links simbólicos pra alguns .h.
Comecei a atualizar o artigo para incluir o Ubuntu 9.04 na lista de distribuições testadas, junto com as particularidades (pacotes a instalar, links simbólicos a criar) para fazer o jogo rodar. Pretendo terminar de atualizar até o final dessa semana.
Se quiser testar, rode os seguintes comandos como root (dá um sudo -i) antes de começar a seguir o artigo:
Repare que usei a versão 32 bits (veja os x86 nos caminhos pra criação dos link simbólicos), se estiver utilizando a versão 64 bits (ou pra outra arquitetura ainda) adeque os comandos.
Até,
Ricardo:
Pronto, atualizado: 06/10/2009.
Até,
E ai pesoal.
Fernando, cara não consegui fazer o jogo rodar.
Quando tento executar aparece “Segmentation Fault”. Fiz o que disse sobre o export LAG=pt_BR, mas apresentou o mesmo erro. Só que dessa vez em portugues.
Uso o Slackware 13 64 Bits, e instalei as bibliotecas compatíveis com 32 bits também. Usei o strace, mas não entendi nada do arquivo que ele gerou.
Por favor, me ajud. O que posso tentar mais?
Hector:
Está dando Segmentation Fault só de tentar rodar? Nem chega a rodar nada? Isso já aconteceu logo após tentar executar pela primeira vez? Sem ainda instalar nwmovies/nwmouse?
Faz o que comentei aqui, me manda o arquivo que dou uma olhada.
Aguardo,
Nossa cara, obrigado mesmo, pela colaboração. Mas funcionou.
Desculpa o incômodo ai pesssoal!
Eu tinha instalado as libs de compatibilidade com 32 bits de modo errado.
E isso acarretou em uma série de problemas, inclusive com o X.
Reinstalei todos os pacotes da classe “l” e “x” do Slackware 13, e o X voltou ao normal.
Pela pressa e falta de atenção, esqueci de instalar os pacotes “compact-32″ que o programa para fazer essa compatibilidade gerou. E pior, ainda reinstalei normal com “installpkg” os pacotes de 32 bits das pastas “l” e “x”, que sobrescreveram os 64 bits.
Ainda nao testei os vídeos em Full Screen mas agora fiz o primeiro passo desse tutorial do Fernando e o jogo já abriu. O resto creio que funcionária.
Para quem estiver interessado em fazer seu Slackware 64 ficar compatível com 32 bits, o site é este: http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:multilib
Bom, eu instalei os pacotes de 32 bits certinho, reinstalei a SDL normal, baixando a mais nova do site e compilando. E reinstalei o driver da nvidia 2 vezes( o binario mesmo do site deles, isso é recomendado pelo cara que escreveu o programa que faz essa compatibilidade ), passando os parâmetros -x-library-path=/usr/lib e depois na segunda instalação o diretório /usr/lib64. Não sei se fazer isso adianta, provavelmente não, mas foi um jeito de colocar os arquivos do driver no diretório de libs de 32 bits.
Depois foi apenas rodar o ./nwn e o jogo abriu.
Cara, muito obrigado, sensacional esse tutorial, e desculpa pela desepero ai, quero um dia aposentar o Windows daqui.
Qualquer coisa, meu email é hector.vido@gmail.com.
Até!
Opa, só para completar, o SDL eu dei ./configure, make, make install.
Apenas isso:
$ mkdir -p ~/games/nwn
$ cd ~/games/nwn/
$ unzip /mnt/dvd/Data_Shared.zip
$ unzip /mnt/dvd/Language_data.zip
$ tar -zxvf ~/instalacoes/jogos/neverwinterNights/nwclient129.tar.gz
$ tar -zxvf ~/instalacoes/jogos/neverwinterNights/English_linuxclient169_xp2.tar.gz
E foi…
Opa, excelente tutorial. Estou eu e meu irmão jogando sem parar aqui no ubuntu.
Alguma ideia de fazer o kingmaker rodar no linux?
Fernando, estou tendo um problema, depois que o procedimento da LIB quando executo o comando ./nwn dá o seguinte erro: ¨Failed to initialize SDL Video: No available video device¨
estou no ubuntu 9.04 sem fazer o procedimento da lib o jogo roda de boa. Estou com os drives da nvidia 180.44
Diego:
Final de semana eu testo aqui.
Viu, me passa a saída do ./configure. (direciona pra um arquivo [./configure > saida.txt] e manda no fernando.scherrer@gmail [.com])
Até,
Diego:
Então, foi justamente na versão 9.04 do Ubuntu que instalei e detalhei no post. Sendo assim continuo aguardando a saída do ./configure.
Quanto ao KingMaker, dei uma olhada no fórum da bioware e descobri que não há um jeito "bonito" de instalá-lo no Linux. Achei um post por lá que ensina extrair o setup.exe usando o 7zip, mas não funciona (até achei outro post falando isso), pois o instalador altera os arquivos .dat, não bastando apenas copiá-los para o diretório premium. Pelo o que diziam por lá, a única forma era instalar via wine mesmo (necessário incluir uma chave no registro do wine e criar um link simbólico do diretório do jogo para uma unidade no dosdevices do wine. Eu tentei esse procedimento usando o wine, porém o instalador substituiu um monte de arquivos (instalou o update 1.66, sendo que a minha instalação já tinha o 1.69) e acabei ficando sem som (mas rodou o KingMaker :)). Vou tentar algum outro approach e, conforme for, posto o resultado aqui (o que pode demorar um pouco, já que tenho de reinstalar tudo pois não sei exatamente quais arquivos foram desatualizados causando o problema do som).
Até,
opa,
desculpa a demora, consegui resolver os probs:
Reinstalei os drives da nvidia e tudo resolvido. Demorei um pouco para conseguir fazer os videos funcionarem mas finalmente consegui. Não consegui adicionar aquele patch a lib mas tudo bem rodando com os videos e o mouse por hardware já tá otimo.
A respeito do kingmaker tive uma ideia meio boba mas não custa tentar….separei os arquivos da instalação do kingmaker no widows e vou jogar pra pasta do linux, da mesma forma que faço com os modules.
Estou vendo se consigo instalar o CEP e o PRC que adiciona inumeras classes, spells, feats, e objetos ao jogo. Depois posto o resultado.
Obrigado pelo tutorial e pela ajuda.
@Diego:
Consegui instalar o KingMaker, mas foi necessário apelar ao uso do wine. Vou descrever os passos aqui:
- criação do diretório onde trabalharemos (assumindo que o jogo foi instalado no diretório ~/games conforme o artigo):
- extração (utilizando o p7zip) dos arquivos .bik, .hak, .nwm e .txt (que é apenas o How Do I Play.txt) do setup.exe do CD do KingMaker (estou considerando que esse está montado em /mnt/cdrom):
- cópia dos arquivos extraídos para a pasta do jogo (~/games/nwn):
A primeira parte é isso. Agora vem o problema: os arquivos .dat contidos no setup.exe não podem ser simplesmente copiados para o diretório premium do jogo, parece que o instalador (que acho que já devem ter precebido, é pra Windows apenas) modifica os arquivos, ou algo do gênero. Se tivermos um Windows (que não é o meu caso) com o jogo instalado, basta copiarmos os três arquivos .dat para o diretório ~/games/nwn/premium (Neverwinter Nights - Kingmaker.dat, Neverwinter Nights - ShadowGuard.dat e Neverwinter Nights - Witch’s Wake.dat). Caso contrário:
- adicionar a chave no registro do wine para dizer onde o jogo está instalado (o instalador do KingMaker requer o jogo e suas expansões instalados):
- no passo anterior foi apenas criada a chave no registro, que diz que o jogo está instalado em K:, agora é necessário criar esse K: no wine apontando para uma instalação fake que vamos criar (NÃO faça o link direto para a instalação real do jogo, pois o instalador parece não reconhecer que temos o final update (1.69) e tenta “atualizar” para a 1.66… e descobri isso da pior maneira possível):
- porém “apenas” isso não é o suficiente, o instalador parece procurar por alguns arquivos, que, após muitos testes, cheguei à conclusão de que são eles: xp1.key, xp2.key, xp3.key e dialog.tlk (não me perguntem o porquê):
- pronto, agora que temos um ambiente suficiente para que o instalador acredite que temos uma instalação no K:, podemos rodar o setup.exe pelo wine e realizar a instalação “normalmente”:
- finalizada a instalação pelo wine, podemos copiar os tais arquivos .dat para o diretório premium:
- protinho, para acessar os módulos instalados é só rodar o jogo e acessar o menu New > Premium Neverwinter Nights Modules. Tudo funcionando, hora de limpar a bagunça:
Então cara seu tutorial ajudou muito. Mas dá dando o seguinte problema comigo: eu consigo instalar tudo certinho, entro no nwn, parece dá tudo certinho e só mexer ou demorar um segundo que tudo fica borrado e não dá pra ver o que eu escrevo, só um borrado também. O SDL não cria a pasta build/.libs para o qual deveria-se colocar o link lá, não sei porque. O patch também não dá pra baixar mais…
Eu uso ubuntu 8.10, placa de vídeo intel com driver genérico
(Identifier “Configured Video Device” no xorg.conf)
Tô tentando a dois dias jogar o jogo e não consigo, se puder ajudar fico muito grato.
@Victor Hugo
Se a SDL não está criando a pasta build/.libs está dando algum erro, certo? Me passa o erro, e passa também a saída do ./configure
Quanto ao patch, pra mim continua normal:
Até,
Fernando, aqui estou para agradecê-lo por esse fantástico tratado para instalação do NWN no Linux. Sem sua enorme contribuição, eu não teria conseguido.
Uso o Ubuntu 9.10 e não executei todos os passos, somente a instalação do NWN e do NWMouse. Quanto ao NWMouse, além dos requerimentos, segui as recomendações para o Debian que são feitas no arquivo nwmouse.README.txt (instalar a libelfg0, libelfg0-dev, libxcursor1, libxcursor-dev e libsdl1.2-dev)
Tudo parece bem! :D
Parabéns e obrigado!
@katrash
Obrigado pelo comentário!
Abraços,