소프트웨어 vmware workstation 에서 그나마 게임을 원할하게 굴리기 위한 설정
2020.05.26 04:45
많은 분들이 vmware workstation 에서나마 게임을 해보고싶지만
게임 실행이 원할하지 않아 포기하시는 분들이 있는거 같아 끄적여봅니다.
게임을 위해서는 몇가지 설정이 필요하며,저장해뒀던 txt 가져와서 글로 대충 씁니다.
옵션에 대한 몇몇 설명은 패스합니다. 줄맞춤 안되고읽기 불편해도 이해를;;
일단 기본 vmware workstation 에서는 debug 기능 포함되어있고 또한 기본설정에서는
페이징파일생성으로 수시로 메모리 스왑과 트림 기능으로 I/O 와 RAM부하가크기에
게임을 굴리기엔 적합하지 않습니다. (스왑으로인해 디스크기록시 렉 유발)
VGA 성능이 원할하게 굴러가기위해선 가상머신내에 설정한 메모리가 풀로 선할당되어야합니다.
고로 가상머신생성과 메모리 설정과 옵션만추가 해주고나서
*** vmware workstation player 에서 실행하시면 됩니다. (중요)***
또한 게임을 동시에 2개이상 굴리기위해서는 시스템의 메모리성능과 디스크성능이 필요합니다.
(4채널메모리이상지원의 웍스추천;;)
그 외 꼼수로 pci passthrough 를 강제사용해서 GPU 를 할당할수 있지만..
VBS를 끄고 장치번호, 사용메모리별 셋팅 등의 복잡성과 귀찮은 수작업을 사용자가직접해야하고
정식지원도 아니고 에러뿜어낼 확률도 높은터라.. 패스합니다.
그걸할거면 차라리 그냥 kvm이나 hyper-v 에서 겜하는게 낫습니다.
아니면 내년에 나올 vmware 차기버전 기다려보거나요.
----------------------------------------------------------------------------------------
일반적으로 가상머신 생성후에 최적화를 위한 셋팅을 위해
Virual Machine Settings 에서
-> Hardware -> Processors -> Virtualization engine 항목 선택 체크
-> Hardware -> Display -> Accelerate 3D graphics 체크 옵션 적절히 설정
-> Options -> Advanced 설정 (이건 debug 정보 추출만 None 설정해도됨, 나머지는 .vmx에서)
설정 추가
공용설정
*공용설정은 버전 업그레이드시 초기화되므로 vmware버전업하게되는경우엔 다시셋팅해주세요.
*공용인 부분을 개별적용하시려면 가상머신의 .vmx에 추가하시면 됩니다.
(1) C:\ProgramData\VMware\VMware Workstation\config.ini
prefvmx.minVmMemPct = "100"
prefvmx.useRecommendedLockedMemSize = "TRUE"
mainMem.partialLazySave = "FALSE"
mainMem.partialLazyRestore = "FALSE"
(2) .vmx 에서
MemTrimRate = "0"
sched.mem.pshare.enable = "FALSE"
mainMem.useNamedFile = "FALSE"
MemAllowAutoScaleDown = "FALSE"
priority.grabbed = "high"
priority.ungrabbed = "normal"
이렇게 추가하셨으면... 기본 옵션셋팅이 끝났습니다.
이제 vmplayer로 실행하시면 됩니다.
바로가기로 가상머신 바로 실행하기 예)
"C:\Program Files (x86)\VMware\VMware Workstation\vmplayer.exe" "C:\VHD\Windows 10 x64\Windows 10 x64.vmx"
실제 실행하면 메모리는 사전할당을 다하고 페이지 파일도 만들지도 않기에 빈번하게 이뤄지던 DiskIO 로 인한 렉이 크게 줄어듦니다.
이제 원하는 게임이 잘 굴러가는지 테스트하시면됩니다.
------------------------------------------------------------------------------------
여기서부턴 고급 추가사항..
------------------------------------------------------------------------------------
.vmx 옵션 추가사항 참고
특정 USB 장치를 가상머신 실행시 연결 설정 (키보드, 마우스, USB메모리 등)
//USB 장치의 자동연결 금지
usb.generic.autoconnect = "FALSE"
//특정 USB 장치만을 vm 실행시 자동으로 바로 연결 시키기
// 여기서 "vid:121F" 는 Device ID 로 "Vendor ID:Product ID" 입니다. 장치에 맞게 바꿔주세요.
usb.autoConnect.device3 = "vid:121F"
// 기타 스마트카드리더 SD카드 사용시;
// CCID는 Smart Card Reader
usb.generic.allowCCID = "TRUE"
usb.ccid.disable = "TRUE"
// HID 키보드및마우스입력장치
usb.generic.allowHID = "TRUE
// 최근에 사용한 HID 장비 허용
usb.generic.allowLastHID = "TRUE"
// 특정 3rd 마우스 소프트웨어사용으로 트러블시
mks.win32.processWin32MouseInput = "TRUE"
----------------------------------------------------------------------------------------
보안프로그램 우회
----------------------------------------------------------------------------------------
//온라인 게임의 경우 단순히 vmware tools 가 설치 되어있으면 거부하는 경우
isolation.tools.getPtrLocation.disable = "TRUE"
isolation.tools.setPtrLocation.disable = "TRUE"
isolation.tools.setVersion.disable = "TRUE"
isolation.tools.getVersion.disable = "TRUE"
//보안프로그램이 거부하는경우 기본
monitor_control.restrict_backdoor = "TRUE"
*intel 계열 CPU사용자 옵션
monitor_control.vt32="TRUE"
monitor_control.restrict_backdoor = "TRUE"
*amd 계열 CPU사용자 옵션
monitor_control.vt32="TRUE"
monitor_control.enable_svm = "TRUE"
monitor_control.restrict_backdoor = "TRUE"
//보안우회 추가
monitor_control.disable_directexec = "TRUE"
//vga감지시 (필자는 택3을 사용합니다.)
택1)
HKEY_LOCAL_MACHINE\\SYSTEM\CurrentConntrolSet\\Control\\Class\\
{4D36E968-E325-11CE-BFC1-08002BE10318}\\0000\DriverDesc
*"DriverDesc"="VMware SVGA II" 에서 VMware만 제거
* VMware SVGA 3D 가 있는 드라이버 명칭의 수정이다
택2)
Computer > HKEY_LOCAL_MACHINE > HARDWARE > DESCRIPTION > System 을 선택한다.
오른쪽 뷰에서 Name에 VideoBiosVersion 의 내용을 지운다.
택3)
vmware 드라이버의 inf안의 vmware 명칭과 드라이버 파일들의 vmware명칭을 수정해준다
*기타
간혹 일부 보안프로그램은 하드디스크의 명칭 정보를 읽어오는경우가있다
HKLM\SYSTEM\CurrentControlSet\Services\Disk\Enum
가상 디스크 컨트롤러의 데이터 값을 전체를 복사해서 어딘가(가상머신의 메모장 같은 곳에)에 붙여넣기한다.
그런 다음 그 값을 편집해서 Vmware 와 Virtual이란 글자들을 지운다.
그리고 저장하고 그 설치 프로그램을 실행한다.
프로그램이 설치된후 복사해둔값을 원복시킨다.
//보안우회 추가 (기타사항으로 대부분 윗선에서 다해결);
monitor_control.disable_chksimd = "true"
monitor_control.disable_ntreloc = "true"
monitor_control.disable_selfmod = "true"
monitor_control.disable_reloc = "true"
monitor_control.disable_btinout = "true"
monitor_control.disable_btmemspace = "true"
monitor_control.disable_btpriv = "true"
monitor_control.disable_btseg = "true"
-------------------------------------------------------------------------------------------------
전..오래전 주로 던파 클라 동시 3개 쫄노가다하거나 친구 방문시에 같이 던파; (본체하나에 모니터,키보드,마우스 각각;)
작년에 히오스에서 초갈 1인 혼자해본다고 2개 동시에 굴려서 몇번 했던게 마지막인 정도네요.. 요즘엔 게임도 잘안하게되서;
댓글 [3]
-
system32 2020.05.27 09:34
-
모노스타일 2020.05.27 11:06
15버전부터 esxi 기능이 일부 추가되어있고..
pci passthrough 는.. 이미 12버전대부터 xp에서 기능은 내부지원하고있었지만..
(이때 Quadro SLI 사용시 vGPU 및 passthrough 지원한다고 OEM 발표);
하지만 윈도우7에서부터의 hyper-v 와 vbs의 충돌과 설정문제가 까다롭기때문에 공식지원을 안해요. 인터페이스 제공조차 안하고있죠.
내년에 나올 vmware버전에서도 gpu passthrough는.. 아마 왠만해서는 공식지원 제대로 안할거에요.
왜냐면..
nvidia 그래픽카드 모델군은 quadro, tesla 제품군을 제외한
개인용 GPU는.. 극히 일부 제품을 제외하고 몇년전부터 드라이버와함께 바이오스락이 걸려있거든요.
서버에서 일반게이밍용제품을 못굴리게 라이센스 위반지정하고있는데..
이게다 CUDA 개발과 채굴붐과함께 데탑용 그래픽카드 싹쓸이해서가져다 서버에서 사용할려고 사재기하려는 국가들땜에;
그나마 내년에 나올 차기버전에서는 VBS 자동설정까지해서 hyper-v와 같이 사용할 수 있게 현재 테스트중인거라..
나온다고하면 1차적으로 편해지는거죠..
그런데.. 그냥 커널단에서 드라이버 지원으로 가속 지원해주는게 일반사용자입장으론 제일 편합니다.
-
system32 2020.05.27 22:30
엔비디아가 채굴이 기승을 부려서 바이오스 락 걸었다는 이야기는 들었는데 이런 사연이 있었을 줄이야...
오! vmware 차기버전에서 패쓰루 지원하려는 모양이네요? 다음 버전에서 다이렉트x 11 지원한다는 소식은 본 것 같은데