# vmware_genshin_patch **Repository Path**: pentyum/vmware_genshin_patch ## Basic Information - **Project Name**: vmware_genshin_patch - **Description**: vmware genshin patch - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-05-25 - **Last Updated**: 2022-05-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # VMware Genshin Impact 教程 ## 1. 备份驱动并修改虚拟机配置文件 ### 1.1. 备份驱动 在虚拟机中安装鲁大师,备份显卡驱动,复制回真机,然后卸载掉VMware Tools,关闭虚拟机。 ### 1.2. 修改虚拟机配置文件 给你的虚拟机目录下的*.vmx文件添加以下内容: ``` vhv.enable = "TRUE" vvtd.enable = "TRUE" board-id.reflectHost = "TRUE" hw.model.reflectHost = "TRUE" serialNumber.reflectHost = "TRUE" smbios.reflectHost = "TRUE" SMBIOS.noOEMStrings = "TRUE" hypervisor.cpuid.v0 = "FALSE" acpi.mouseVMW0003 = "FALSE" isolation.tools.getVersion.disable = "TRUE" isolation.tools.getPtrLocation.disable = "TRUE" isolation.tools.setPtrLocation.disable = "TRUE" isolation.tools.setVersion.disable = "TRUE" scsi0:0.productID = "你的硬盘型号" scsi0:0.vendorID = "你的硬盘品牌" ``` 如果有多块虚拟硬盘则再添加scsi0:1,以此类推。 然后修改以下字段为以下的值: ``` vmci0.present = "FALSE" ethernet0.addressType = "static" ethernet0.address = "00:00:00:00:00:00" (自己生成) ``` ## 2. 修改显卡 ### 2.1. 修改虚拟机程序 找到vmware安装目录下的`vmware-vmx(.exe)`程序,Windows下应该在`%programfiles%\VMware\VMware Workstation\x64`中, Linux下应该在`/usr/lib/vmware/bin`下。 然后复制一份出来到本项目的文件夹下,运行`python3 patch_vmware_svga.py vmware-vmx`,或`vmware-vmx.exe`,取决于你的系统。 如果成功的话,会生成一个`vmware-vmx-patched`的文件,这就是修改过的程序文件。然后拿去替换你原来的`vmware-vmx`就行了。 Linux系统注意还需要注意`vmware-vmx`的权限为4755(-rwsr-xr-x)。 该脚本的基本原理是搜索`VMware SVGA 3D`的编号`AD15 0504`,然后替换成你需要的显卡型号。这里默认替换为Intel(R) HD Graphics 530,即`8680 1219`。 你可以自己修改脚本内容替换成你要的其他型号。 ### 2.2. 修改显卡驱动 替换显卡型号后,原来的`VMware SVGA 3D`驱动就不能用了,需要修改原来的驱动,以匹配修改过的显卡编号。 把你备份出来的显卡驱动解压到项目文件夹中,解压出的文件夹可能为`VMware SVGA 3D_8.17.3.5_7-6-2021_6.1_x64`形式。 如果不是,自行修改`gen_graphics_driver.py`,然后运行`python3 gen_graphics_driver.py intel 1912`,然后就会生成一个新的驱动文件夹`Intel(R) HD Graphics 530_8.17.3.5_7-6-2021_6.1_x64`。 参数`intel`指的是`VEN_8086`,`1912`指的是`DEV_1912`,即Intel(R) HD Graphics 530。 如果上面(2.1)改虚拟机用的显卡代码不是程序默认的`8680 1219`而是你自己改成的其它的,这里也要用对应的型号,但是编号要反过来。比如上面改程序是改成FF73,这里就要用73FF。 把修改过的驱动复制回虚拟机,然后在设备管理器中的显示适配器中更新驱动即可,更新时选择“从磁盘安装”,选择驱动文件夹中`igfx.inf`就行了。安装完成后需要重启虚拟机。 ## 3. 安装VmwareHardenedLoader 克隆[https://github.com/hzqst/VmwareHardenedLoader](https://github.com/hzqst/VmwareHardenedLoader)仓库,复制进虚拟机。然后以管理员模式cmd运行`VmwareHardenedLoader\bin\install.bat`。安装VMware标识过滤驱动。 ## 4. 修改globalgamemanagers.assets.resS文件 该修改的目的是为了防止游戏内的渲染错误,并不影响游戏的正常启动。**由于涉及游戏文件修改,存在封号风险,请自行决定是否应用该patch。应用该patch造成的一切后果均与作者无关。** 把`Genshin Impact Game\YuanShen_Data\globalgamemanagers.assets.resS`复制到项目目录下,运行`python3 patch_globalgamemanagers_vmware.py`。 把生成的`globalgamemanagers.assets.resS.patched`替换掉原来的文件就行了。 ## 5. 修改注册表 虚拟机每次开机都要以管理员模式运行一次 ``` reg delete "HKLM\HARDWARE\ACPI\DSDT\PTLTD_" /f ``` 不然游戏打不开。 另外还可以改一下显卡信息(不改也没关系,这样dxdiag更好看) ``` Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0000] "HardwareInformation.ChipType"="Intel(R) HD Graphics Family" "HardwareInformation.DacType"="Internal" "HardwareInformation.AdapterString"="Intel(R) HD Graphics 530" ``` 其中`0000`有可能是`0001`或其它的,建议自己去注册表看。 以上注册表每次虚拟机开机都会重置,建议写成启动脚本自动运行。