tvOS support (appletvos + appletvsimulator)
- Dominant language
- C++
- Stars
- 20.5k
- Forks
- 2.3k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 90
Description
I have tvOS working on top of `v1.75.0` and would like to know whether you want it upstream before I open a PR.
Branch: https://github.com/tim4724/filament/tree/tvos-v1.75.0 — 6 commits, ~250 added lines across 15 files, no new backend. A work-in-progress game runs on an Apple TV 4K (A10X) at 3840x2160, 60 fps.
What it took: `build.sh -p tvos` plus toolchain and CMake plumbing (Metal forced on, since CocoaTouchGL isn't ported); availability guards and tvOS-prohibited API exclusions in `MetalContext.mm`, `MetalHandles.mm` and `MetalState.mm`; and `backend_test` building and running again on iOS/tvOS, behind `INSTALL_BACKEND_TEST`.
The branch also adds a presubmit `build-tvos` job. Per `CONTRIBUTING.md` that one is yours rather than mine, so I would drop `.github/` from any PR.
Three things I would want your call on:
- Deployment target: the branch floors at tvOS 17.0.
- tvOS in the released XCFrameworks, or build-from-source only?
- `backend_test` on tvOS: opt-in, or wired into presubmit?
Happy to split it. The Metal availability fixes stand alone from the build work.
This issue and the branch were prepared with Claude Code.
Contributor guide
Research direction
Start with the linked tvos-v1.75.0 branch and run build.sh -p tvos; review its toolchain and CMake changes, plus the availability guards in MetalContext.mm, MetalHandles.mm, and MetalState.mm. Check backend_test and INSTALL_BACKEND_TEST, then resolve the deployment target, XCFramework, and presubmit decisions. Done means an agreed scope with documented build, test, and release behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, cpp, github-actions
- Domain
- build-system, ci-cd, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100