-
Notifications
You must be signed in to change notification settings - Fork 3.9k
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
Regression: no WebGL support on Linux from v0.72.0+ #8043
Comments
Thanks. Could you verify Chromium is working in the same system? And please
provide the content of 'chrome://gpu' under Chromium and NW.js (run NW with
--url=...)
…On Mon, Mar 20, 2023, 11:41 AM Ashley (Scirra) ***@***.***> wrote:
Summary
WebGL used to work in NW.js on Linux. The last version it works in is
v0.71.1. The first version it stopped working in is v0.72.0. It still
doesn't work in the latest v0.74.0.
The easiest way to reproduce this is to download one of the official Linux
64-bit releases, extract on the system, and run nw. Press F12 to open dev
tools. Enter the following lines:
const canvas = document.createElement("canvas");const gl = canvas.getContext("webgl2");gl
The last line will show the value of gl.
Current/Missing Behavior
canvas.getContext("webgl2") returns null in v0.72.0+
Expected/Proposed Behavior
canvas.getContext("webgl2") returns a WebGL2RenderingContext, as it does
in v0.71.1 and before
Additional Info
Tested on:
- Operating System: Ubuntu 22.04.2 LTS (64-bit)
- NW.js Version: 0.72.0 - 0.74.0
This breaks all usages of WebGL in NW.js on Linux, including all games
made in Construct (www.construct.net).
WebGL still seems to work fine on Windows, so this seems to be an issue
specific to Linux.
Thanks for all your work on NW.js!
—
Reply to this email directly, view it on GitHub
<#8043>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABIMGPIORP5SX6ACJ52XWLW5CJEZANCNFSM6AAAAAAWBNA7UI>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Yep, Chromium 111 is working fine with hardware-accelerated WebGL on the same system. Here's exports of chrome://gpu from both Chromium and NW.js 0.74: |
https://github.com/nwutils/nw-api-sanity-check/actions/runs/4768650887/jobs/8478201622?pr=15#step:6:11 |
I'm afraid it's still not working for me with v0.75.0, although it works slightly differently now. I can get a WebGL 1 context, but it runs very slowly, and logs various GPU warning messages to the console. I still cannot get a WebGL 2 context. Here's what the chrome://gpu page says in NW.js v0.75.0: NWjs075-Ubuntu-GPU.pdf |
We are still getting reports of this, particularly because it appears to prevent any content working on the Steam Deck: Scirra/Construct-bugs#7034 |
Does this switch make any difference? |
I tried adding that to
|
Any news on this? For our use case this means both us and all our customers can't use NW.js v0.72+ at all, and sooner or later there'll be some reason we have to update. |
It works for me here with Ubuntu 23.04 with a Intel GPU. Will probably need to find a system with Nvidia card to reproduce ... |
I have NVIDIA card here on 22.04.2 LTS, ran nwjs 0.78.1 I had downloaded already and webgl works for me. GeForce GTX 1060 6GB But I thought the Steamdeck has AMD RDNA 2 chipset right? |
In this log, NW is using the vulkan backend while Chromium is not. So try this with nw: |
I finally got round to testing this again, and adding At least we have a workaround which is good! (Construct users: put |
It was turned on via field trial. Now field trial is disabled via fcfd64d Try the dev build here: https://dl.nwjs.io/live-build/nw79/20230824-202151/fcfd64da1/v0.79.2/ |
Summary
WebGL used to work in NW.js on Linux. The last version it works in is v0.71.1. The first version it stopped working in is v0.72.0. It still doesn't work in the latest v0.74.0.
The easiest way to reproduce this is to download one of the official Linux 64-bit releases, extract on the system, and run
nw
. Press F12 to open dev tools. Enter the following lines:The last line will show the value of
gl
in the console.Current/Missing Behavior
canvas.getContext("webgl2")
returnsnull
in v0.72.0+Expected/Proposed Behavior
canvas.getContext("webgl2")
returns a WebGL2RenderingContext, as it does in v0.71.1 and beforeAdditional Info
Tested on:
This breaks all usages of WebGL in NW.js on Linux, including all games made in Construct (www.construct.net).
It's possible to get to
chrome://gpu
in NW.js - enterlocation = "chrome://gpu"
in the console and it takes you to the Chromium GPU internals page. That appears to have a line indicating that GPU compositing is disabled, which may be related (and it also lists WebGL as "hardware accelerated but at reduced performance").WebGL still seems to work fine on Windows, so this seems to be an issue specific to Linux.
Thanks for all your work on NW.js!
The text was updated successfully, but these errors were encountered: