jcefmaven / jcefmaven

Maven artifacts for JCef

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[BUG] Native library do not contain software renderer

HugoBoffin opened this issue · comments

Description

Browser panel doesn't render anything if chromium switches to software rendering(SwANGLE). This happens mostly if the application is started in some kind of Terminal Server / Citrix environment missing GPU acceleration or if the GPU drivers are a bit older.

I did some research and found out that jcefmaven native artifacts are missing the files vk_swiftshader.dll, vk_swiftshader_icd.json and vulkan-1.dll (or their Mac/Linux equivalents) which are mandatory for software rendering. Re-adding them fixes this issue for me.

Is there a special reason why the official CEF packages contains these files but jcefmaven does not?
(https://cef-builds.spotifycdn.com/cef_binary_105.3.36+g88e0038+chromium-105.0.5195.102_windows64.tar.bz2 vs. https://github.com/jcefmaven/jcefmaven/releases/download/105.3.36/jcef-natives-windows-amd64-jcef-0cdd84c+cef-105.3.36+g88e0038+chromium-105.0.5195.102.jar)

To Reproduce

I can reproduce this behaviour by forcing vulkan software or hardware renderer with the startup flags: "--use-gl=angle --use-angle=swiftshader" or "--use-gl=angle --use-angle=vulkan" on my AMD GPU, OSR is disabled. Just opening google.de in a simple JFrame.

See also https://chromium.googlesource.com/chromium/src/+/6b68d1e9b4fec5a7ded58c4ba0fd08078c740c70/docs/gpu/swiftshader.md

Environment

  • OS: Windows
  • Architecture: amd64
  • Version: JCEF with at least Chromium 100 onwards
commented

For some reason swiftshader got lost in jcef when updating to chromium 105. I might be able to add the libraries back once I have time for it. Most likely in the upcoming week.

See: https://bitbucket.org/chromiumembedded/java-cef/commits/e611861ddbf0322c77d9de04e8806347539e3a17

commented

Hey @HugoBoffin, sorry I did not have the time previously to look further into this. I built the most up2date version from jcef a while ago and it still does not contain the swiftshader native libraries. While there was a folder called "swiftshader" previously, it only contained another copy of gles. If the distribution scripts from jcef do not contain the required libraries, there is nothing my scripts and deployment can do about it. Would you like to file a bug report in the official jcef repo on bitbucket?

commented

@HugoBoffin I created a pull request on the jcef repository adding them back. Once the PR is accepted, I will update jcefmaven to upstream :)

https://bitbucket.org/chromiumembedded/java-cef/pull-requests/96/add-vulkan-and-swiftshader-libraries-on

commented

Will be included in build 105.3.36.2.