yuzu模拟器吧 关注:209,768贴子:866,962

回复:自己动手丰衣足食:编译一个修复了地底贴图bug的yuzu版本

只看楼主收藏回复

Vulkan SDK安装:也是一直点下一步,但是选择可选功能时建议全勾上,反正我不勾是缺依赖。


IP属地:浙江21楼2023-05-08 03:43
回复
    cy


    IP属地:云南来自Android客户端22楼2023-05-08 03:45
    回复
      2026-04-18 05:23:01
      广告
      不感兴趣
      开通SVIP免广告
      Git安装:安装过程中,需要选择”Git from the command line and also from 3rd-party software“,同时建议勾选将Git集成到资源管理器右键菜单的功能(Git Bash Here),之后操作会更方便。


      IP属地:浙江23楼2023-05-08 03:46
      回复
        这些东西都装上后,首先你需要克隆最新的yuzu EA以及yuzu主分支的源码(之后说为什么两个都要):
        1.找到你要放源码的地方,然后右键-Git Bash Here,会打开一个终端。这里先说一下基本的终端使用方式:输入命令然后回车,粘贴时候要右键然后点Paste,Ctrl+V是没用的。
        2.用git clone --recursive 命令克隆项目,因为怕吞,所以完整的命令我会尝试放在本楼回复下。
        PS:如果你之前没有选择继承资源管理器,那你就得自己手动导航到路径,方法是:
        ①先使用“cd [盘符]”切换盘符。
        ②“cd [你希望的目录路径]”注意是相对于你当前目录的路径,所以盘符是不需要加的。
        举例:cd d→cd abc/1


        IP属地:浙江24楼2023-05-08 04:01
        收起回复
          cy


          IP属地:广东来自Android客户端25楼2023-05-08 04:09
          回复
            根据官方文档的说明,externals文件夹中应该以及包含了所需依赖,但不知道为什么EA分支仓库里的依赖是不全的,所以我们要用主分支里的依赖替换yuzu EA源码文件夹里的依赖:
            1.删除yuzu EA(pineapple-src)文件夹中的externals文件夹。
            2.打开yuzu主分支(yuzu)的文件夹,将其中的externals文件夹复制到yuzu EA的文件夹中。


            IP属地:浙江26楼2023-05-08 04:10
            回复
              这还没完,我用CMake生成配置的时候发现vcpkg还是会出问题,排查了一下日志后我选择简单粗暴地把这个仓库重新克隆一份,之后就好了:
              1.删除yuzu EA\externals\vcpkg文件夹。
              2.在externals目录下右键打开Git Bash终端,然后使用git clone命令克隆vcpkg的仓库,完整命令怕吞还是放在本楼回复。


              IP属地:浙江27楼2023-05-08 04:14
              收起回复
                至此,准备工作就完成了,接下来打开CMake(cmake-gui),找不到直接在开始菜单里搜索。接着你会看到下图的界面。


                IP属地:浙江28楼2023-05-08 04:18
                回复
                  2026-04-18 05:17:01
                  广告
                  不感兴趣
                  开通SVIP免广告
                  1.“Where is the source code”这一栏填入你的(yuzu EA)源码文件夹路径。
                  2.“Where to build the binaries”这一栏填入你要存放输出文件的路径,建议是直接在源码文件夹里新建一个build文件夹。
                  3.点击下面的Configure,会弹出一个新的窗口,如下图所示。只需要改一下第一栏和第二栏,按图中这么设置就可以了(选择VS2022,架构选x64)。.


                  IP属地:浙江29楼2023-05-08 04:23
                  回复
                    搞定之后点击Finsh,就会开始生成配置文件,所需的时间依你的配置而定,且中途可能会弹红字告诉你语法过时之类的,只要配置过程没有停止就可以忽略不管。


                    IP属地:浙江30楼2023-05-08 04:25
                    回复
                      如果爆红且配置过程失败停止了,就要根据错误信息分析原因:
                      1.提示缺少某依赖(例如boost、vcpkg):是否按照之前的教程用主分支的依赖文件夹替换EA的?
                      2.提示vcpkg安装失败:是否按照之前的教程重新克隆vcpkg?
                      3.提示找不到Visual Studio:首先检查你的VS版本设置的对不对,然后如果还是找不到,请重新打开VS安装程序,然后在“已安装”选项卡里选择“更多”-“修复”,VS就会自动重装,然后根据提示重启电脑,这样一般都能解决此问题。
                      4.其他问题:看日志推断原因(看不懂英文用翻译软件),复制具体的错误信息用搜索引擎查找,实在不行直接拿着错误日志去问ChatGPT都行。


                      IP属地:浙江31楼2023-05-08 04:32
                      回复
                        差点忘了要改代码
                        接下来打开源码文件夹里的src\shader_recompiler\backend\spirv\emit_spirv_context_get_set.cpp文件,如果问你打开方式选VS就可以了。
                        定位到第391行,将"return ctx.OpISub(ctx.U32[1], index, base);"改为"return ctx.OpLoad(ctx.U32[1], ctx.vertex_index);"。
                        注意:
                        1.缩进要和上面对齐。
                        2.所有标点都必须用英文的半角标点,包括括号。
                        3.句尾的分号别忘了。
                        4.改完这行爆红或者高亮说明你写错了,如果怕弄错就直接复制粘贴,但注意我加的引号不是代码的一部分。


                        IP属地:浙江34楼2023-05-08 04:43
                        回复
                          回到CMake的窗口,点击Configure旁边的Generate按钮,然后继续等吧...
                          好消息是,如果生成配置那步过了,这步一般也不会出啥问题。
                          坏消息是,你可能得等更久,建议喝杯茶耐心等待。


                          IP属地:浙江35楼2023-05-08 04:45
                          收起回复
                            如果卡在某一步,很可能只是因为这一步需要的时间比较长,而不是出了啥问题,不要急着把程序关了重来。


                            IP属地:浙江36楼2023-05-08 04:48
                            回复
                              2026-04-18 05:11:01
                              广告
                              不感兴趣
                              开通SVIP免广告
                              完成之后:
                              1.打开你的输出文件夹,双击打开yuzu.sln文件,问你打开方式就选VS,然后在右侧解决方案资源管理器处,右键单击“yuzu”(如果你不想要图形界面也可以选yuzu-cmd),在下拉菜单里选择“设为启动项目”,如下图所示。
                              2.在上方工具栏中选择编译类型,默认可能是Debug,建议选Release,如下图所示。
                              3.再次右键单击右侧的“yuzu”,选择“生成”开始编译,还是如图所示。
                              4.等待编译完成。



                              IP属地:浙江37楼2023-05-08 04:56
                              回复