EmuELEC 4.3 安装和乐视手柄 LeWGP-201 evremap问题解决
一年多前安装了EmuELEC3.9之后, 就一直没有再更新过, 平时玩玩小游戏也很正常. 昨天心血来潮想把吃灰的乐视手柄用起来, 结果发现3.9里面没有evremap 命令. 猜测可能是这个版本的问题, 正好也很久没更新了, 不如新装一个4.3试试, 于是下了4.3的img, 把之前更早版本EmuELEC的32G TF卡写了, 这个卡是一个更早的版本, 应该是可以用乐视手柄的, 但是后来总是有一定概率无法启动, 所以直接被我用4.3版本的镜像重新刷了.
安装
因为一直是用USB读卡器加TF卡启动的, 所以刷完卡也用这种方式启动, 结果就有问题. 前面第一步的扩容没成功, 只出来一个2G的storage和一个2G无名称的分区.
- 开始怀疑是卡的问题, 又找了一张32G TF卡, 还是一样的问题.
- 于是怀疑是img写入的问题, 也许不能用Ubuntu自带的Disk工具写入? 换到win10下, 用Rufus测, 发现还是不行.
- 最后终于怀疑到USB读卡器上, 直接用R3300L的TF卡槽启动, 这样就没问题了. 用卡槽启动很快很顺利, 第一次启动时能看到扩容的过程和结果成功的提示.
- 再到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
问题处理
编译过程中, 遇到的问题主要有几种
- 无法下载
无法下载有两种情况, 一种是被墙, 另一种是包指向的URL已经404了. 前一种比较好处理, 后一种呢, 需要先在网上搜的这个版本能下载的地址, 然后到 packages目录下, 搜索对应的包名, 会找到一个 package.mk, 在里面将下载的 URL 改成能用的路径, 然后再执行编译
- git导出失败
虽然这是比较容易处理的问题, 但是中途还是出现过几次, 特别是当仓库特别大的时候, 在大流程里直接成功的概率就有点低, 这时候需要先根据ps aux|grep git取到完整命令, 然后在另外的窗口中把这个先git clone导出, 再继续执行编译.
但是有 git submodule 的时候要小心, 不能直接对着子模块做git clone, 必须在主仓库里面执行git submodule update --init --recursive, 而且必须注意版本一致
- 版本依赖错误
在编译PPSSPP的过程中出现, libpng当前版本是1.6.x, 但是PPSSPP里要求的版本是大于1.7.0, 这就需要去找满足这个条件的包, 然后把地址更新到 packages/graphics 下 libpng 对应的 package.mk 里, 并且要把 sha256 也更新了, 否则下载会一直失败(校验失败会删了重试下一个).
EmuELEC 4.3 安装和乐视手柄 LeWGP-201 evremap问题解决的更多相关文章
- PyQt5安装及ModuleNotFoundError: No module named 'PyQt5'问题解决
PyQt5安装及ModuleNotFoundError: No module named 'PyQt5'问题解决 安装pyQt5费了很多的周折,不过现在还是安装好了,现在重新梳理一下整个安装过 ...
- Ubuntu 17.10安装VirtualBox 5.2.2 及相关问题解决
link:https://www.linuxidc.com/Linux/2017-11/148870.htm sudo apt update && sudo apt upgrade s ...
- selenium2 安装、简单使用及浏览器启动问题解决汇总
一.selenium2 安装 1.安装jdk并配置环境变量 jdk需要1.6版本及以上的,这个从网上下载就可以,环境变量的配置前边的随笔整理过就不多说了. 2.安装Firefox,Selenium I ...
- 安装win7 32位系统出现的问题解决办法
计算机意外地重新启动或遇到错误.Windows 安装无法继续.若要安装Windows,请单击“确定”重新启动计算机,然后重新启动安装”. http://www.baidusoso.net/ ...
- 安装apk时出现错误Failure [INSTALL_FAILED_DEXOPT]问题解决的方法
在android4.0源码里面编译出来apk后,用adb install (或adb install -r 重装)安装时,报错[INSTALL_FAILED_DEXOPT]. xu@xu-PC:~$ ...
- Python 安装beautifulsoup4遇到No module named setuptools问题解决方法
背景说明: 电脑win7-32 在Python 3.3.5下安装beautifulsoup4 4.6.0(下载链接https://pypi.org/project/beautifulsoup4/#fi ...
- 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 ...
- 初次安装hive-2.1.0启动报错问题解决方法
首次安装hive-2.1.0,通过bin/hive登录hive shell命令行,报错如下: [hadoop@db03 hive-2.1.0]$ bin/hive which: no hbase in ...
- 安装Hue后的一些功能的问题解决干货总结(博主推荐)
不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...
- centos6安装GitLab全程详解和常见问题解决
GitLab,是一个使用 Ruby on Rails 开发的开源应用程序,与Github类似,能够浏览源代码,管理缺陷和注释,非常适合在团队内部使用. 官方只提供了Debian/Ubuntu系统下的安 ...
随机推荐
- css - 使用 figure 和 figcaption 快速实现 图片加文字的垂直方向的布局 ( 不支持ie9以下版本 )
一,属性介绍 1. 浏览器支持 注释:Internet Explorer 8 以及更早的版本不支持 <figure> 标签.Internet Explorer 9, Firefox, Op ...
- java - for循环 排序数组 - 求数组最小值
主要是利用静态变量存储 public class Bubble2 { static int minNumber; public static void main(String[] args) { in ...
- Mongo-文档主键-ObjectId
文档主键 文档主键时 _id,如果插入文档时,没有传入则自动生产ObjectId 作为文档主键 文档主键要求在集合中唯一 文档主键可以时另一个文档,被当作字符串对象处理 ObjectId对象 获取文档 ...
- [转帖]堆表(HOT)和索引组织表(IOT)优缺点
转载于: https://www.ywnds.com/?p=7702 一.堆表和索引组织表 NOTE 堆表也可以称之为 HOT,索引组织表也可以称之为 IOT,下面没有特别说明,两者都是一个意思. ...
- [转帖]Kafka 核心技术与实战学习笔记(六)kafka线上集群部署方案
一.操作系统-Linux Kafka是JVM系的大数据框架 kafka由Scala语言和Java语言编写而成,编译之后的源代码就是普通的".class"文件 使用Linux kaf ...
- Python学习之十一_Windows获取硬件信息
Python学习之十一_Windows获取硬件信息 简介 网上找了一些方法简单整理了下,可以快速获取部分信息 包含机器名称等. 以及序列号相关 部分学习来源: https://blog.51cto.c ...
- 【转帖】sqlserver 在高并发的select,update,insert的时候出现死锁的解决办法
最近在使用过程中使用SqlServer的时候发现在高并发情况下,频繁更新和频繁查询引发死锁.通常我们知道如果两个事务同时对一个表进行插入或修改数据,会发生在请求对表的X锁时,已经被对方持有了.由于得不 ...
- Springboot tomcat.threads线程数学习
Springboot tomcat.threads线程数学习 摘要 压测完nginx 突然想搞一下springboot内嵌的tomcat的 threads的参数 一不做二不休, 直接就着脚本进行学习和 ...
- [转帖] Linux命令拾遗-理解系统负载
https://www.cnblogs.com/codelogs/p/16060498.html 简介# 这是Linux命令拾遗系列的第七篇,本篇主要介绍Linux中负载的概念与问题诊断方法. 本系列 ...
- node借助jsonwebtoken生成token以及验证token是否过期
生成token使用 jsonwebtoken 插件 我当时使用的版本"jsonwebtoken": "^9.0.0", cnpm i jsonwebtoken ...