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無名稱的分區.

  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 也更新了, 否則下載會一直失敗(校驗失敗會刪了重試下一個).


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM