一年多前安装了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 也更新了, 否则下载会一直失败(校验失败会删了重试下一个).

EmuELEC 4.3 安装和乐视手柄 LeWGP-201 evremap问题解决的更多相关文章

  1. PyQt5安装及ModuleNotFoundError: No module named 'PyQt5'问题解决

    PyQt5安装及ModuleNotFoundError: No module named 'PyQt5'问题解决     安装pyQt5费了很多的周折,不过现在还是安装好了,现在重新梳理一下整个安装过 ...

  2. Ubuntu 17.10安装VirtualBox 5.2.2 及相关问题解决

    link:https://www.linuxidc.com/Linux/2017-11/148870.htm sudo apt update && sudo apt upgrade s ...

  3. selenium2 安装、简单使用及浏览器启动问题解决汇总

    一.selenium2 安装 1.安装jdk并配置环境变量 jdk需要1.6版本及以上的,这个从网上下载就可以,环境变量的配置前边的随笔整理过就不多说了. 2.安装Firefox,Selenium I ...

  4. 安装win7 32位系统出现的问题解决办法

    计算机意外地重新启动或遇到错误.Windows 安装无法继续.若要安装Windows,请单击“确定”重新启动计算机,然后重新启动安装”. http://www.baidusoso.net/      ...

  5. 安装apk时出现错误Failure [INSTALL_FAILED_DEXOPT]问题解决的方法

    在android4.0源码里面编译出来apk后,用adb install (或adb install -r 重装)安装时,报错[INSTALL_FAILED_DEXOPT]. xu@xu-PC:~$  ...

  6. Python 安装beautifulsoup4遇到No module named setuptools问题解决方法

    背景说明: 电脑win7-32 在Python 3.3.5下安装beautifulsoup4 4.6.0(下载链接https://pypi.org/project/beautifulsoup4/#fi ...

  7. win10 安装node.js node.js 安装成功但npm -v 报错问题解决

    错误症状官网下载node-v8 .node-v10 的msi 安装进行安装. npm -v 错误如下 0 info it worked if it ends with ok 1 verbose cli ...

  8. 初次安装hive-2.1.0启动报错问题解决方法

    首次安装hive-2.1.0,通过bin/hive登录hive shell命令行,报错如下: [hadoop@db03 hive-2.1.0]$ bin/hive which: no hbase in ...

  9. 安装Hue后的一些功能的问题解决干货总结(博主推荐)

    不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...

  10. centos6安装GitLab全程详解和常见问题解决

    GitLab,是一个使用 Ruby on Rails 开发的开源应用程序,与Github类似,能够浏览源代码,管理缺陷和注释,非常适合在团队内部使用. 官方只提供了Debian/Ubuntu系统下的安 ...

随机推荐

  1. 异步httpClient(Async HttpClient)

    一.简介 二.mvn依赖 三.客户端 3.1 官网实例 3.2. 根据官方文档的介绍,简单封装了一个异步HttpClient工具类 3.3 基本原理 四.参考文档 一.简介 HttpClient提供了 ...

  2. 搞了个Blazor工具站,域名一次性买了10年!

    大家好,我是沙漠尽头的狼. 在 Dotnet9 上线在线小工具和小游戏后,服务器的压力感觉挺大的,打开25个页面,内存占用170MB左右,CPU保持在60~70%,看来Server真不适合搞这类交互较 ...

  3. SD Host控制器的系统集成

    控制器集成需求 SD Host可以从外部读取数据存储到SRAM和eFlash或者可以从内部读取数据输出到外部存储 AHB Bus slave接口用于配置 master接口作为主设备,DMA可以控制总线 ...

  4. [转帖]【我和CloudQuery 的故事】安装部署CloudQuery 初体验—-前篇

    https://www.modb.pro/db/1694256553947910144 一.前言 在日常数据库运维中,为连接多种数据库,经常要安装不同的客户端,非常繁琐,且占用大量存储空间.如果能有一 ...

  5. [转帖]elasticsearch8.0以上版本修改内置用户密码

    https://www.cnblogs.com/zhang-ding-1314/p/16199682.html 修改密码需要在es启动,并cd到es的bin目录下执行: 1.重置密码并在控制台显示新密 ...

  6. Java进程 OOM的多种情况

    Java进程 OOM的多种情况 摘要 OOM 其实有多种: 第一类是JVM原生自发处理的, 这种也分为多种情况. 1. 堆区使用了比较多,并且大部分对象都还有引用, GC不出来可用内存, 这是要给对象 ...

  7. 任意文件下载包含https的图片

    使用a标签进行下载 <a href="https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ. ...

  8. Qt中qreal的坑

    今天在写Qt的时候遇到了一个bug:同样一个方程在PC机上算的结果是11,但在arm-Linux设备上算出来的结果是12,我自己用计算器按出来的结果也是12. 该段程序是这样的: maxnumbar ...

  9. js设计模式(下)

    引用:(23条消息) <Javascript设计模式与开发实践>关于设计模式典型代码的整理(下):模板方法模式.享元模式.职责链模式.中介者模式.装饰模式.状态模式.适配器模式_QQsil ...

  10. 每日一道面试题:Java中序列化与反序列化

    写在开头 哈喽大家好,在高铁上码字的感觉是真不爽啊,小桌板又拥挤,旁边的小朋友也比较的吵闹,影响思绪,但这丝毫不影响咱学习的劲头!哈哈哈,在这喧哗的车厢中,思考着这样的一个问题,Java中的对象是如何 ...