Update: Project Lanai approved – macOS graphics rendering pipeline gets green light
Oracle and JetBrains engineers proposed to collaborate on a macOS-based graphics rendering pipeline to replace the current one, which is based on the now-deprecated OpenGL. The voting is over and the proposal is officially approved.
Update July 25, 2019:
The consensus vote for Project Lanai is now over, and the results are in: 10 votes for yes, 0 for veto and 0 abstainers. No vetoes were raised, so this unanimous decision means that Project Lanai is approved and will continue with Oracle’s Phil Race as its lead.
We will update this article with more information if it becomes available, but for now it’s good news for the macOS Metal-based graphics rendering pipeline.
Find the results in the OpenJDK mailing list here.
Original article July 10, 2019:
Oracle’s Phil Race has proposed the creation of a new OpenJDK project called the Lanai Project to establish a new macOS graphics rendering pipeline. Currently, both OpenJFX and the JDK use OpenGL as the rendering pipeline, however, with the release of macOS Mojave 10.14 in September 2018, Apple deprecated the APIs in the OpenGL and OpenCL frameworks, recommending that users transition to the Metal graphics API instead.
Wrote Race, “if OpenGL is not present on a macOS system, the JDK desktop APIs cannot function and will fail to start. OpenJFX is in a very similar position.” His proposal is to build a Java 2D rendering pipeline based on Metal, which is a simpler API that promises better performance than that of OpenGL. The stated goal is to be “at least as capable, robust and performant, as the current OpenGL pipeline”, with the results serving as the foundation for a Metal pipeline for OpenJFX as well.
The project already has some groundwork laid in the form of proofs of concept and prototyping undertaken by engineers from Oracle and JetBrains. Currently, however, the two teams are working separately. Formalizing the collaboration under the Lanai Project will help them work together to reach their goals. Before they can forge ahead, they must put the proposal up for a vote. Voting closes on Tuesday July 23rd, after which the fate of this proposal will be decided.
Phil Race is lead of Oracle’s Java 2D group and has spent years working on Java 2D APIs. He has also contributed significantly to OpenJFX, as well as the Swing and AWT APIs.