Unix/Ubuntu

우분투 9.04 jaunty 에서 Red Alert 3 을 하다!!

ForceCore 2009. 5. 6. 00:17
결론적으로 말하면? 싱글플레이어는 매우 잘 된다. 그리고, 정품사용자는, 온라인도 할 수 있다 :D 네트워크 플레이가 안 되어서 하마치로 어둠의 경로 플레이는 못 할 것이다.

우선...

직접 컴파일 할 수도 있고, aptitude로 할 수도 있으나 둘 다 구리다. -_-;; 컴파일은 너무 힘들고, aptitude로 하는건 잘 실행이 안 된다.

http://appdb.winehq.org/objectManager.php?sClass=version&iId=7440
이 글에 보면 1.1.6의 여러가지 패치가 된 버전의 wine이 있다.
설치하고 나면 패키지 이름이 hacks 인가 그럴 것이다.
필자는 x86_64 시스템인데, 그래서 패키지를 --force-architecture 옵션을 붙여 강제 설치 했다. 그리고 컴파일 하는 법을 보아도, 그게 정상이다.

어쨌든... 해킹된 와인을 설치한 뒤, 설치CD의 설치 프로그램을 와인으로 실행시키고 설치한다. 설치 bar가 멎은 것 처럼 보여도, 되고 있는 것이니 꾸준히 기다리자. 설치 프로그램의 한글이 깨져 보이는데 이건 폰트 문제니 어쩔 수 없고, 본 게임에서는 잘 보이니 걱정 말자. 정품이면 패치도 설치도 잘 된다.

여러가지 문제점이 나타나는데...

1. 전체화면으로 게임을 실행시키면 여러가지 좋지 않은 일이 발생할 것이다 -_-^
#!/usr/bin/env xdg-open

[Desktop Entry]
Name=커맨드 앤 컨커 레드 얼럿 3
Exec=env WINEPREFIX="/home/j/.wine" wine "C:\\Program Files\\Electronic Arts\\Red Alert 3\\RA3.exe" -win
Type=Application
StartupWMClass=Wine
Path=/home/j/.wine/dosdevices/c:/Program Files/Electronic Arts/Red Alert 3/
Icon=7f5c_ra3
Name[ko_KR]=RA3

필자의 ra3.desktop 파일은 이렇게 생겼다. 창모드로 실행되도록 게임 자체의 parameter를 이용했다.

2. vfx인지 shader인지 에러가 좀 있다. 그래픽 설정을 가지고 장난쳐서 vfx/shader를 낮추고 나머지도 이것저것 하다 거의 다 낮추니 실행이 깨지는건 해결됐다 ㅜㅜ


깨지면 이렇게 됨.


3. 패치를 어느 수준 이상으로 하지 않으면 메인화면에서 튕기기도 한다. 1.08이상이면 문제 없던 듯.

4. 결정적으로 puseaudio와 충돌이 있어서 게임 자체가 튕기기도 하는데...
E: shm.c: mmap() failed: Cannot allocate memory
E: shm.c: mmap() failed: Cannot allocate memory
E: shm.c: mmap() failed: Cannot allocate memory
E: shm.c: mmap() failed: Cannot allocate memory
E: shm.c: mmap() failed: Cannot allocate memory
E: memblock.c: Assertion 'b' failed at pulsecore/memblock.c:438, function pa_memblock_acquire(). Aborting.
wine: Assertion failed at address 0xb7f68430 (thread 001e), starting debugger...

대강 이런 식의 에러다. 우분투가 쓰는 PulseAudio때문에 생기는 문제인데...
1) 시스템 -> 기본설정 -> 소리 창에서, 장치 부분을, 다 ALSA로 도배한다. 4 항목이 있을텐데, 전부 다.


2) /etc/pulse/client.conf 를 수정한다: autospawn을 no로 바꾼다.
3) killall pulseaudio
4) winecfg 에서 ALSA 를 사용하도록 설정하라.

이러면 문제 없을 것이다? 온라인으로 1;1도 해봤다. 문제 없었음.
인증샷