Garry's Mod Wiki

Revision Difference

HTML_Web_Engine#568212

⤶ <warning>This page is a draft work-in-progress.</warning>⤶ ⤶ <title>Chromium Web Renderer</title>⤶ ⤶ # Description⤶ ⤶ Garry's Mod includes the Chromium Embedded Framework (CEF) web rendering engine. As of 2025 it is **CEF 86** on almost every GMod build, replacing the former **Awesomium** (Chromium 17).⤶ ⤶ The web renderer is used by the Main Menu, <page text="Loading Screen">Loading URL</page>, and the <page>HTML</page> / <page>DHTML</page> panels.⤶ ⤶ <warning>Awesomium is still used on some Linux systems. See [versions](#Versions) below for details. CEF will replace this last remaining Awesomium integration in future.</warning>⤶ ⤶ # Versions⤶ ⤶ Since 2025, GMod is using CEF 86 on all supported platforms and <page text="branches">Dev Branch</page>, except for Linux's `main`/`dev` branches where it still uses Awesomium. ⤶ ⤶ On all MacOS and some Linux systems, GMod crashes on launch. Third-party utility GModPatchTool, which updates CEF to version 137, fixes the launch crash on these platforms.⤶ ⤶ ## By Platform/Branch⤶ ⤶ | Platform [Branch] | Included Web Renderer | Status |⤶ | --- | --- | --- |⤶ | **Windows** (all branches) | **CEF 86** | Stable |⤶ | **Linux** [`main`/`dev`] | **Awesomium** <br/>(Chromium 17) | Crashes on load for many users but works for others. <br/> Will be replaced with CEF when Gmod's 64bit Linux builds reach dev. |⤶ | **Linux** [`x86-64`] | **CEF 86** | Crashes on load. Requires GModPatchTool to run the game, which updates it to **CEF 137**. |⤶ | **MacOS** (only exists in `x86-64` branch) | **CEF 80** | Crashes on load for all users. Requires GModPatchTool to run the game, which updates it to **CEF 137**. |⤶ ⤶ ## By Web Engine⤶ ⤶ | Web Renderer | Used by | |⤶ | --- | --- | --- | --- |⤶ | **Awesomium** (Chromium 17) | **Some Linux** users on `main`/`dev`. | _No Windows users._<br/>_No Mac users._ |⤶ | **CEF 86** | **All Windows** users at a minimum (all branches). | _Likely no Linux users._<br/>_No Mac users._ |⤶ | **CEF 137** | **All MacOS** users need `x86-64`+GModPatchTool to run the game. <br/>**Most Linux** users, via `x86-64`+GModPatchTool. <br/>**Some Windows** users optionally use GModPatchTool, not required to run game. | - |⤶ ⤶ ⤶ # Web development⤶ ⤶ ## Detecting browser⤶ ⤶ Don't base browser support on detecting a specific Chrome version (eg 86) or branch, as this won't be accurate for some users and for future GMod updates.⤶ Check for Awesomium instead. Example:⤶ ```js⤶ var IS_AWESOMIUM = navigator.userAgent.toLowerCase().indexOf("awesomium") != -1; ⤶ ```⤶ If `IS_AWESOMIUM` is true, you can run your legacy fallback code, or show a warning message about how the user needs to be using CEF.⤶ ⤶ If `IS_AWESOMIUM` is false, the user is running at least CEF 86 or any future newer version. You can safely run your more modern code or modern feature detection.⤶ ⤶ ## Supported features⤶ ⤶ CEF 86 is from 2020 and is much more up-to-date than Awesomium (2012), but is still outdated and missing some functionality that is considered baseline today.⤶ ⤶ While developing, use sites such as [Can I Use](https://caniuse.com/) and [MDN Web Docs](https://developer.mozilla.org/search) to search for features/functions. They will list if those features are supported in Chrome 86 (for CEF) or Chrome 17 (for Awesomium), if you need to use a prefixed version or older version of the standard, if there are any bugs to be aware of, etc.