디아블로4 접속도 안되고..
심심해서 m1 pro 탑재된 맥북프로 16인치에서 디아블로4를 좀더 잘 돌리기 위해 삽질한 내용을 적어봅니다.
기본적인 세팅은 아래 링크 보고 설치했구요.
그 다음에 한 짓들입니다.
1. brew 경로 관련 수정
저는 기존에 arm용 brew를 메인으로 쓰고 있기 때문에, 인텔용 brew를 path로 잡아 쓰는 것은 불편함이 컸습니다.
그래서 brew는 기존대로 arm용을 메인으로 쓰고, 게임포팅툴킷 실행시에만 인텔 brew를 쓰도록 다음과 같이 수정했습니다.
인텔용 brew만 쓰신다면 본 항목은 패스하셔도 되겠습니다.
sudo vi /usr/local/bin/gameportingtoolkit
실행 한 후에 맥 로그인 비밀번호 입력해 주고..
brew --prefix 로 되어 있는 부분을,
/usr/local/bin/brew --prefix
로 수정.
(vi 사용이 어려운 분들은 nano를 쓰시면 조금 나으실 겁니다)
gameportingtoolkit-no-esync
gameportingtoolkit-no-hud
위 두개 스크립트에 대해서도 동일하게 처리해 줍니다.
2. 한글폰트 넣기.
배틀넷 실행시에 한글이 깨지는 것을 보셨을 겁니다.
이건 wine환경에 한글폰트가 안 들어 있어서 그런 건데요.
굴림체 폰트 (gulim.ttc)를
~/my-game-prefix/drive_c/windows/Fonts
이 디렉토리에 넣어주면 됩니다.
"my-game-prefix"는 위 가이드와 동일하게 했기 때문에 그런 거구요.
설치시 WINEPREFIX를 다른 이름으로 하셨다면 그에 맞게 하시면 됩니다.
폰트 파일은 쓰시는 윈도우즈에서 꺼내다가 넣으시면 되고,
참고로 저는 굴림체 외에 한글이름으로 된 폰트는 다 넣었습니다. 200MB정도 되더군요.
3. 파인더에서 exe파일 바로 실행가능하게 연결.
가이드에 보니까 디아블로4 실행파일을 automator를 이용해서 맥용 앱으로 뽑는게 있더라구요?
그러면 다른 exe파일들도 바로 실행하게 할 수도 있겠다 싶어서 해봤습니다.
맥에서 automator 실행 -> 새로운 문서 -> 응용 프로그램 선택.
셸 스크립트 찾아서 더블클릭 -> 오른쪽에 뜨는 스크립트 입력창에 아래 내용 입력
|
export PATH="/usr/local/bin:${PATH}" (/usr/local/bin/gameportingtoolkit-no-hud ~/my-game-prefix $1) || true |
$1은 셸 스크립트 파라메터로 들어온 인자입니다.
임의의 exe파일 경로를 인자로 받아서 게임포팅툴킷으로 바로 열게 하기 위함이죠.
Command+S 눌러서 응용프로그램 디렉토리에 적당한 이름으로 저장해 줍니다.
저는 WineRunExe 라고 대충 저장했습니다.
테스트를 위해 파인더를 열고 ~/my-game-prefix/drive_c/windows 디렉토리를 찾아갑니다.
explorer.exe를 우클릭해서 "정보 가져오기" 누른 후, "다음으로 열기" 밑에 드롭다운 눌러서 기타 선택 후 위에서 저장한 WineRunExe를 선택해줍니다. 그 후 밑에 있는 "모두 변경"을 눌러줍니다.
정보 가져오기 창을 닫은 후 파인더에서 explorer.exe를 더블클릭해서 탐색기가 잘 열리는지 봅니다.
잘 되었다면 성공!
심심하니까 system32 디렉토리에 있는 winemine.exe 같은 것도 실행해봅니다 (지뢰찾기..)
control.exe(제어판) 이나 uninstaller.exe(프로그램 추가/제거) 실행해서 설치된 어플 지울 수 있습니다.
4. HiDPI 활성화
맥에서 디아블로4 실행해보신 분은 아시겠지만, 맥 자체의 디스플레이 설정에서 hidpi를 끄고 최대 해상도로 설정해야, 디아블로4에서도 최대해상도를 쓸 수가 있습니다.
이건 wine 환경에 hidpi 설정이 되어 있지 않아서 그런건데요.
아래와 같이 처리할 수 있습니다.
1) 레지스트리 편집기를 실행합니다. 위에 3번항목 처리를 해놓았다면 간단합니다.
파인더에서 ~/my-game-prefix/drive_c/windows 디렉토리에 있는 regedit.exe를 더블클릭합니다.
HKEY_CURRENT_USER/Software/Wine 항목에 우클릭하여 새로만들기 - 키 를 선택하고, "Mac Driver"라고 입력하고 저장합니다. (따옴표 제외)
생성된 "Mac Driver" 항목에 우클릭 후, 새로만들기 - 문자열 값 을 선택합니다.
이름은 "RetinaMode", 값은 "Y"로 저장합니다. (따옴표 제외)
레지스트리 편집기를 종료합니다.
2) dpi 수정.
여기까지 하셨다면 맥에서 hidpi가 설정되어 있어도 wine환경에서 최대해상도를 쓸 수 있게 되긴 했을 겁니다만, 기본적인 UI가 너무 작게 나오는 문제가 있어 dpi를 수정해야 합니다.
파인더에서 ~/my-game-prefix/drive_c/windows/system32 디렉토리에 있는 winecfg.exe를 더블클릭합니다.
그래픽 탭으로 가보시면 화면 해상도에 기본적으로 96dpi로 되어 있을텐데, 192dpi로 수정합니다.
기본 UI를 좀더 크거나 작게 하고 싶으시다면 적당히 조절하시면 됩니다.
저장하고 닫습니다.
이정도 하고 나면 배틀넷 실행할때 한글도 안깨지고, hidpi 안풀어도 되고 그렇습니다.
이상 미세팁이었습니다.
5. 추가 - 게임 종료 후 wine 프로세스 찌꺼기 날리기
디아블로4 종료 후 다시 실행하거나 다른 윈32앱 실행하려고 하면 실행이 잘 안 되는 경우가 있더군요.
"활성 상태 보기" 앱으로 확인해보면, wine관련 프로세스들이 제대로 종료되지 않고 남아 있는 경우에 이런 현상이 있습니다.
wineserver 및 wine64-preloader 라는 이름의 프로세스입니다.
이걸 확성 상태 보기에서 하나씩 찍어서 강제종료 해도 됩니다만, 갯수가 여러개라 귀찮더군요.
그래서 한방에 날리는 스크립트를 automator를 이용해서 만들었습니다.
맥에서 automator 실행 -> 새로운 문서 -> 응용 프로그램 선택.
셸 스크립트 찾아서 더블클릭 -> 오른쪽에 뜨는 스크립트 입력창에 아래 내용 입력
|
killall -9 wineserver || true killall -9 wine64-preloader || true killall -9 WineRunExe || true |
"WineRunExe"는 위에 3번항목에서 만든 것인데, 간혹 이놈도 안죽는 경우가 있는 것 같아서 넣었습니다.
필요없으신 분은 3번째 줄은 빼셔도 됩니다.
Command+S 눌러서 응용프로그램 디렉토리에 적당한 이름으로 저장해 줍니다.
저는 WineKill 이라고 저장했습니다.
이걸 dock에 꺼내놓고 필요할 때 한번 눌러주거나, spotlight(commmand+sapce)로 호출해 주시면 되겠습니다.
좋은 팁 감사드립니다.
중간중간 버벅대는 건 저도 그렇긴 한데, 맥 재부팅 후 클린한 상태에서 실행하면 그나마 약간은 낫더라구요.