• 编译运行龙芯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

  • 相关阅读:
    「2019.7.25 考试」偶然发生
    「刷题」可怜与STS
    「刷题」小星星
    「刷题」数三角形
    「刷题」 关于线段上的整点个数
    「刷题」Color 群论
    「2019.7.22 考试」AC和WA0一步之遥
    「刷题」幸运数字
    「刷题」卡特兰数&prufer序列
    「刷题」一个人的数论
  • 原文地址:https://www.cnblogs.com/weilinfox/p/14495445.html
Copyright © 2020-2023  润新知