-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update to CEF 124 / Fix Linux & macOS Compiles / Enable (partial) GPU / Enable WebGL / Decrease Log Severity #3
base: master
Are you sure you want to change the base?
Conversation
…ium-80.0.3987.122", and Updated .gitignore to ignore *all* of /thirdparty/cef3/ as well as /build_x64 and /build_x86
…dFunctions state in render process
…et GPU acceleration to work with GMod CEF at all), WIP making Linux builds work, and some style fixes
- Changed log_severity to LOGSEVERITY_DEFAULT, since VERBOSE spews megabytes of log info - Disabled HardwareMediaKeys in chromium_process (Linux/macOS) as well
… Enabled GPU acceleration but NOT GPU compositing (I don't know why it doesn't work)
- Add winsock2 library to example_host and gmod_launcher, as CEF uses it now - Disabled hopefully unneeded PATH manipulation in gmod_launcher - Updated CEF implementation for changes since 86 - Remove `universal_access_from_file_urls` and `file_access_from_file_urls` CefBrowserSettings as they no longer exist - Updated User Agent string - TODO: Figure out crashing issues with Bind/Closure/CefPostTask changes when not on `/DEBUG /OPT:ICF`
…ocation (Windows only) - Add GMod ICO
- Remove Notification Stub + CefRenderProcessHandler implementation - `enable-gpu` on Linux/macOS
- Add gmod_launcher - Enable GPU, but NOT GPU Compositing - Enable WebGL - Disable Hardware Media Keys control of media - Change Log Severity from VERBOSE to DEFAULT - Fix missing Winsock2 dependency for example_host - Update README for where to get current CEF distributions - Update .gitignore for different build paths
…version 100 (reduce-user-agent)
…'s a blatantly anti-privacy feature - Don't enable HTMLImports anymore; I'm pretty sure we don't need it
- Add really basic log rotation for chromium.log - Configure cache_path so everything is in one place
… instead of trying to write to chromium.log before it's initialized
- Implement OnAlreadyRunningAppRelaunch and Fix -multirun support - Fix rotate log errors
…r Snap on Linux - Remove enable-system-flash; Flash is dead and it doesn't do anything anymore
We're now up to date with the current stable version of CEF again, CEF 124. This update has a couple of important changes coming with it:
|
…r Flatpak/Snap/AppImage (#3) * Add own gmod launcher executable with container detection * Cleanup gmod/Main.c
- Fix Linux gmod_launcher build on (missing -ldl) - Fix Linux gmod_launcher not being output in INSTALL target - Fix Linux gmod_launcher code formatting - Rename CMake project gmod -> gmod_launcher - Rename Windows gmod_launcher.exe output to gmod.exe
Thanks to @Davilarek, Flatpak/Snap/AppImage should actually work now on Linux! 🎉 While we disabled the CEF sandbox in the last update if it detects it's running in a container of some sort, GMod still checks if user_namespaces are available and will refuse to even attempt to load CEF if it thinks we don't. @Davilarek solved this by reverse-engineering the gmod executable on Linux and creating a replacement which simply lies, saying we have namespace support, if it detects the executable is running in a container (with the same check we're using to disable sandboxing). If you wanna review the code for the replacement executable, it's here: |
…per hacky workaround) - Fix key modifiers on Windows - Fix modifer key presses having the wrong windows_key_code on Windows - Add m_LastKeyEvent to ChromiumBrowser so we can correctly detect modifer up/down state changes - Added a stripped-down version of KeycodeConverter from Chromium (which is used for the native_key_code hack)
I figured out why keycodes and modifiers are broken in GMod CEF, and why players keep reporting it "typing the wrong keys!" In GMod, there's https://github.com/Facepunch/gmod-html/blob/master/html/html/IHtmlClient.h#L40-L42 Apparently during initial implementation, there was a misunderstanding for what exactly There's also issues with Test Websitehttps://dvcs.w3.org/hg/d4e/raw-file/tip/key-event-test.html GMod CEF on WindowsGMod CEF on LinuxChromeHow do we fix it?Well! I've written a RIDICULOUS HACK that's mostly able to work around it by working "in reverse," using the Issues still remaining with the workaround:
How does Facepunch PROPERLY fix it?⚠ At its core, this a problem that needs to be fixed in Garry's Mod!
CEF/Chromium handles all the scancode transformation itself, don't worry about trying to do any of that yourself! In IHtmlClient.h:
On Windows:
On Linux:
On macOS:
How does this practically cause issues? Why should I bother?
|
This is a pull request that reflects the internal version of gmod-html that @solsticegamestudios has been maintaining for GModCEFCodecFix.
There are several improvements:
Please consider merging this into the main game so everyone can enjoy these changes!
Please note that this does not include proprietary codecs or other things specific to GModCEFCodecFix's CEF build. That is determined entirely by the CEF build options you choose.
Special thanks to @willox, @osiris-plus, @JohnPeel, and @AkikoKumagara for helping us get CEF working after version 98.