編譯運行龍芯retroarch——不完全的試探


群里有人問,於是就試着編了編。在這特殊的日子里,GitHub的速度感人,掛着proxy開着流量(移動的校園網幾分鍾一斷網呵呵呵)clone了一個晚上+一個凌晨, make 了一個白天終於起來了。但是並不完美。

直接拿Ubuntu的官方編譯教程參考,首先編譯外殼,然后編譯內核,最后安裝assets和database。

這里以龍夢Fedora28為例,在福瓏2盒子上。

編譯外殼

$ git clone https://github.com/libretro/RetroArch.git retroarch
$ cd retroarch
$ ./configure
$ make clean
$ make -j4

在 Ubuntu 上可以通過 apt-get build-dep retroarch 解決編譯依賴,但是我們使用了 Fedora ,我暫時也沒有精力去逐個安裝所有依賴的包。而且編譯得到的二進制看起來不支持網絡,網絡更新啥的也果然不能用。

如果有報錯則根據報錯安裝缺少的包,在我的系統上缺少 libXxf86vm-devel

編譯完成以后直接安裝或取得二進制打包為 rpm 。

# make install

編譯內核

首先獲取內核,我們需要 clone 下面的倉庫,然后使用里面的腳本取得所有內核。

$ git clone https://github.com/libretro/libretro-super.git
$ cd libretro-super
$ ./libretro-fetch.sh

如果手動逐個編譯,下面以 fceumm 為例:

$ ./libretro-build.sh fceumm

如果自動編譯所有:

$ ./libretro-build.sh

如果缺少包,則安裝之,如我安裝了兩個我已知依賴包 libXv-develSDL2-devel 。下面給出我編譯后得到的輸出,可以逐個使用前面編譯單個內核的命令來獲取其錯誤輸出。

47 core(s) successfully processed:
	2048 bluemsx dosbox snes9x2005 fceumm fmsx gambatte handy
	stella nestopia nxengine prboom quicknes snes9x2010 tyrquake
	vba_next vecx mgba genesis_plus_gx bsnes_cplusplus98 mame2003
	mednafen_lynx mednafen_pce_fast mednafen_supergrafx mednafen_vb
	mednafen_wswan mu gw prosystem 81 fuse lutro tgbdual gpsp o2em
	opera virtualjaguar 3dengine snes9x vbam scummvm mednafen_snes
	meteor dinothawr mame2015 pcsx_rearmed bnes
24 core(s) failed:
   fbneo desmume desmume2015 picodrive mednafen_pcfx mednafen_psx yabause
   mame2010 stonesoup bsnes_accuracy bsnes_balanced bsnes_performance
   bsnes_mercury_accuracy bsnes_mercury_balanced bsnes_mercury_performance
   mame2016 mame emux_chip8 emux_gb emux_nes emux_sms ffmpeg testgl test

默認的安裝目錄是 /usr/local/lib/libretro

首次運行和配置

可以雙擊圖標或終端運行 retroarch 來運行。首次運行會生成配置,默認配置和希望的配置可能會不同,而且會影響后面assets和database的安裝。

由於沒有安裝assets,界面上的沒有圖標,中文顯示也並不非常正常,並且沒有檢測到我們安裝的內核,但是這些不重要。此時可以在 “設置->用戶->語言” 暫時設置為中文,也可以直接退出。

首次運行后默認的配置應該已經生成在 ~/.config/retroarch/retroarch.cfg ,我們打開可以看到默認的 libretro\_directorylibretro\_info\_path 配置在 ~/.config/retroarch/cores ,我均改成 /usr/local/lib/libretro ,也就是前面內核的安裝目錄。另外注意一下 assets_directory = "~/.config/retroarch/assets"cheat_database_path = "~/.config/retroarch/cheats" ,這提示我們 assets 和 database 的安裝目錄。注意這里編輯配置的過程必須在退出 retroarch 以后。

保存后重新啟動 retroarch,在“加載核心”界面已經可以看到我們安裝的內核了。

安裝assets和database

直接 clone 倉庫並安裝即可:

$ git clone https://github.com/libretro/retroarch-assets.git
$ git clone https://github.com/libretro/libretro-database.git

在 Makefile 中可以發現使用了 DESTDIRINSTALLDIR 控制安裝目錄,所以可以用下面的命令安裝:

make DESTDIR=~/.config/retroarch/database INSTALLDIR= install
make DESTDIR=~/.config/retroarch/assets INSTALLDIR= install

之后又發現在安裝內核時, libretro-super 在獲取所有內核源碼的同時也獲取了 assets 和 database ,在 libretro-super/retroarch/media 下。所以應該有更正常的安裝方法。

運行

此時可以運行了,圖標、數據庫都正常,玩了一會2048就收工了。

by SDUST weilinfox


免責聲明!

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



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