Skip to content

Instantly share code, notes, and snippets.

@psxdev
Created October 28, 2021 18:34
Show Gist options
  • Save psxdev/209937d0472d359a9eca3d15f9382b2a to your computer and use it in GitHub Desktop.
Save psxdev/209937d0472d359a9eca3d15f9382b2a to your computer and use it in GitHub Desktop.
giving some love to raylib on macos monterey m1 macport with orbisdev toolchain (clang13+binutils 2.36.1) and orbislink loading homebrew self from nfs
% uname -a
Darwin 21.1.0 Darwin Kernel Version 21.1.0: Wed Oct 13 17:33:24 PDT 2021; root:xnu-8019.41.5~1/RELEASE_ARM64_T8101 arm64 arm64 Macmini9,1 Darwin
% pwd
/usr/local/orbisdev/bin
% file *
analyze-build: Python script text executable, ASCII text
bugpoint: Mach-O 64-bit executable arm64
c-index-test: Mach-O 64-bit executable arm64
clang: Mach-O 64-bit executable arm64
clang++: Mach-O 64-bit executable arm64
clang-13: Mach-O 64-bit executable arm64
clang-cl: Mach-O 64-bit executable arm64
clang-cpp: Mach-O 64-bit executable arm64
clang-check: Mach-O 64-bit executable arm64
clang-extdef-mapping: Mach-O 64-bit executable arm64
clang-format: Mach-O 64-bit executable arm64
clang-offload-bundler: Mach-O 64-bit executable arm64
clang-offload-wrapper: Mach-O 64-bit executable arm64
clang-refactor: Mach-O 64-bit executable arm64
clang-rename: Mach-O 64-bit executable arm64
clang-repl: Mach-O 64-bit executable arm64
clang-scan-deps: Mach-O 64-bit executable arm64
debug.sh: ASCII text
diagtool: Mach-O 64-bit executable arm64
dsymutil: Mach-O 64-bit executable arm64
git-clang-format: Python script text executable, ASCII text
gp4gen: Mach-O 64-bit executable arm64
hmaptool: Python script text executable, ASCII text
intercept-build: Python script text executable, ASCII text
klog.bin: DOS executable (COM)
klogdebug.sh: ASCII text
klognet.sh: ASCII text
klogsocat.sh: ASCII text
klogupload.sh: ASCII text
llc: Mach-O 64-bit executable arm64
lli: Mach-O 64-bit executable arm64
llvm-addr2line: Mach-O 64-bit executable arm64
llvm-ar: Mach-O 64-bit executable arm64
llvm-as: Mach-O 64-bit executable arm64
llvm-bcanalyzer: Mach-O 64-bit executable arm64
llvm-bitcode-strip: Mach-O 64-bit executable arm64
llvm-c-test: Mach-O 64-bit executable arm64
llvm-cat: Mach-O 64-bit executable arm64
llvm-cfi-verify: Mach-O 64-bit executable arm64
llvm-config: Mach-O 64-bit executable arm64
llvm-cov: Mach-O 64-bit executable arm64
llvm-cvtres: Mach-O 64-bit executable arm64
llvm-cxxdump: Mach-O 64-bit executable arm64
llvm-cxxfilt: Mach-O 64-bit executable arm64
llvm-cxxmap: Mach-O 64-bit executable arm64
llvm-diff: Mach-O 64-bit executable arm64
llvm-dis: Mach-O 64-bit executable arm64
llvm-dlltool: Mach-O 64-bit executable arm64
llvm-dwarfdump: Mach-O 64-bit executable arm64
llvm-dwp: Mach-O 64-bit executable arm64
llvm-exegesis: Mach-O 64-bit executable arm64
llvm-extract: Mach-O 64-bit executable arm64
llvm-gsymutil: Mach-O 64-bit executable arm64
llvm-ifs: Mach-O 64-bit executable arm64
llvm-install-name-tool: Mach-O 64-bit executable arm64
llvm-jitlink: Mach-O 64-bit executable arm64
llvm-lib: Mach-O 64-bit executable arm64
llvm-libtool-darwin: Mach-O 64-bit executable arm64
llvm-link: Mach-O 64-bit executable arm64
llvm-lipo: Mach-O 64-bit executable arm64
llvm-lto: Mach-O 64-bit executable arm64
llvm-lto2: Mach-O 64-bit executable arm64
llvm-mc: Mach-O 64-bit executable arm64
llvm-mca: Mach-O 64-bit executable arm64
llvm-ml: Mach-O 64-bit executable arm64
llvm-modextract: Mach-O 64-bit executable arm64
llvm-mt: Mach-O 64-bit executable arm64
llvm-nm: Mach-O 64-bit executable arm64
llvm-objcopy: Mach-O 64-bit executable arm64
llvm-objdump: Mach-O 64-bit executable arm64
llvm-opt-report: Mach-O 64-bit executable arm64
llvm-otool: Mach-O 64-bit executable arm64
llvm-pdbutil: Mach-O 64-bit executable arm64
llvm-profdata: Mach-O 64-bit executable arm64
llvm-profgen: Mach-O 64-bit executable arm64
llvm-ranlib: Mach-O 64-bit executable arm64
llvm-rc: Mach-O 64-bit executable arm64
llvm-readelf: Mach-O 64-bit executable arm64
llvm-readobj: Mach-O 64-bit executable arm64
llvm-reduce: Mach-O 64-bit executable arm64
llvm-rtdyld: Mach-O 64-bit executable arm64
llvm-sim: Mach-O 64-bit executable arm64
llvm-size: Mach-O 64-bit executable arm64
llvm-split: Mach-O 64-bit executable arm64
llvm-stress: Mach-O 64-bit executable arm64
llvm-strings: Mach-O 64-bit executable arm64
llvm-strip: Mach-O 64-bit executable arm64
llvm-symbolizer: Mach-O 64-bit executable arm64
llvm-tapi-diff: Mach-O 64-bit executable arm64
llvm-tblgen: Mach-O 64-bit executable arm64
llvm-undname: Mach-O 64-bit executable arm64
llvm-windres: Mach-O 64-bit executable arm64
llvm-xray: Mach-O 64-bit executable arm64
make_fself.py: Python script text executable, ASCII text, with CRLF line terminators
opt: Mach-O 64-bit executable arm64
orbis-addr2line: Mach-O 64-bit executable arm64
orbis-ar: Mach-O 64-bit executable arm64
orbis-as: Mach-O 64-bit executable arm64
orbis-c++filt: Mach-O 64-bit executable arm64
orbis-elf-create: Mach-O 64-bit executable arm64
orbis-elfedit: Mach-O 64-bit executable arm64
orbis-gdb: Mach-O 64-bit executable arm64
orbis-gdb-add-index: POSIX shell script text executable, ASCII text
orbis-gprof: Mach-O 64-bit executable arm64
orbis-ld: Mach-O 64-bit executable arm64
orbis-ld.bfd: Mach-O 64-bit executable arm64
orbis-nm: Mach-O 64-bit executable arm64
orbis-objcopy: Mach-O 64-bit executable arm64
orbis-objdump: Mach-O 64-bit executable arm64
orbis-ranlib: Mach-O 64-bit executable arm64
orbis-readelf: Mach-O 64-bit executable arm64
orbis-size: Mach-O 64-bit executable arm64
orbis-strings: Mach-O 64-bit executable arm64
orbis-strip: Mach-O 64-bit executable arm64
pkgTool: ASCII text
sancov: Mach-O 64-bit executable arm64
sanstats: Mach-O 64-bit executable arm64
scan-build: Perl script text executable
scan-build-py: Python script text executable, ASCII text
scan-view: Python script text executable, ASCII text
set-xcode-analyzer: Python script text executable, ASCII text
split-file: Mach-O 64-bit executable arm64
verify-uselistorder: Mach-O 64-bit executable arm64
% clang -v
clang version 13.0.0 (https://github.com/llvm/llvm-project d7b669b3a30345cfcdb2fde2af6f48aa4b94845d)
Target: x86_64-scei-ps4
Thread model: posix
InstalledDir: /usr/local/orbisdev/bin
% orbis-ld -v
GNU ld (GNU Binutils) 2.36.1
% cd /usr/local/orbisdev/git/raylib_samples/models/gen
% make
clang -std=c11 -O3 -Wall -isysroot /usr/local/orbisdev -I. -Iinclude -I/usr/local/orbisdev/usr/include -I/usr/local/orbisdev/usr/include/c++/v1 -I/usr/local/orbisdev/usr/include/orbis --target=x86_64-scei-ps4 -D__PS4__ -D__ORBIS__ -c -o build/main.c.o source/main.c
orbis-ld /usr/local/orbisdev/usr/lib/crt0.o build/main.c.o -L/usr/local/orbisdev/usr/lib -L. -Llib -T /usr/local/orbisdev/usr/lib/linker.x --dynamic-linker=/libexec/ld-elf.so.1 --gc-sections -z max-page-size=0x4000 -pie --eh-frame-hdr -lkernel_stub -lSceLibcInternal_stub -lunwind -lc++ -lc++abi -lSceSysmodule_stub -lSceSystemService_stub -lSceNet_stub -lSceUserService_stub -lScePigletv2VSH_stub -lSceVideoOut_stub -lSceGnmDriver_stub -lraylib -lorbis -lScePad_stub -lSceAudioOut_stub -lSceIme_stub -lSceNetCtl_stub -o bin/homebrew.elf
% make oelf
orbis-elf-create bin/homebrew.elf bin/homebrew.oelf
% make eboot
python /usr/local/orbisdev/bin/make_fself.py --auth-info 000000000000000000000000001C004000FF000000000080000000000000000000000000000000000000008000400040000000000000008000000000000000080040FFFF000000F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 bin/homebrew.oelf bin/homebrew.self
loading elf file: bin/homebrew.oelf
saving fake signed elf file: bin/homebrew.self
processing segment #00...
processing segment #01...
processing segment #02...
processing segment #08...
done
% make install
Installed!
% klogdebug.sh ORBIS
<118>[ORBIS][INFO]: [RAYLIB4ORBIS] raylib sample for Playstation 4 Retail fucking yeah!!!
<118>[ORBIS][INFO]: debugnet initialized
<118>[ORBIS][INFO]: Copyright (C) 2010,2016 Antonio Jose Ramos Marquez aka bigboss @psxdev
<118>[ORBIS][INFO]: ready to have a lot of fun...
<118>[ORBIS][DEBUG]: [ORBISLINK] initOrbisLinkAppVanillaGl sceSysmoduleLoadModuleInternal(SCE_SYSMODULE_INTERNAL_PAD) return: 0x00000000
<118>[ORBIS][DEBUG]: [ORBISPAD] orbisPadInit sceUserServiceInitialize return 0x 0!
<118>[ORBIS][DEBUG]: [ORBISPAD] orbisPadInit scePadInit return 0
<118>[ORBIS][DEBUG]: [ORBISPAD] orbisPadInit scePadOpen return handle 0x 3050500
<118>[ORBIS][DEBUG]: [ORBISPAD] orbisPadInit liborbispad initialized
<118>[ORBIS][DEBUG]: [ORBISLINK] initOrbisLinkAppVanillaGl liborbisPad initialized
<118>[ORBIS][DEBUG]: [ORBISLINK] loadPigletModules sceKernelLoadStartModule(libScePigletv2VSH.sprx) return id: 63
<118>[ORBIS][DEBUG]: [ORBISLINK] loadPigletModules sceKernelLoadStartModule(libSceShaccVSH.sprx) return id: 64
<118>[ORBIS][DEBUG]: [ORBISLINK] loadModulesGl piglet modules loaded
<118>[ORBIS][DEBUG]: [ORBISLINK] patch_module module base=0x80000000 size=704512
<118>[ORBIS][DEBUG]: [ORBISLINK] patch_module patching module
<118>[ORBIS][DEBUG]: [ORBISLINK] loadModulesGl piglet modules patched
<118>[ORBIS][DEBUG]: [ORBISLINK] initOrbisLinkAppVanillaGl piglet modules patched
<118>[ORBIS][INFO]: Initializing raylib 4.0
<118>[ORBIS][INFO]: DISPLAY: EGL version major:1, minor:4
<118>[ORBIS][INFO]: DISPLAY: eglBindAPI success.
<118>[ORBIS][INFO]: DISPLAY: eglChooseConfig success.
<118>[ORBIS][INFO]: DISPLAY: eglCreateWindowSurface success.
<118>[ORBIS][INFO]: DISPLAY: context create EGL window surface
<118>[ORBIS][INFO]: DISPLAY: eglMakeCurrent success.
<118>[ORBIS][INFO]: GL: Supported extensions count: 37
<118>[ORBIS][INFO]: GL: OpenGL extensions:
<118>[ORBIS][INFO]: GL_OES_texture_npot
<118>[ORBIS][INFO]: GL_EXT_texture_filter_anisotropic
<118>[ORBIS][INFO]: GL_EXT_texture_rg
<118>[ORBIS][INFO]: GL_OES_rgb8_rgba8
<118>[ORBIS][INFO]: GL_OES_depth_texture
<118>[ORBIS][INFO]: GL_OES_depth32
<118>[ORBIS][INFO]: GL_OES_fbo_render_mipmap
<118>[ORBIS][INFO]: GL_EXT_texture_format_BGRA8888
<118>[ORBIS][INFO]: GL_EXT_read_format_bgra
<118>[ORBIS][INFO]: GL_OES_texture_float
<118>[ORBIS][INFO]: GL_OES_texture_half_float
<118>[ORBIS][INFO]: GL_EXT_color_buffer_half_float
<118>[ORBIS][INFO]: GL_OES_texture_float_linear
<118>[ORBIS][INFO]: GL_OES_texture_half_float_linear
<118>[ORBIS][INFO]: GL_OES_vertex_half_float
<118>[ORBIS][INFO]: GL_OES_element_index_uint
<118>[ORBIS][INFO]: GL_EXT_texture_compression_dxt1
<118>[ORBIS][INFO]: GL_EXT_texture_compression_dxt3
<118>[ORBIS][INFO]: GL_EXT_texture_compression_dxt5
<118>[ORBIS][INFO]: GL_EXT_texture_compression_s3tc
<118>[ORBIS][INFO]: GL_EXT_texture_storage
<118>[ORBIS][INFO]: GL_OES_compressed_ETC1_RGB8_texture
<118>[ORBIS][INFO]: GL_OES_standard_derivatives
<118>[ORBIS][INFO]: GL_EXT_shader_texture_lod
<118>[ORBIS][INFO]: GL_ARB_texture_compression_bptc
<118>[ORBIS][INFO]: GL_EXT_texture_compression_latc
<118>[ORBIS][INFO]: GL_EXT_texture_compression_rgtc
<118>[ORBIS][INFO]: GL_OES_texture_stencil8
<118>[ORBIS][INFO]: GL_EXT_color_buffer_float
<118>[ORBIS][INFO]: GL_EXT_debug_marker
<118>[ORBIS][INFO]: GL_EXT_draw_instanced
<118>[ORBIS][INFO]: GL_EXT_instanced_arrays
<118>[ORBIS][INFO]: GL_SCE_piglet_shader_binary
<118>[ORBIS][INFO]: GL_SCE_orbis_canvas_texture
<118>[ORBIS][INFO]: GL_SCE_texture_resource
<118>[ORBIS][INFO]: GL_SCE_commandbuffer_inject
<118>[ORBIS][INFO]: GL_EXT_disjoint_timer_query
<118>[ORBIS][INFO]: GL: OpenGL device information:
<118>[ORBIS][INFO]: > Vendor: Sony Interactive Entertainment Inc.
<118>[ORBIS][INFO]: > Renderer: Piglet
<118>[ORBIS][INFO]: > Version: OpenGL ES 2.0 Piglet
<118>[ORBIS][INFO]: > GLSL: OpenGL ES GLSL ES 2.0
<118>[ORBIS][INFO]: GL: OpenGL capabilities:
<118>[ORBIS][INFO]: GL_MAX_TEXTURE_SIZE: 4096
<118>[ORBIS][INFO]: GL_MAX_CUBE_MAP_TEXTURE_SIZE: 2048
<118>[ORBIS][INFO]: GL_MAX_TEXTURE_IMAGE_UNITS: 16
<118>[ORBIS][INFO]: GL_MAX_VERTEX_ATTRIBS: 16
<118>[ORBIS][INFO]: GL_NUM_COMPRESSED_TEXTURE_FORMATS: 17
<118>[ORBIS][INFO]: GL_COMPRESSED_RGB_S3TC_DXT1_EXT
<118>[ORBIS][INFO]: GL_COMPRESSED_RGBA_S3TC_DXT1_EXT
<118>[ORBIS][INFO]: GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
<118>[ORBIS][INFO]: GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
<118>[ORBIS][INFO]: GL_ETC1_RGB8_OES
<118>[ORBIS][INFO]: GL_COMPRESSED_RGBA_BPTC_UNORM_ARB
<118>[ORBIS][INFO]: GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB
<118>[ORBIS][INFO]: GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB
<118>[ORBIS][INFO]: GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB
<118>[ORBIS][INFO]: GL_COMPRESSED_UNKNOWN
<118>[ORBIS][INFO]: GL_COMPRESSED_UNKNOWN
<118>[ORBIS][INFO]: GL_COMPRESSED_UNKNOWN
<118>[ORBIS][INFO]: GL_COMPRESSED_UNKNOWN
<118>[ORBIS][INFO]: GL_COMPRESSED_RED_RGTC1
<118>[ORBIS][INFO]: GL_COMPRESSED_SIGNED_RED_RGTC1
<118>[ORBIS][INFO]: GL_COMPRESSED_RG_RGTC2
<118>[ORBIS][INFO]: GL_COMPRESSED_SIGNED_RG_RGTC2
<118>[ORBIS][INFO]: GL: VAO extension detected, VAO functions loaded successfully
<118>[ORBIS][INFO]: GL: NPOT textures extension detected, full NPOT textures supported
<118>[ORBIS][INFO]: GL: DXT compressed textures supported
<118>[ORBIS][INFO]: GL: ETC1 compressed textures supported
<118>[ORBIS][INFO]: TEXTURE: [ID 38] Texture loaded successfully (1x1 | R8G8B8A8 | 1 mipmaps)
<118>[ORBIS][INFO]: TEXTURE: [ID 38] Default texture loaded successfully
<118>[ORBIS][INFO]: SHADER: [ID 39] Vertex shader compiled successfully
<118>[ORBIS][INFO]: SHADER: [ID 40] Fragment shader compiled successfully
<118>[ORBIS][INFO]: SHADER: [ID 41] Program shader loaded successfully
<118>[ORBIS][INFO]: SHADER: [ID 41] Default shader loaded successfully
<118>[ORBIS][INFO]: RLGL: Render batch vertex buffers loaded successfully in RAM (CPU)
<118>[ORBIS][INFO]: RLGL: Render batch vertex buffers loaded successfully in VRAM (GPU)
<118>[ORBIS][INFO]: RLGL: Default OpenGL state initialized successfully
<118>[ORBIS][INFO]: TEXTURE: [ID 47] Texture loaded successfully (128x128 | GRAY_ALPHA | 1 mipmaps)
<118>[ORBIS][INFO]: FONT: Default font loaded successfully (224 glyphs)
<118>[ORBIS][INFO]: [RAYLIB4ORBIS] creating image checked
<118>[ORBIS][INFO]: [RAYLIB4ORBIS] creating texture
<118>[ORBIS][INFO]: TEXTURE: [ID 48] Texture loaded successfully (2x2 | R8G8B8A8 | 1 mipmaps)
<118>[ORBIS][INFO]: [RAYLIB4ORBIS] unloading image
<118>[ORBIS][INFO]: [RAYLIB4ORBIS] creating mesh
<118>[ORBIS][INFO]: VAO: [ID 49] Mesh uploaded successfully to VRAM (GPU)
<118>[ORBIS][INFO]: VAO: [ID 54] Mesh uploaded successfully to VRAM (GPU)
<118>[ORBIS][INFO]: VAO: [ID 59] Mesh uploaded successfully to VRAM (GPU)
<118>[ORBIS][INFO]: VAO: [ID 63] Mesh uploaded successfully to VRAM (GPU)
<118>[ORBIS][INFO]: VAO: [ID 67] Mesh uploaded successfully to VRAM (GPU)
<118>[ORBIS][INFO]: VAO: [ID 71] Mesh uploaded successfully to VRAM (GPU)
<118>[ORBIS][INFO]: VAO: [ID 75] Mesh uploaded successfully to VRAM (GPU)
<118>[ORBIS][INFO]: VAO: [ID 79] Mesh uploaded successfully to VRAM (GPU)
<118>[ORBIS][INFO]: TIMER: Target time per frame: 16.667 milliseconds
<118>[ORBIS][DEBUG]: R1 pressed
<118>[ORBIS][DEBUG]: R1 pressed
<118>[ORBIS][DEBUG]: R1 pressed
<118>[ORBIS][DEBUG]: R1 pressed
<118>[ORBIS][DEBUG]: R1 pressed
<118>[ORBIS][DEBUG]: R1 pressed
<118>[ORBIS][DEBUG]: R1 pressed
<118>[ORBIS][DEBUG]: R1 pressed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment