is it possible to install retro pie on nvidia jetson dev kit
-
i think it would be nice plus the tegra k1 is really powerful and the kepler gpu would enhance the graphics
-
I second this. I have a Jetson TK1 and after trying to install RetroPie using the install script,
I hit this roadblock:model name : ARMv7 Processor rev 3 (v7l)
Features : swp half thumb fastmult vfp edsp neon vfp v3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc0f
CPU revision : 3Hardware : jetson-tk1
Revision : 0000
Serial : 0177000042440000
Processor : ARMv7 Processor rev 3 (v7l)root@tegra-ubuntu:/usr/src/RetroPie-Setup# ./retropie_setup .sh
Unknown platform - please manually set the __platform varia ble to one of the following: armv7-mali generic-x11 imx6 od roid-c1 rpi1 rpi2 rpi3 rpi3-64 x86
root@tegra-ubuntu:/usr/src/RetroPie-Setup#The Jetson TK1 would be a perfect upgrade from a Raspberry Pi with it's GPU/CPU combo. What would it take to get the RetroPie setup script to recognize the the board and enable the specific build flags needed to really make this combo shine?
-
After hacking on the RetroPie scripts I think I have come up with a solution. I currently have RetroPie compiling on a Jetson TK1. If this completes I'll submit a PR with the changes needed for Jetson.
-
You can try "sudo __platform=generic-x11 retropie_setup.sh". Nvidia jetson supports full OpenGL?!
-
After runing overnight, this is where the build script dies. I'll work on it some more after work today, but it's looking promising. :)
INSTALL libavutil/version.h
INSTALL libavutil/xtea.h
INSTALL libavutil/tea.h
INSTALL libavutil/avconfig.h
INSTALL libavutil/ffversion.h
INSTALL libavutil/libavutil.pc
make: Entering directory/usr/src/RetroPie-Setup/tmp/build/lr-ppsspp/libretro' rm -f ../native/ext/rg_etc1/rg_etc1.o ../ext/snappy/snappy-c.o ../native/ext/vjson/json.o ../ext/snappy/snappy.o ../native/ext/cityhash/city.o ../Common/ChunkFile.o ../Common/ConsoleListener.o ../Common/Crypto/md5.o ../Common/Crypto/sha1.o ../Common/Crypto/sha256.o ../Common/FileUtil.o ../Common/KeyMap.o ../Common/LogManager.o ../Common/MemArena.o ../Common/MemoryUtil.o ../Common/Misc.o ../Common/MsgHandler.o ../Common/StringUtils.o ../ext/xbrz/xbrz.o ../Common/ThreadPools.o ../Common/Timer.o ../GPU/Common/VertexDecoderCommon.o ../GPU/Common/DrawEngineCommon.o ../GPU/Common/SplineCommon.o ../GPU/Common/FramebufferCommon.o ../GPU/Common/DepalettizeShaderCommon.o ../GPU/Common/TransformCommon.o ../GPU/Common/IndexGenerator.o ../GPU/Common/TextureDecoder.o ../GPU/Common/PostShader.o ../Common/ColorConv.o ../GPU/Debugger/Breakpoints.o ../GPU/Debugger/Stepping.o ../GPU/GLES/DepalettizeShader.o ../GPU/GLES/GLES_GPU.o ../GPU/GLES/FragmentShaderGenerator.o ../GPU/GLES/FragmentTestCache.o ../GPU/GLES/TransformPipeline.o ../GPU/GLES/Framebuffer.o ../native/base/backtrace.o ../native/audio/mixer.o ../GPU/GLES/ShaderManager.o ../native/audio/wav_read.o ../native/base/buffer.o ../native/base/colorutil.o ../native/base/display.o ../native/base/error_context.o ../native/base/fastlist_test.o ../native/base/stringutil.o ../GPU/GLES/StateMapping.o ../native/base/timeutil.o ../native/data/compression.o ../GPU/GLES/StencilBuffer.o ../native/ext/vjson/block_allocator.o ../GPU/Common/TextureCacheCommon.o ../GPU/Common/TextureScalerCommon.o ../GPU/GLES/TextureCache.o ../GPU/GLES/TextureScaler.o ../native/file/chunk_file.o ../GPU/Common/SoftwareTransformCommon.o ../native/file/dialog.o ../native/file/easy_file.o ../native/file/fd_util.o ../native/file/file_util.o ../native/file/ini_file.o ../GPU/GLES/VertexShaderGenerator.o ../GPU/GeDisasm.o ../native/file/path.o ../GPU/GPUCommon.o ../GPU/GPU.o ../GPU/GPUState.o ../GPU/Math3D.o ../native/file/zip_read.o ../GPU/Null/NullGpu.o ../GPU/Software/Clipper.o ../GPU/Software/Lighting.o ../GPU/Software/Rasterizer.o ../native/gfx/gl_debug_log.o ../native/gfx/gl_lost_manager.o ../GPU/Software/SoftGpu.o ../native/gfx/texture.o ../native/gfx/texture_atlas.o ../native/gfx/texture_gen.o ../GPU/Software/TransformUnit.o ../native/gfx_es2/draw_buffer.o ../native/gfx_es2/draw_text.o ../native/gfx_es2/fbo.o ../native/gfx_es2/gl_state.o ../native/gfx_es2/gpu_features.o ../native/gfx_es2/glsl_program.o ../native/gfx_es2/vertex_format.o ../native/i18n/i18n.o ../native/image/zim_load.o ../native/image/zim_save.o ../native/image/png_load.o ../native/input/gesture_detector.o ../native/input/input_state.o ../native/math/curves.o ../native/math/expression_parser.o ../native/math/lin/plane.o ../native/math/lin/quat.o ../native/math/lin/vec3.o ../native/math/lin/matrix4x4.o ../native/math/math_util.o ../native/net/http_client.o ../native/net/resolve.o ../native/net/url.o ../native/profiler/profiler.o ../native/thin3d/thin3d.o ../native/thin3d/thin3d_gl.o ../native/thread/prioritizedworkqueue.o ../native/thread/threadutil.o ../native/ui/screen.o ../native/thread/threadpool.o ../native/ui/ui.o ../native/ui/ui_context.o ../native/ui/ui_screen.o ../native/ui/view.o ../native/ui/viewgroup.o ../native/ui/virtual_input.o ../native/util/bits/bits.o ../native/util/bits/varint.o ../native/util/hash/hash.o ../native/util/random/perlin.o ../native/util/text/utf8.o ../native/util/text/parsers.o ../native/ext/jpge/jpgd.o ../native/ext/jpge/jpge.o ../Core/Config.o ../Core/Core.o ../Core/FileLoaders/HTTPFileLoader.o ../Core/FileLoaders/CachingFileLoader.o ../Core/FileLoaders/DiskCachingFileLoader.o ../Core/FileLoaders/RetryingFileLoader.o ../Core/FileLoaders/LocalFileLoader.o ../Core/CoreTiming.o ../Core/CwCheat.o ../Core/HDRemaster.o ../Core/Debugger/Breakpoints.o ../Core/Debugger/SymbolMap.o ../Core/Debugger/DisassemblyManager.o ../Core/Dialog/PSPDialog.o ../Core/Dialog/PSPGamedataInstallDialog.o ../Core/Dialog/PSPMsgDialog.o ../Core/Dialog/PSPNetconfDialog.o ../Core/Dialog/PSPOskDialog.o ../Core/Dialog/PSPPlaceholderDialog.o ../Core/Dialog/PSPSaveDialog.o ../Core/Dialog/PSPScreenshotDialog.o ../Core/Dialog/SavedataParam.o ../Core/ELF/ElfReader.o ../Core/ELF/PBPReader.o ../Core/ELF/PrxDecrypter.o ../Core/ELF/ParamSFO.o ../Core/FileSystems/tlzrc.o ../Core/FileSystems/BlockDevices.o ../Core/FileSystems/DirectoryFileSystem.o ../Core/FileSystems/FileSystem.o ../Core/FileSystems/ISOFileSystem.o ../Core/FileSystems/MetaFileSystem.o ../Core/FileSystems/VirtualDiscFileSystem.o ../Core/Font/PGF.o ../Core/HLE/HLE.o ../Core/HLE/sceSha256.o ../Core/HLE/sceG729.o ../Core/HLE/sceSfmt19937.o ../Core/HLE/ReplaceTables.o ../Core/HLE/HLEHelperThread.o ../Core/HLE/HLETables.o ../Core/HLE/sceAdler.o ../Core/HLE/sceAtrac.o ../Core/HLE/sceAudio.o ../Core/HLE/sceAudiocodec.o ../Core/HLE/sceAudioRouting.o ../Core/HLE/sceCcc.o ../Core/HLE/sceChnnlsv.o ../Core/HLE/sceCtrl.o ../Core/HLE/sceDeflt.o ../Core/HLE/sceDisplay.o ../Core/HLE/sceDmac.o ../Core/HLE/sceGameUpdate.o ../Core/HLE/sceGe.o ../Core/HLE/sceFont.o ../Core/HLE/sceHeap.o ../Core/HLE/sceHprm.o ../Core/HLE/sceHttp.o ../Core/HLE/sceImpose.o ../Core/HLE/sceIo.o ../Core/HLE/sceJpeg.o ../Core/HLE/sceKernel.o ../Core/HLE/sceKernelAlarm.o ../Core/HLE/sceKernelEventFlag.o ../Core/HLE/sceKernelInterrupt.o ../Core/HLE/sceKernelMbx.o ../Core/HLE/sceKernelMemory.o ../Core/HLE/sceKernelModule.o ../Core/HLE/sceKernelMsgPipe.o ../Core/HLE/sceKernelMutex.o ../Core/HLE/sceKernelSemaphore.o ../Core/HLE/sceKernelThread.o ../Core/HLE/sceKernelTime.o ../Core/HLE/sceKernelVTimer.o ../Core/HLE/sceMpeg.o ../Core/HLE/sceNet.o ../Core/HLE/sceNetAdhoc.o ../Core/HLE/proAdhocServer.o ../Core/HLE/proAdhoc.o ../Core/HLE/sceOpenPSID.o ../Core/HLE/sceP3da.o ../Core/HLE/sceMt19937.o ../Core/HLE/sceMd5.o ../Core/HLE/sceMp4.o ../Core/HLE/sceMp3.o ../Core/HLE/sceParseHttp.o ../Core/HLE/sceParseUri.o ../Core/HLE/scePower.o ../Core/HLE/scePsmf.o ../Core/HLE/sceRtc.o ../Core/HLE/sceSas.o ../Core/HLE/sceSsl.o ../Core/HLE/sceUmd.o ../Core/HLE/sceUsb.o ../Core/HLE/sceUtility.o ../Core/HLE/sceVaudio.o ../Core/HLE/scePspNpDrm_user.o ../Core/HLE/sceNp.o ../Core/HLE/scePauth.o ../Core/HLE/sceUsbGps.o ../Core/HW/SimpleAudioDec.o ../Core/HW/AsyncIOManager.o ../Core/HW/MediaEngine.o ../Core/HW/MpegDemux.o ../Core/HW/MemoryStick.o ../Core/HW/SasAudio.o ../Core/Host.o ../Core/Loaders.o ../Core/MIPS/JitCommon/JitCommon.o ../Core/MIPS/JitCommon/JitState.o ../Core/MIPS/JitCommon/JitBlockCache.o ../Core/MIPS/MIPS.o ../Core/MIPS/MIPSAnalyst.o ../Core/MIPS/MIPSCodeUtils.o ../Core/MIPS/MIPSDebugInterface.o ../Core/MIPS/MIPSDis.o ../Core/MIPS/MIPSDisVFPU.o ../Core/MIPS/MIPSInt.o ../Core/MIPS/MIPSIntVFPU.o ../Core/MIPS/MIPSStackWalk.o ../Core/MIPS/MIPSTables.o ../Core/MIPS/MIPSVFPUUtils.o ../Core/MemMap.o ../Core/MemMapFunctions.o ../Core/PSPLoaders.o ../Core/Reporting.o ../Core/SaveState.o ../Core/Screenshot.o ../Core/System.o ../Core/Util/GameManager.o ../Core/Util/BlockAllocator.o ../Core/Util/PPGeDraw.o ../Core/Util/ppge_atlas.o ../Core/Util/AudioFormat.o ../libretro/libretro.o ../libretro/libretro_osm.o ../libretro/Core/HLE/StereoResampler.o ../Core/HLE/__sceAudio.o ../Common/x64Analyzer.o ../Common/x64Emitter.o ../Common/ABI.o ../Common/Thunk.o ../Common/CPUDetect.o ../Core/MIPS/x86/CompReplace.o ../Core/MIPS/x86/CompBranch.o ../Core/MIPS/x86/Asm.o ../Core/MIPS/x86/CompALU.o ../Core/MIPS/x86/CompVFPU.o ../Core/MIPS/x86/CompLoadStore.o ../Core/MIPS/x86/CompFPU.o ../Core/MIPS/x86/Jit.o ../Core/MIPS/x86/JitSafeMem.o ../Core/MIPS/x86/RegCache.o ../Core/MIPS/x86/RegCacheFPU.o ../GPU/Common/VertexDecoderX86.o ../libretro/ext/glew/glew.o ../native/ext/stb_vorbis/stb_vorbis.o ../native/ext/libpng17/png.o ../ext/sfmt19937/SFMT.o ../native/ext/libpng17/pngerror.o ../native/ext/libpng17/pngget.o ../native/ext/libzip/zip_name_locate.o ../native/ext/libpng17/pngmem.o ../native/ext/libpng17/pngpread.o ../native/ext/libpng17/pngread.o ../native/ext/libzip/mkstemp.o ../native/ext/libzip/zip_add.o ../ext/libkirk/AES.o ../native/ext/libzip/zip_add_dir.o ../native/ext/libzip/zip_close.o ../ext/libkirk/amctrl.o ../native/ext/libpng17/pngrio.o ../native/ext/libpng17/pngrtran.o ../native/ext/libzip/zip_delete.o ../native/ext/libzip/zip_dirent.o ../ext/libkirk/SHA1.o ../native/ext/libzip/zip_entry_free.o ../native/ext/libzip/zip_entry_new.o ../native/ext/libzip/zip_err_str.o ../native/ext/libzip/zip_error.o ../native/ext/libzip/zip_error_clear.o ../native/ext/libzip/zip_error_get.o ../ext/libkirk/bn.o ../native/ext/libzip/zip_error_get_sys_type.o ../native/ext/libzip/zip_error_strerror.o ../ext/libkirk/ec.o ../native/ext/libzip/zip_error_to_str.o ../native/ext/libzip/zip_fclose.o ../native/ext/libzip/zip_file_error_clear.o ../ext/libkirk/kirk_engine.o ../native/ext/libzip/zip_file_error_get.o ../native/ext/libzip/zip_file_get_offset.o ../native/ext/libzip/zip_file_strerror.o ../native/ext/libzip/zip_filerange_crc.o ../native/ext/libzip/zip_fopen.o ../native/ext/libzip/zip_fopen_index.o ../native/ext/libzip/zip_fread.o ../native/ext/libzip/zip_free.o ../native/ext/libzip/zip_get_archive_comment.o ../native/ext/libzip/zip_get_archive_flag.o ../native/ext/libpng17/pngrutil.o ../native/ext/libzip/zip_get_file_comment.o ../native/ext/libpng17/pngset.o ../native/ext/libzip/zip_get_name.o ../native/ext/libzip/zip_get_num_files.o ../native/ext/libzip/zip_memdup.o ../native/ext/libzip/zip_new.o ../native/ext/libzip/zip_open.o ../native/ext/libzip/zip_rename.o ../native/ext/libpng17/pngtest.o ../native/ext/libzip/zip_replace.o ../ext/xxhash.o ../native/ext/libzip/zip_set_archive_comment.o ../native/ext/libzip/zip_set_archive_flag.o ../native/ext/libzip/zip_set_file_comment.o ../native/ext/libzip/zip_set_name.o ../native/ext/libzip/zip_source_buffer.o ../native/ext/libzip/zip_source_file.o ../native/ext/libzip/zip_source_filep.o ../native/ext/libpng17/pngtrans.o ../native/ext/libzip/zip_source_free.o ../native/ext/libzip/zip_source_function.o ../native/ext/libzip/zip_source_zip.o ../native/ext/libzip/zip_stat.o ../native/ext/libzip/zip_stat_index.o ../native/ext/libpng17/pngwio.o ../native/ext/libzip/zip_stat_init.o ../native/ext/libpng17/pngwrite.o ../native/ext/libzip/zip_strerror.o ../native/ext/libzip/zip_unchange.o ../native/ext/libzip/zip_unchange_all.o ../native/ext/libpng17/pngwtran.o ../native/ext/libzip/zip_unchange_archive.o ../native/ext/libzip/zip_unchange_data.o ../native/ext/libpng17/pngwutil.o ../native/gfx_es2/gl3stub.o ../native/math/fast/fast_math.o ../native/math/fast/fast_matrix.o ../native/math/fast/fast_matrix_sse.o ../ext/udis86/decode.o ../ext/udis86/itab.o ../ext/udis86/syn-att.o ../ext/udis86/syn-intel.o ../ext/udis86/syn.o ../ext/udis86/udis86.o ppsspp_libretro.so make: Leaving directory
/usr/src/RetroPie-Setup/tmp/build/lr-ppsspp/libretro'
make: Entering directory/usr/src/RetroPie-Setup/tmp/build/lr-ppsspp/libretro' g++ -O3 -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard -funsafe-math-optimizations -pipe -std=c++11 -O3 -DNDEBUG -D__LIBRETRO__ -DINLINE="inline" -DPPSSPP -DUSE_FFMPEG -DBAKE_IN_GIT -DPROFILE_THIS_SCOPE\(x\) -I. -I.. -I../Common -I../libretro -I../ext/snappy -I../native/ext/rg_etc1 -I../native/ext/stb_vorbis -I../ffmpeg/linux/armv7l/include -I../ext/cityhash -I../ext/armips -I../native/ext/libzip -I../native/ext -I../native -I../ext/libkirk -I../ext/xbrz -I../ext/xxhash -I../libretro/ext/glew -fPIC -msse -msse2 -D_M_IX86 -m32 -D_ARCH_32 -DHAVE_OPENGL -DDYNAREC -c ../native/ext/rg_etc1/rg_etc1.cpp -o ../native/ext/rg_etc1/rg_etc1.o g++: error: unrecognized command line option ‘-msse’ g++: error: unrecognized command line option ‘-msse2’ g++: error: unrecognized command line option ‘-m32’ make: *** [../native/ext/rg_etc1/rg_etc1.o] Error 1 make: Leaving directory
/usr/src/RetroPie-Setup/tmp/build/lr-ppsspp/libretro'
/usr/src/RetroPie-Setup
Could not successfully build PlayStation Portable emu - PPSSPP port for libretro (/usr/src/RetroPie-Setup/tmp/build/lr-ppsspp/libretro/ppsspp_libretro.so not found).
root@tegra-ubuntu:/usr/src/RetroPie-Setup# -
@gizmo98 It can but I think it prefers GLES.
http://elinux.org/Jetson/Tutorials/OpenGL
http://elinux.org/Jetson_TK1
https://en.wikipedia.org/wiki/Kepler_(microarchitecture) -
For the record, I hacked scriptmodules/system.sh to include:
function get_platform() { local architecture=$(uname --machine) if [[ -z "$__platform" ]]; then case $(sed -n '/^Hardware/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo) in jetson-tk1) __platform="jetson-tk1" ;; BCM2708) __platform="rpi1" ;; BCM2709) local revision=$(sed -n '/^Revision/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo) if [[ "$revision" == "a02082" || "$revision" == "a22082" ]]; then if [[ "$architecture" == "aarch64" ]]; then __platform="rpi3-64" else __platform="rpi3" fi else __platform="rpi2" fi ;; ODROIDC) __platform="odroid-c1" ;; "Freescale i.MX6 Quad/DualLite (Device Tree)") __platform="imx6" ;; *) case $architecture in i686|x86_64|amd64) __platform="x86" ;; esac ;; esac fi if ! fnExists "platform_${__platform}"; then fatalError "Unknown platform - please manually set the __platform variable to one of the following: $(compgen -A function platform_ | cut -b10- | paste -s -d' ')" fi platform_${__platform} } function platform_jetson-tk1() { __default_cflags="-O3 -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard -funsafe-math-optimizations" __default_asflags="" __default_makeflags="-j$(nproc)" __platform_flags="arm armv7 neon tegra gles" __has_binaries=0 }
and emulators/retroarch.sh:
function build_retroarch() { local params=(--enable-sdl2) ! isPlatform "x11" && params+=(--disable-x11 --enable-gles --disable-ffmpeg --disable-sdl --enable-sdl2 --disable-oss --disable-pulse --disable-al --disable-jack) isPlatform "rpi" && params+=(--enable-dispmanx) isPlatform "mali" && params+=(--enable-mali_fbdev) isPlatform "arm" && params+=(--enable-floathard) isPlatform "neon" && params+=(--enable-neon) isPlatform "gles" && params+=(--enable-gles) ./configure --prefix="$md_inst" "${params[@]}" make clean make md_ret_require="$md_build/retroarch" }
I'm close, but I just don't have time to work on this until tonight :)
-
I've been working on it and I think I have a mostly working solution! I'm having a bit of trouble with joystick configuration, but after reading last night before bed, it seems like it was just a configuration error on my part. As soon as I have it working smoothly, I'll post a write up on how to do it. :) So far the basic tests I've seen have all ran really well and this is looking like it's going to be a great combination of hardware and software.
Hopefully this weekend I'll have time to do a formal write up of my findings and get a PR submitted upstream for everyone to enjoy.
-
@Ponyo hi, did you continue your project?
-
Reviving a dead topic lol.
I have a TK1 as well and I can't find any/much information on this other than this post. I recently install retopie with the generic-x11 parameter set, but I run into the following error:
lvl0: Error initializing SDL!
No available video device
lvl0: Renderer failed to initialize!
lvl0: Window failed to initialize!During the build, I got the following errors upon completion:
could not build mpupen64plus
mupen64plus-core/projects/unix/libmupen64plus.so.2.0.0 not foundcould not build lr-imame4all
/home/ubuntu/retropie-setup/tmp/build/lr-imam4all/mame2000_liberetro.so not foundcould not build lr-snes9x2002. arm optimized snex9x 1.39 port for libretro
/home/ubuntu/retropie-setup/tmp/build/lr-snes0x2002/snes0x202_libretro.so not foundcould not install package fbi omxplayer
please see
/home/ubuntu/retropie-setup/logs/rps_2017_04_16_192617.log.gz for more in depth information regarding the errors*I guess the next thing to try is the above .sh modifications?
@Ponyo Could you please post your mostly working solution? If I could just see signs of life, I'd be much happier lol.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.