xref: /aosp_15_r20/external/mesa3d/docs/macos.rst (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard WorkerNotes for macOS
2*61046927SAndroid Build Coastguard Worker================
3*61046927SAndroid Build Coastguard Worker
4*61046927SAndroid Build Coastguard WorkerMesa builds on macOS without modifications. However, there are some details to
5*61046927SAndroid Build Coastguard Workerbe aware of.
6*61046927SAndroid Build Coastguard Worker
7*61046927SAndroid Build Coastguard Worker-  Mesa has a number of build-time dependencies. Most dependencies, including
8*61046927SAndroid Build Coastguard Worker   Meson itself, are available in `homebrew <https://brew.sh>`__, which has a
9*61046927SAndroid Build Coastguard Worker   Mesa package for reference. The exception seems to be Mako, a Python module
10*61046927SAndroid Build Coastguard Worker   used for templating, which you can install as ``pip3 install mako``.
11*61046927SAndroid Build Coastguard Worker-  macOS is picky about its build-time environment. Type ``brew sh`` before
12*61046927SAndroid Build Coastguard Worker   building to get the Homebrew dependencies in your path.
13*61046927SAndroid Build Coastguard Worker
14*61046927SAndroid Build Coastguard WorkerMesa's default builds with the Apple GLX uses Mesa as a front for the
15*61046927SAndroid Build Coastguard Workerhardware-accelerated system OpenGL framework, to provide hardware acceleration
16*61046927SAndroid Build Coastguard Workerto X11 applications on macOS running via XQuartz.
17*61046927SAndroid Build Coastguard Worker
18*61046927SAndroid Build Coastguard WorkerMesa's software rasterizers also work on macOS. To build, set the build options
19*61046927SAndroid Build Coastguard Worker``-Dosmesa=true -Dglx=xlib``.
20*61046927SAndroid Build Coastguard Worker
21*61046927SAndroid Build Coastguard WorkerMesa's Gallium drivers can be used on macOS by using the ``-Dgallium-drivers=<drivers>`` build option. Do not use with the previous software rasterizers options, instead add ``swrast`` to the ``<drivers>`` list. Only software renderers and drivers that forward to other APIs can work, any linux hardware drivers will not work. For details on each driver's macOS support see their specific documentation.
22