Skip to content

macOS HWAccel: Phases 1–4 (GL through docs/CI) - #1

Draft
CrymsonDynamo wants to merge 6 commits into
mainfrom
cursor/mac-hwaccel-phase1-d305
Draft

CrymsonDynamo wants to merge 6 commits into
mainfrom
cursor/mac-hwaccel-phase1-d305

Conversation

@CrymsonDynamo

@CrymsonDynamo CrymsonDynamo commented Oct 13, 2026 •

Copy link
Copy Markdown
Owner

Summary

Phases 1–4 of the Mac HWAccel plan in one shared codebase (Linux + macOS via CMake). Phase 5 (Metal) intentionally deferred.

Phase 1 — CMake + GL + shaders

OpenGL 4.5 (Linux) / 4.1+forward (macOS), GLEW, universal GLSL 410, portable exe path.

Phase 2 — Runtime

HiDPI content-scale viewport, portable-file-dialogs, Ctrl/Cmd accelerators.

Phase 3 — Encode

h264_nvenc (Linux) / h264_videotoolbox (macOS) → libx264; UI “Prefer hardware encoder”.

Phase 4 — Packaging & docs

  • README: dual-OS apt/brew, one-codebase note, OpenGL deprecation on Mac, HW accel matrix
  • Optional .app: -DRAMMB_MACOSX_BUNDLE=ON + Resources shader lookup + DragNDrop CPack
  • CI: .github/workflows/build.yml — ubuntu-latest + macos-latest compile matrix

Verification

  • Linux configure + build OK after each phase
  • macOS: CI compile job will be the first automated check; local Retina/VT smoke still recommended

Plan: Project store docs/mac-hwaccel-plan.md

Open in Web Open in Cursor 

cursoragent and others added 2 commits October 13, 2026 20:16
Share one codebase for Linux and macOS: CMake APPLE/Linux branches
(GL version defs, GL_SILENCE_DEPRECATION, Homebrew prefixes, DEB
packaging guarded), platform helpers for GLFW hints / GLEW init /
executable path, and universal GLSL 410 shaders + matching ImGui string.

Co-authored-by: o50899145 <o50899145@gmail.com>
Unify layout/input in logical window space and scale GL
viewport/scissor by content scale for Retina. Replace zenity
call sites with portable-file-dialogs (Linux + macOS). Accept
Control or Super for save/open accelerators.

Co-authored-by: o50899145 <o50899145@gmail.com>
@cursor cursor Bot changed the title Phase 1: macOS OpenGL port — CMake, GL context, GLSL 410 macOS HWAccel: Phase 1 (GL/CMake) + Phase 2 (HiDPI, dialogs, Cmd) Oct 13, 2026
One Exporter::write_mp4 path with platform HW encoder selected by
CMake (h264_nvenc on Linux, h264_videotoolbox on Apple), then
libx264 / generic H.264. Open failures fall through the chain.
UI: "Prefer hardware encoder" instead of NVENC-only wording.

Co-authored-by: o50899145 <o50899145@gmail.com>
@cursor cursor Bot changed the title macOS HWAccel: Phase 1 (GL/CMake) + Phase 2 (HiDPI, dialogs, Cmd) macOS HWAccel: Phases 1–3 (GL, HiDPI/dialogs, encode) Oct 13, 2026
Document one-codebase Linux apt + macOS brew builds, OpenGL
deprecation on Mac, and HW encode backends. Add optional
RAMMB_MACOSX_BUNDLE + DragNDrop CPack, .app Resources shader
lookup, and a GitHub Actions compile job for ubuntu + macos.

Co-authored-by: o50899145 <o50899145@gmail.com>
@cursor cursor Bot changed the title macOS HWAccel: Phases 1–3 (GL, HiDPI/dialogs, encode) macOS HWAccel: Phases 1–4 (GL through docs/CI) Oct 13, 2026
cursoragent and others added 2 commits October 13, 2026 20:48
Upstream pfd still requires CMake < 3.5, which Homebrew CMake
rejects. Populate the header only and point includes at the
source dir. Also set Homebrew PKG_CONFIG_PATH on macOS CI.

Co-authored-by: o50899145 <o50899145@gmail.com>
Use IMPORTED_TARGET + library dirs so Homebrew libav* paths
reach the linker (was -lavcodec with no -L on macos-latest).

Co-authored-by: o50899145 <o50899145@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants