Skip to content

Commit a81bf9a

Browse files
committed
[cef] update documentation
1 parent c10c84b commit a81bf9a

2 files changed

Lines changed: 12 additions & 44 deletions

File tree

documentation/doxygen/Doxyfile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1123,7 +1123,6 @@ EXCLUDE_PATTERNS = */G__* \
11231123
*.xml \
11241124
*.dtd \
11251125
*/graf3d/eve7/glu/* \
1126-
*/gui/cefdisplay/* \
11271126
*/gui/qt6webdisplay/* \
11281127
*/tutorials/visualisation/webgui/qtweb/* \
11291128
*/math/mathcore/src/CDT*

gui/cefdisplay/Readme.md

Lines changed: 12 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,16 @@
44

55
See details about [Chromium Embedded Framework](https://bitbucket.org/chromiumembedded/cef)
66

7-
1. Current code tested with CEF3 branch 6998, Chromium 134 (April 2025)
8-
Some older CEF versions (like 107 or 124) may also be supported.
7+
1. Current code tested with CEF3 branch 778, Chromium 148 (June 2026)
98

109
2. Download binary code from [https://cef-builds.spotifycdn.com/index.html](https://cef-builds.spotifycdn.com/index.html)
1110
and unpack it in directory without spaces and special symbols:
1211

1312
~~~
1413
$ mkdir /d/cef
1514
$ cd /d/cef/
16-
$ wget https://cef-builds.spotifycdn.com/cef_binary_134.3.9%2Bg5dc6f2f%2Bchromium-134.0.6998.178_linux64_minimal.tar.bz2
17-
$ tar xjf cef_binary_134.3.9+g5dc6f2f+chromium-134.0.6998.178_linux64_minimal.tar.bz2
15+
$ wget https://cef-builds.spotifycdn.com/cef_binary_148.0.10%2Bg7ee53f5%2Bchromium-148.0.7778.218_linux64.tar.bz2
16+
$ tar xjf cef_binary_148.0.10+g7ee53f5+chromium-148.0.7778.218_linux64.tar.bz2
1817
~~~
1918

2019

@@ -24,7 +23,7 @@ See details about [Chromium Embedded Framework](https://bitbucket.org/chromiumem
2423
4. Compile CEF to produce `libcef_dll_wrapper`:
2524

2625
~~~
27-
$ cd cef_binary_134.3.9+g5dc6f2f+chromium-134.0.6998.178_linux64_minimal
26+
$ cd xjf cef_binary_148.0.10+g7ee53f5+chromium-148.0.7778.218_linux64
2827
$ mkdir build
2928
$ cd build
3029
$ cmake ..
@@ -34,13 +33,10 @@ See details about [Chromium Embedded Framework](https://bitbucket.org/chromiumem
3433
5. Set CEF_ROOT variable to unpacked directory:
3534

3635
~~~
37-
$ export CEF_ROOT=/d/cef/cef_binary_134.3.9+g5dc6f2f+chromium-134.0.6998.178_linux64_minimal
36+
$ export CEF_ROOT=/d/cef/xjf cef_binary_148.0.10+g7ee53f5+chromium-148.0.7778.218_linux64
3837
~~~
3938

40-
6. When configure ROOT compilation with `cmake -Dwebgui=ON -Dcefweb=ON ...`, CEF_ROOT shell variable should be set appropriately.
41-
During compilation library `$ROOTSYS/lib/libROOTCefDisplay.so` and executable `$ROOTSYS/bin/cef_main`
42-
should be created. Also check that several files like `icudtl.dat`, `v8_context_snapshot_blob.bin`, `snapshot_blob.bin`
43-
copied into ROOT library directory
39+
6. When configure ROOT compilation with `cmake -Dwebgui=ON -Dcefweb=ON ...`, CEF_ROOT shell variable should be set appropriately. During compilation library `$ROOTSYS/lib/libROOTCefDisplay.so` and executable `$ROOTSYS/bin/cef_main` should be created. Also check that several files like `icudtl.dat`, `v8_context_snapshot_blob.bin`, `snapshot_blob.bin` copied into ROOT library directory
4440

4541
7. Run ROOT with `--web=cef` argument to use CEF web display like:
4642

@@ -51,7 +47,7 @@ See details about [Chromium Embedded Framework](https://bitbucket.org/chromiumem
5147

5248
## Compile libcef_dll_wrapper on Windows
5349

54-
1. Download binary win32 build like https://cef-builds.spotifycdn.com/cef_binary_95.7.12%2Bg99c4ac0%2Bchromium-95.0.4638.54_windows32.tar.bz2
50+
1. Download binary win32 build like [win64](https://cef-builds.spotifycdn.com/cef_binary_148.0.10%2Bg7ee53f5%2Bchromium-148.0.7778.218_windows64.tar.bz2)
5551

5652
2. Extract in directory without spaces like `C:\Soft\cef`
5753

@@ -62,45 +58,18 @@ See details about [Chromium Embedded Framework](https://bitbucket.org/chromiumem
6258
$ cd C:\Soft\cef
6359
$ mkdir build
6460
$ cd build
65-
$ cmake -G"Visual Studio 16 2019" -A Win32 -Thost=x64 ..
61+
$ cmake ..
6662
$ cmake --build . --config Release --target libcef_dll_wrapper
6763
~~~
6864

6965
5. Before compiling ROOT, `set CEF_ROOT=C:\Soft\cef` variable
7066

7167

72-
## Using plain CEF in ROOT batch mode on Linux
68+
## Using plain CEF in ROOT batch mode on Linux and Windows
7369

74-
Default CEF builds, provided by [https://cef-builds.spotifycdn.com/index.html](https://cef-builds.spotifycdn.com/index.html), do
75-
not include support of Ozone framework, which the only support headless mode in CEF. To run ROOT in headless (or batch) made with such CEF distribution,
76-
one can use `Xvfb` server. Most simple way is to use `xvfb-run` utility like:
70+
Default CEF builds, provided by [https://cef-builds.spotifycdn.com/index.html](https://cef-builds.spotifycdn.com/index.html), now (June 2026) **INCLUDES!** support of Ozone framework, which allows to run CEF in headless mode on Linux and Windows. So one can run different ROOT macros and tests in batch mode like
7771

7872
~~~
79-
$ xvfb-run --server-args='-screen 0, 1024x768x16' root.exe --web=cef $ROOTSYS/tutorials/experimental/rcanvas/rline.cxx -q
73+
$ cd $ROOTSYS/test
74+
$ ./stressGraphics -b --web=cef
8075
~~~
81-
82-
Or run `Xvfb` before starting ROOT:
83-
84-
~~~
85-
$ Xvfb :99 &
86-
$ export DISPLAY=:99
87-
$ root.exe --web=cef $ROOTSYS/tutorials/experimental/rcanvas/rline.cxx -q
88-
~~~
89-
90-
91-
## Compile CEF with ozone support
92-
93-
Since March 2019 one can compile [CEF without X11](https://bitbucket.org/chromiumembedded/cef/issues/2296/), but such builds not provided.
94-
Therefore to be able to use real headless mode in CEF, one should compile it from sources.
95-
On [CEF build tutorial](https://bitbucket.org/chromiumembedded/cef/wiki/AutomatedBuildSetup.md) one can find complete compilation documentation.
96-
Several Ubuntu distributions are supported by CEF, all others may require extra work. Once all depndencies are installed, CEF with ozone support can be compiled with following commands:
97-
98-
~~~
99-
$ export GN_DEFINES="is_official_build=true use_sysroot=true use_allocator=none symbol_level=1 is_cfi=false use_thin_lto=false use_ozone=true"
100-
$ python automate-git.py --download-dir=/home/user/cef --branch=4638 --minimal-distrib --client-distrib --force-clean --x64-build --build-target=cefsimple
101-
~~~
102-
103-
With little luck one get prepared tarballs in `/home/user/cef/chromium/src/cef/binary_distrib`.
104-
Just install it in the same way as described before in this document.
105-
ROOT will automatically detect that CEF build with `ozone` support and will use it for both interactive and headless modes.
106-

0 commit comments

Comments
 (0)