• EmuELEC 4.3 安装和乐视手柄 LeWGP201 evremap问题解决


    一年多前安装了EmuELEC3.9之后, 就一直没有再更新过, 平时玩玩小游戏也很正常. 昨天心血来潮想把吃灰的乐视手柄用起来, 结果发现3.9里面没有evremap 命令. 猜测可能是这个版本的问题, 正好也很久没更新了, 不如新装一个4.3试试, 于是下了4.3的img, 把之前更早版本EmuELEC的32G TF卡写了, 这个卡是一个更早的版本, 应该是可以用乐视手柄的, 但是后来总是有一定概率无法启动, 所以直接被我用4.3版本的镜像重新刷了.

    安装

    因为一直是用USB读卡器加TF卡启动的, 所以刷完卡也用这种方式启动, 结果就有问题. 前面第一步的扩容没成功, 只出来一个2G的storage和一个2G无名称的分区.

    1. 开始怀疑是卡的问题, 又找了一张32G TF卡, 还是一样的问题.
    2. 于是怀疑是img写入的问题, 也许不能用Ubuntu自带的Disk工具写入? 换到win10下, 用Rufus测, 发现还是不行.
    3. 最后终于怀疑到USB读卡器上, 直接用R3300L的TF卡槽启动, 这样就没问题了. 用卡槽启动很快很顺利, 第一次启动时能看到扩容的过程和结果成功的提示.
    4. 再到Ubuntu下用Disk工具写入, 用TF卡槽启动, 扩容也是正常的

    所以问题可以确定是USB读卡器引起的, EmuELEC4.3版本, 第一次启动需要用TF卡槽.

    配置

    • EmuELEC4.3 增加了时区配置, 不需要再到命令行下设置时区了
    • WIFI能直接选择SSID, 只需要输入口令, 设置也很方便.
    • 界面太花了, 不太喜欢那个字体, 还是原来的3.9的界面看得舒服.
    • 用之前的ROM合集没问题, 可以正常显示图片

    evremap

    回到最初要解决的问题, 发现还是没有 evremap 命令, 去 GitHub 仓库查, 这个c文件packages/sx05re/tools/sysutils/evdev_tools/sources/remap.c还是在的, 可能是不再编译打包进镜像了, 检查版本变动, 对应的package.mk换过几茬, 能看到最后改动是在 2019年8月, 但是调用关系还是没对上.

    在Google上搜索不到太多 evremap 相关的信息, 这个代码是BetaXOi写的, 代码里面的映射就是针对乐视尚酷版手柄 LeWGP-201 写的. 这里有相关信息 https://github.com/EmuELEC/EmuELEC/issues/39.

    搜索无望, 到 Discord 上问了下, 也没人回应. 晚上9点多 Shantigilbert 在群里发了一条消息, 他母亲病重, 接下来他需要专心照顾他母亲, 可能不会再更新和处理 EmuELEC 相关的问题了, 希望他母亲尽快好起来, 他在西班牙, 不知道有没有什么能帮得上的.

    回到 evremap, 大概只能两个途径解决, 一个是从旧的系统上复制, 因为 EmuELEC 虽然版本更新, 但是内核一直是没变的都是 3.14, 因此大概率旧版本的二进制依然能跑; 另一个是自行编译, 把 remap.c 加入到编译列表中

    关于后者, 编译 EmuELEC, 从昨天晚上跑到现在还没完成, 标识的483个步骤, 才跑到第223, 我发现这个工程其实挺大的. 中途需要下载不少第三方代码, 所以一定网络不能有问题, 访问GitHub不能有问题., 空间现在已经用了30G左右了, 不知道最终会用掉多少.

    关于前者, 下载了好几个版本, 最终是在 3.2 版本下找到了 evremap, 幸运的是, 居然在 4.3 下能用. 测试了下工作正常.

    算是把这个乐视手柄又救回来了. 这个手柄的模拟摇杆比其它手柄的模拟摇杆分辨率更均匀, 使用体验更好. 在开赛车的时候感觉很明显. 用差点的手柄, 稍微一动, 方向盘就大幅打过去了.

    相关文件和记录

    把记录更新到之前的博客里了 EmuELEC笔记, 乐视尚酷版手柄SELECT键设置, evremap 放到了百度盘上, 需要的可以去下载 https://pan.baidu.com/s/12nSqxboNvE3mzc4hSuEQDA, 链接: 提取码: kdqm. 在目录下找 EmuELEC-Amlogic.arm-3.2-config-bin-evermap.zip

    编译 EmuELEC

    前期安装

    $ apt install gcc make git unzip wget xz-utils libsdl2-dev libsdl2-mixer-dev libfreeimage-dev libfreetype6-dev libcurl4-openssl-dev rapidjson-dev libasound2-dev libgl1-mesa-dev build-essential libboost-all-dev cmake fonts-droid-fallback libvlc-dev libvlccore-dev vlc-bin texinfo premake4 golang libssl-dev curl patchelf xmlstarlet default-jre xsltproc
    
    apt install tzdata xfonts-utils lzop
    

    执行编译

    $ git clone https://github.com/shantigilbert/EmuELEC.git
    $ cd EmuELEC
    $ git checkout master
    $ PROJECT=Amlogic ARCH=aarch64 DISTRO=EmuELEC make image
    

    中间第240-250步之间, 有个巨无霸 Crystal, git clone执行了无数次都无法导出, 最后是在本地导出后打包放到服务器上继续编译的. 打完包还有接近900MB.

    git clone https://github.com/dm2912/Crystal.git /home/milton/emuelec/EmuELEC/sources/Crystal/
    

    在第397步左右, 编译PPSSPP一直没能成功, 出现undefined reference to 'pthread_create'错误.

    编译配置

    编译组件的设置说明
    https://github.com/EmuELEC/EmuELEC/blob/dev/packages/readme.md

    问题处理

    编译过程中, 遇到的问题主要有几种

    1. 无法下载

    无法下载有两种情况, 一种是被墙, 另一种是包指向的URL已经404了. 前一种比较好处理, 后一种呢, 需要先在网上搜的这个版本能下载的地址, 然后到 packages目录下, 搜索对应的包名, 会找到一个 package.mk, 在里面将下载的 URL 改成能用的路径, 然后再执行编译

    1. git导出失败

    虽然这是比较容易处理的问题, 但是中途还是出现过几次, 特别是当仓库特别大的时候, 在大流程里直接成功的概率就有点低, 这时候需要先根据ps aux|grep git取到完整命令, 然后在另外的窗口中把这个先git clone导出, 再继续执行编译.

    但是有 git submodule 的时候要小心, 不能直接对着子模块做git clone, 必须在主仓库里面执行git submodule update --init --recursive, 而且必须注意版本一致

    1. 版本依赖错误

    在编译PPSSPP的过程中出现, libpng当前版本是1.6.x, 但是PPSSPP里要求的版本是大于1.7.0, 这就需要去找满足这个条件的包, 然后把地址更新到 packages/graphics 下 libpng 对应的 package.mk 里, 并且要把 sha256 也更新了, 否则下载会一直失败(校验失败会删了重试下一个).

  • 相关阅读:
    jquery validate自定义checkbox验证规则和样式
    【转】maven导出项目依赖的jar包
    maven web项目build失败
    【转】maven仓库快速镜像
    【转】javax.net.ssl.SSLHandshakeException(Cas导入证书)
    Maven发布web项目到tomcat
    tomcat启动是报Multiple Contexts have a path of "/XXX"
    spring无法扫描jar包的问题
    CAS单点登录之mysql数据库用户验证及常见问题
    搭建CAS单点登录服务器
  • 原文地址:https://www.cnblogs.com/milton/p/15912316.html
Copyright © 2020-2023  润新知