http://blog.daum.net/moor/50

이 글은 과거 제가 했었던 삽질을 다시 정리해서 올리는 글입니다. 디제이맥스 트릴로지처럼 USB동글을 써야 하는 프로그램 구동에 도움이 되기를 바랍니다.



이 게임을 기억하시는 분들이 아직은 많으리라 믿습니다. 비록 죽어버리기는 했지만 2008년 출시된 게임치고 지금도 꿀리지 않는 명작 디제이맥스 트릴로지입니다.


이 게임의 특징으로 USB형 동글을 사용해서 복돌을 막았다는 것인데요. 2012년경에 어이없는 방법으로 뚫려버리기는 했지만(USB가 뚫린 것이 아니라, 실행파일 해킹으로 풀려버렸음)그럭저럭 복돌이를 잘 막았다고 하는 물건입니다.


2011년에 제가 갖은 삽질을 통해서 트릴로지가 Wine을 통해서 구동이 된다는 사실을 확인하기는 했는데, 이를 다시 정리해서 USB인식까지 방법을 깨끗하게 정리하고자 합니다. 참고로 OpenGL 2.1이상이 지원되어야 그래픽이 정리가 됩니다.구형 드라이버를 사용하시거나 지원이 안 되는 그래픽 칩셋을 사용하신다면 아래와 같은 이미지만 보게 됩니다.






그래픽 드라이버의 경우 오픈소스 드라이버도 별 문제없이 잘 실행되는 것이 확인되니 그냥 업데이트만 꾸준히 해주시면 별 문제는 없을 것입니다.


그래픽이야 그렇게 큰 문제는 되지 않습니다. D3D->OpenGL이 그렇게 큰 부하가 걸리는 것도 아닌데다가 2008년 게임이라 지금 기기성능이라면 별 문제는 없습니다. 제일 큰 문제는 USB인식 입니다. 그냥 눈 딱 감고 크랙을 쓰면 USB인식 문제가 한번에 해결되지만, 정품을 이용하자는 취지에 맞게 USB를 인식시켜보도록 하겠습니다.


http://wiki.winehq.org/USB

여기에 가보시면 USB인식에 관한 글이 올라와 있습니다. ftp://ftp.etersoft.ru/pub/people/amorozov/usb/

여기에 있는 패치를 한 와인을 써서 USB 인식을 하게 하면 됩니다.


우선 와인의 소스코드를 받아야겠지요?


http://sourceforge.net/projects/wine/files/Source/

여기서 와인의 소스코드를 다운로드 받도록 합시다. 와인 패치가 1.5.3이 마지막으로 되어있는 것으로 봐서는 이후 버전에서는 지원할 생각이 없어 보입니다. 소스코드도 1.5.3을 이용합시다. 그리고 ftp://ftp.etersoft.ru/pub/people/amorozov/usb/ 이곳에서 1.5.3버전의 2개의 패치 파일을 다운로드 받아서 와인의 소스코드가 있는 곳으로 던져넣읍시다.


해당 서버가 접속이 안 될 경우 여기서 받으세요. wine 1.4.1용은 1.4.1(안정버전)에서 굴려야 할 경우, 1.5.7버전은 etersoft에서 지원한 최종 버전입니다.


wine1.4.1for_usb_patch.tar.gz


wine1.5.7_for_usb_patch.tar.gz



그리고 터미널을 열고 소스코드가 있는 곳으로 찾아간 뒤에


patch -p1 > 0001 ~~~

patch -p1 > 0002 ~~~~

라고 해주시면 패치가 완료 됩니다. 그리고 그대로 make를 해주시면 와인이 컴파일이 완료 됩니다.


아무래도 그냥 make 보다는 deb으로 만드는 것이 편하니까


dh_make -r

fakeroot debian/rules binary


위의 명령으로 deb으로 만들어줄 수 있으며 이를 설치해서 써도 되지만 그냥 PlayonLinux를 이용하는 것이 제일 좋은 방법입니다.


노틸러스나 컹커러로
~/.PlayOnLinux/wine 여기에 들어가 보면 linux-x86과 linux-amd64가 있는데, 32비트면 x86일 것이고 64비트면 amd64로 컴파일 되었을 테니 해당 폴더 안에 대충 1.5.3-usb 등으로 폴더를 만든뒤에 deb의 압축을 풀어버립시다.


그리고 Playonlinux에서 설치를 누르고 리스트에 없는 설치(install a non-listed program)를 누른다음 Install a new prefix -> 대충 Prefix이름을 적고-> Use another version of Wine을 이용해서 아까 압축 풀었던 1.5.3-usb를 선택하도록 합시다.


그렴 이제 USB 지원 Wine으로 트릴로지를 설치할 준비가 되었습니다.


그런데 우선 해야할 일이 있다. 트릴로지를 우선 Setup하지 말고 USBSETUP 폴더 안에 있는 USB드라이버를 우선 선택해야만 한다. 그 이유는 게임 설치 후에 드라이버 설치 할 때 게임 인스톨러가 에러가 나는데 미리 드라이버를 설치해 두면 드라이버 설치를 무시하고 넘어 갈 수가 있다. 우선 USBSETUP을 합시다.


granddog.reg


그리고 Playonloinux의 구성버튼을 누르고 트릴로지 설치 Prefix를 선택한 후 레지스트리 에디터를 버튼을 누르면 윈도에서 봤던 것과 같은 레지스트리 에디터가 뜹니다.

위의 레지스트리 파일을 다운로드 받은다음 레지스트리 에디터에서 파일-레지스트리 가져오기를 누르고 위의 파일을 선택하면 레지스트리가 등록이 됩니다.


Run a.exe ~~~버튼을 누르고 트릴로지 Setup.exe를 선택하면 이제 본격적으로 게임을 설치 할 수 있게 되는데, 마지막 드라이버 설치시에 주의사항이 있습니다. 파일을 덮어씌울 것인지 물어볼 때 무조건 "아니오"를 눌러주셔야 합니다. "예"를 누르는 순간 에러가 나면서 설치가 취소됩니다.


그리고 마지막으로 수동으로 패치를 해주시면 트릴로지가 리눅스에서 실행되는 것을 보실 수 있습니다.

이렇게 말이지요~




스크린샷은 2010년 당시의 스크린샷입니다. 하지만 똑같이 실행된답니다.


사운드 싱크에 문제가 있을 수 있는데 Pulse-Audio를 삭제해 주시거나 Wine에 Pulse-audio 패치를 해주시면(...)싱크 밀림을 막을 수 있습니다. Pulse-audio를 삭제하는 것이 가장 싱크밀림을 확실히 잡을 수 있는 방법인데, 대신 오디오관련 설정이 엄청 꼬입니다. Pulse-audio관련 패치를 하는 방법은 조금 레이턴시를 잡을 수는 있지만 Alsa-Pulseaudio의 오버헤드는 여전해서 미묘한 싱크 밀림이 생깁니다. 게다가 가뜩이나 USB관련 패치를 한 데다가 미리 패치를 하지 않은 죄로 컴파일을 또 해야하는 불상사가 생깁니다. 


그냥 오디오 꼬이는 것은 적응의 문제 혹은 삽질이라고 생각하고 Pulse-audio를 삭제해봅시다. 우분투나 Pulse-audio쓰지 다른 배포판은 그냥 Alsa만 쓰기 때문에 일부 동영상 플레이어를 제외하면 딱히 호환 문제는 없습니다.


Pulse-audio 삭제법은 나중에 포스팅 하기로 하고, 이상 리눅스에서 트릴로지 실행하는 법을 알아보았습니다. Wine패치하기 어려우신 분들은 그냥 세이브를 다시 해야하는 문제가 있기는 하지만 No-USB패치 하시는 것도 나쁘지는 않다고 생각합니다. 단, 어디까지나 정품 이용!

,