{"id":51168367,"url":"https://github.com/webosbrew/webos-bridge-64to32","last_synced_at":"2026-06-26T22:01:34.531Z","repository":{"id":366445154,"uuid":"1253537546","full_name":"webosbrew/webos-bridge-64to32","owner":"webosbrew","description":null,"archived":false,"fork":false,"pushed_at":"2026-06-21T21:42:52.000Z","size":2989,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-21T22:14:14.374Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/webosbrew.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"cscd98","buy_me_a_coffee":"luckyknight"}},"created_at":"2026-05-29T15:08:18.000Z","updated_at":"2026-06-21T21:34:58.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/webosbrew/webos-bridge-64to32","commit_stats":null,"previous_names":["webosbrew/webos-bridge-64to32"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/webosbrew/webos-bridge-64to32","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webosbrew%2Fwebos-bridge-64to32","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webosbrew%2Fwebos-bridge-64to32/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webosbrew%2Fwebos-bridge-64to32/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webosbrew%2Fwebos-bridge-64to32/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webosbrew","download_url":"https://codeload.github.com/webosbrew/webos-bridge-64to32/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webosbrew%2Fwebos-bridge-64to32/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34834415,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-26T02:00:06.560Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-26T22:01:33.001Z","updated_at":"2026-06-26T22:01:34.526Z","avatar_url":"https://github.com/webosbrew.png","language":"C","funding_links":["https://github.com/sponsors/cscd98","https://buymeacoffee.com/luckyknight"],"categories":[],"sub_categories":[],"readme":"## A 64-bit (aarch64) bridge for LG webOS\n\nA custom bridge that allows aarch64 binaries to run on existing LG webOS TVs, while\nstill making use of hardware acceleration from the GPU through shared memory.\n\n### Features:\n\nImplementation of a shared-memory IPC bridge which allows a **64-bit (aarch64)** binary to communicate with\nthe existing **32-bit (armv7a)** EGL (`libEGL.so`) and GLES libraries (`libGLESv2.so`) on webOS.\n\nIn addition, it also forwards surface creation and associated wayland events. This is only necessary because\nthe surface created by wayland cannot be shared between two seperate processes.\n\n(if someone comes up with a workaround for this, PRs will be welcome and we can ditch all the wayland\ncode!)\n\nThe bridge is bundled as an IPK which bundles all required lib64 libraries needed to run wayland/GLES apps.\n\nThis IPK is a prerequisite for other aarch64 apps on webOS. Further libraries required will be considered via PR.\n\n### Minimum supported webOS versions:\n\nIt should be roughly compatible with 2021 (webOS 6) and newer devices. This has been tested on webOS 10 and 11.\n\n### QuickStart:\n\nDownload the latest IPK from https://github.com/webosbrew/webos-bridge-64to32/releases and install it.\n\nRun the IPK from the menu, it should produce a rotating cube if successful.\n\nNow install your aarch64 IPK e.g. RetroArch from https://github.com/webosbrew/RetroArch/releases\n\n---\n\n## Building it\n\n### Prerequisites\n\nIn order to build this project you need two things 1) a armv7a compiler and 2) a aarch64 compiler.\n\nThese are available from:\nhttps://github.com/cscd98/buildroot-nc4/releases/\n\nPass the Makefile CC_32_PATH, CC_64_PATH,\nSYSROOT_64 and SYSROOT_32 that your toolchain uses if required.\n\nThen run:\n\n```\nmake\n```\n\nThis will produce the following 64-bit libs:\n\n```\nout/aarch64/libEGL.so.1\nout/aarch64/libGLESv2.so.2\nout/aarch64/libgles_bridge_core.so\nout/aarch64/libwayland-client.so.0\nout/aarch64/libwayland-egl.so.1\n```\n\nAs well as the following 32-bit binary (deploy to install path in IPK or /media/developer/temp/ on the TV\nfor debugging or as specified in Makefile's PROXY_INSTALL_PATH):\n```\nout/armv7a/gles_proxy\n```\n\n### Using the bridge with your application:\n\nYou will need to use patchelf to change the LD intepreter location\n(ld-linux-aarch64.so.1) as well as the rpath of your binary, so it finds the IPK's loader and libs:\n\n```\npatchelf --set-interpreter /media/developer/apps/usr/palm/applications/org.webosbrew.bridge-64to32/lib/ld-linux-aarch64.so.1 ./yourbinary\npatchelf --add-rpath /media/developer/apps/usr/palm/applications/org.webosbrew.bridge-64to32/lib ./yourbinary\n```\n\nThen after you have created the IPK - run the script in this repo:\n\n```\n./scripts/patch-aarch64-in-ipk.sh \u003cname of IPK\u003e\n```\n\nOr alternatively if using: https://github.com/webosbrew/ares-cli-rs\n\n```\nares-package -A arm \u003cfolder\u003e -o .\n```\n\nThis will generate a IPK that can be installed via webOS dev manager and appear on the menu.\n\n### Libraries Provided in IPK\n\nInspired by webOS 11 this IPK supplies the following libraries normally found in webOS 11 - lib64:\n\n```\nld-linux-aarch64.so.1\nlibBrokenLocale.so.1\nlibanl.so.1\nlibc.so.6\nlibdl.so.2\nlibipset.so.13\nlibipset.so.13.4.0\nlibm.so.6\nlibmnl.so.0\nlibmnl.so.0.2.0\nlibmvec.so.1\nlibnsl.so.1\nlibnss_compat.so.2\nlibnss_dns.so.2\nlibnss_files.so.2\nlibpthread.so.0\nlibresolv.so.2\nlibrt.so.1\nlibutil.so.1\n```\nHowever, they are not available from a jailed environment so we also package these, except for:\n\n```\nlibmnl.so.0 libmnl.so.0.2.0 libipset.so.13.4.0\n```\n\nIt also includes several additional libraries required for running actual aarch64 apps. More can\nsuggested / submitted via PR.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebosbrew%2Fwebos-bridge-64to32","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebosbrew%2Fwebos-bridge-64to32","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebosbrew%2Fwebos-bridge-64to32/lists"}