{"id":44423268,"url":"https://github.com/mmozeiko/build-mesa","last_synced_at":"2026-02-12T10:11:14.514Z","repository":{"id":146935086,"uuid":"438526160","full_name":"mmozeiko/build-mesa","owner":"mmozeiko","description":"Automatic build of mesa3d for Windows","archived":false,"fork":false,"pushed_at":"2026-02-07T01:07:21.000Z","size":60,"stargazers_count":107,"open_issues_count":1,"forks_count":30,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-02-07T11:38:49.123Z","etag":null,"topics":["mesa3d","opengl","software-rendering"],"latest_commit_sha":null,"homepage":"","language":"Batchfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mmozeiko.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2021-12-15T06:52:10.000Z","updated_at":"2026-02-07T00:46:12.000Z","dependencies_parsed_at":"2024-03-14T16:28:18.452Z","dependency_job_id":"463f8ea9-250f-45d9-99c7-2bcd77385eb9","html_url":"https://github.com/mmozeiko/build-mesa","commit_stats":null,"previous_names":[],"tags_count":76,"template":false,"template_full_name":null,"purl":"pkg:github/mmozeiko/build-mesa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmozeiko%2Fbuild-mesa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmozeiko%2Fbuild-mesa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmozeiko%2Fbuild-mesa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmozeiko%2Fbuild-mesa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mmozeiko","download_url":"https://codeload.github.com/mmozeiko/build-mesa/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmozeiko%2Fbuild-mesa/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29363010,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["mesa3d","opengl","software-rendering"],"created_at":"2026-02-12T10:11:13.925Z","updated_at":"2026-02-12T10:11:14.508Z","avatar_url":"https://github.com/mmozeiko.png","language":"Batchfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mesa builds\n\nAutomatic builds of [mesa][] OpenGL \u0026 Vulkan implementations for Windows (x86, x64, arm64).\n\nBuilds are **static** linked to their dependencies, just place necessary dll file(s) next to your exe.\n\n# Download\n\nBinaries available as 7z archive in [latest release][] page. Following builds are provided:\n\n* [llvmpipe][] - software implementation of OpenGL using [LLVM][]\n* [d3d12][] - [Collabora \u0026 Microsoft][collabora-d3d12] implementation of OpenGL using D3D12\n* [zink][] - [Collabora][collabora-zink] implementation of OpenGL using Vulkan\n* [lavapipe][] - software implementation of Vulkan using [LLVM][]\n* dzn - Microsoft implementation of Vulkan using D3D12\n* [mft][] -  hardware accelerated video encoders for AVC, HEVC and AV1 using D3D12\n\n# Using OpenGL\n\nAll OpenGL implementations (llvmpipe, d3d12, zink) come in two flavors:\n\n* `opengl32.dll` file - use [WGL][] to create GL context\n* `libEGL.dll` file - use [EGL][] to create GL context\n\nBoth options support creating context for full [OpenGL][GL] (core and compatibility), and [OpenGL ES][GLES] v1/2/3.\n\nCore context for OpenGL on WGL can be created as usual, with [WGL_ARB_create_context][] extension.\n\nTo create OpenGL ES context on WGL use [WGL_EXT_create_context_es2_profile][] extension. \n\nLatest EGL, WGL, OpenGL and OpenGL ES headers can be downloaded from their registries on khronos website:\n\n* https://registry.khronos.org/EGL/\n* https://registry.khronos.org/OpenGL/index_gl.php#headers\n* https://registry.khronos.org/OpenGL/index_es.php#headers\n\n# Using EGL\n\nWhen using `libEGL.dll` you should query GL and GLES entry points dynamically with [eglGetProcAddress][] function.\n\nWith EGL you can also access GLES functions from `libGLESv1_CM.dll` or `libGLESv2.dll` files (by linking to .lib or\ndynamic loading at runtime) - but this is optional. When using [eglGetProcAddress][] these dll files are not needed\nat all, only `libEGL.dll` is necessary.\n\nBe careful **NOT** to link with `opengl32.dll` file when using EGL - in such case GL calls won't work or simply crash!\n\nWith EGL you can use [EGL_MESA_platform_surfaceless][] extension with [eglGetPlatformDisplay][] function to create\noffscreen context without dependency on any windowing system.\n\n# Using lavapipe/dzn for Vulkan\n\nTo use Vulkan implementations, set [VK_DRIVER_FILES][] env variable to `dzn_icd.x86_64.json` or `lvp_icd.x86_64.json`\n\n# Using MFT video encoders\n\nTo use MFT encoders use `regsvr32.exe` on binaries to register encoders globally in the system, then they will be\navailable using regular MFT encoder enumeration. Alternatively use [DllGetClassObject][] export from dll files to\ncreate [IClassFactory][] object that provides [IClassFactory::CreateInstance][] method to create MFT encoder COM\nobject explicitly. For CLSID guids for encoders see [this file][mft-guids].\n\n# Building locally\n\nFirst make sure you have installed all necessary depenendencies:\n\n* [Python][] - with [pip][] for installing `meson`, `packaging`, `mako` and `yaml` packages if they are missing\n* [Visual Studio 2022][] (or 2026) - with [Desktop development with C++][workload] workload installed\n* [7-Zip][] - either full installer, or just `7za.exe` file from \"7-Zip Extra\" archive\n* [CMake][]\n* [Git][]\n* [ninja.exe][] - will be automatically downloaded if missing\n* `tar.exe` and `curl.exe` - nowadays comes with [Windows 10/11][curl.exe]\n\nThen run `build.cmd` batch file when these tools are installed. It accepts optional argument specifying architecture:\n\n* `build.cmd x86` - for 32-bit Windows\n* `build.cmd x64` - for 64-bit Windows\n* `build.cmd arm64` - for Windows on ARM64, for example to use on Qualcomm Snapdragon X Elite devices\n\nOutput files will be placed in `mesa-[name]-[arch]` folders.\n\n[mesa]: https://www.mesa3d.org/\n[LLVM]: https://llvm.org/\n[llvmpipe]: https://docs.mesa3d.org/drivers/llvmpipe.html\n[lavapipe]: https://vulkan.org/user/pages/09.events/vulkanised-2025/T5-Lucas-Fryzek-Igalia.pdf\n[d3d12]: https://docs.mesa3d.org/drivers/d3d12.html\n[zink]: https://docs.mesa3d.org/drivers/zink.html\n[collabora-d3d12]: https://www.collabora.com/news-and-blog/news-and-events/introducing-opencl-and-opengl-on-directx.html\n[collabora-zink]: https://www.collabora.com/news-and-blog/blog/2018/10/31/introducing-zink-opengl-implementation-vulkan/\n[latest release]: https://github.com/mmozeiko/build-mesa/releases/latest\n[WGL]: https://learn.microsoft.com/en-us/windows/win32/opengl/wgl-functions\n[EGL]: https://www.khronos.org/egl\n[GL]: https://www.khronos.org/opengl/\n[GLES]: https://www.khronos.org/opengles/\n[eglGetProcAddress]: https://registry.khronos.org/EGL/sdk/docs/man/html/eglGetProcAddress.xhtml\n[WGL_EXT_create_context_es2_profile]: https://registry.khronos.org/OpenGL/extensions/EXT/WGL_EXT_create_context_es2_profile.txt\n[WGL_ARB_create_context]: https://registry.khronos.org/OpenGL/extensions/ARB/WGL_ARB_create_context.txt\n[EGL_MESA_platform_surfaceless]: https://registry.khronos.org/EGL/extensions/MESA/EGL_MESA_platform_surfaceless.txt\n[eglGetPlatformDisplay]: https://registry.khronos.org/EGL/sdk/docs/man/html/eglGetPlatformDisplay.xhtml\n[VK_DRIVER_FILES]: https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderDriverInterface.md#driver-discovery\n[Python]: https://www.python.org/downloads/\n[pip]: https://packaging.python.org/en/latest/tutorials/installing-packages/#ensure-you-can-run-pip-from-the-command-line\n[Visual Studio 2022]: https://visualstudio.microsoft.com/downloads/\n[workload]: https://learn.microsoft.com/en-us/cpp/build/vscpp-step-0-installation?view=msvc-170#step-4---choose-workloads\n[CMake]: https://cmake.org/download/\n[7-Zip]: https://www.7-zip.org/\n[Git]: https://git-scm.com/downloads/win\n[curl.exe]: https://techcommunity.microsoft.com/blog/containers/tar-and-curl-come-to-windows/382409\n[ninja.exe]: https://ninja-build.org/\n[mft]: https://learn.microsoft.com/en-us/windows/win32/medfound/media-foundation-transforms\n[DllGetClassObject]: https://learn.microsoft.com/en-us/windows/win32/api/combaseapi/nf-combaseapi-dllgetclassobject\n[IClassFactory]: https://learn.microsoft.com/en-us/windows/win32/api/unknwn/nn-unknwn-iclassfactory\n[IClassFactory::CreateInstance]: https://learn.microsoft.com/en-us/windows/win32/api/unknwn/nf-unknwn-iclassfactory-createinstance\n[mft-guids]: https://gitlab.freedesktop.org/mesa/mesa/-/blob/mesa-25.3.0/src/gallium/targets/mediafoundation/dllmain.cpp?ref_type=tags#L35-45\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmozeiko%2Fbuild-mesa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmmozeiko%2Fbuild-mesa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmozeiko%2Fbuild-mesa/lists"}