Garry's Mod Wiki

Revision Difference

HTML_Web_Engine#568216

<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. 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.⤶ ## Known bugs⤶ This category will be updated as soon as possible; if you wish to view bug reports regarding the Chromium version, you can visit [GitHub](https://github.com/Facepunch/garrysmod-issues/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22Dependency%3A%20CEF%22).⤶ ⤶ ⤶ | ID | Title |⤶ |:-----|:-------|⤶ | [#6982](https://github.com/Facepunch/garrysmod-issues/issues/6982) | [HTML] Using currentTime in a playing video |⤶ | [#6928](https://github.com/Facepunch/garrysmod-issues/issues/6928) | Menu not showing up on x86 branch, near-instant out of memory error on 32 bit, from Ubuntu fresh install |⤶ | [#6921](https://github.com/Facepunch/garrysmod-issues/issues/6921) | Failed to load main menu - Chromium GPU process crash on fresh install |⤶ | [#6882](https://github.com/Facepunch/garrysmod-issues/issues/6882) | libcef.dll crashing gmod |⤶ | [#6577](https://github.com/Facepunch/garrysmod-issues/issues/6577) | Can't launch the game(Windows 11, first time play, no addon) |⤶ | [#6530](https://github.com/Facepunch/garrysmod-issues/issues/6530) | IME is invisible when typing in DHTML |⤶ | [#6529](https://github.com/Facepunch/garrysmod-issues/issues/6529) | DHTML's text composition system events are broken |⤶ | [#5878](https://github.com/Facepunch/garrysmod-issues/issues/5878) | DHTML Text Form has unexpected behavior |⤶ | [#5644](https://github.com/Facepunch/garrysmod-issues/issues/5644) | Video can't be viewed when embed to website. |⤶ | [#5439](https://github.com/Facepunch/garrysmod-issues/issues/5439) | Garry's Mod x86-64 chromium + 64-bit binaries crash |⤶ | [#5092](https://github.com/Facepunch/garrysmod-issues/issues/5092) | [x86-64] [Linux] Game crash on Steam Linux Runtime |⤶ | [#4930](https://github.com/Facepunch/garrysmod-issues/issues/4930) | CEF click events not firing in vuejs app |⤶ | [#4677](https://github.com/Facepunch/garrysmod-issues/issues/4677) | no ui on x86 version on linux |⤶ | [#4541](https://github.com/Facepunch/garrysmod-issues/issues/4541) | DHTML:IsLoading slowness causes javascript to execute prematurely |⤶ | [#4464](https://github.com/Facepunch/garrysmod-issues/issues/4464) | Linux 64bit Letters are numbers in input boxes |⤶ | [#4414](https://github.com/Facepunch/garrysmod-issues/issues/4414) | Some characters cant be typed by non-qwerty layouts in chromium panels |⤶ | [#3994](https://github.com/Facepunch/garrysmod-issues/issues/3994) | Inconsistent CEF keyboard shortcut implementation on x86-64 branch |⤶ | [#3992](https://github.com/Facepunch/garrysmod-issues/issues/3992) | CEF image color is washed out on macOS |⤶ | [#3543](https://github.com/Facepunch/garrysmod-issues/issues/3543) | chromium javascript sees symbol keyboard keys as 0 in onkeydown and onkeyup |⤶ | [#3542](https://github.com/Facepunch/garrysmod-issues/issues/3542) | chromium OnKeyCodePressed isn't being called anymore |⤶ | [#3148](https://github.com/Facepunch/garrysmod-issues/issues/3148) | no mp4 support in the CEF build used in the Dev branch. |⤶ | [#3119](https://github.com/Facepunch/garrysmod-issues/issues/3119) | Awesomium/In-game-browser HTML5 support |⤶