Trang này chưa có bằng ngôn ngữ của bạn. Bạn đang đọc bản tiếng Anh.
Blog
A named GPU with no WebGPU: why a site reads it as fake
Đội ngũ ARMANOS6 min
A site asks about the card twice
The first question is simple: a page asks the browser for the graphics card name.
The second answer never reaches the page: the browser keeps that survey to itself. What gets out is the consequence, and loudest of all is WebGPU.
- 1
The name you picked
The vendor and the renderer: a site reads that pair straight off the page.
- 2
The state the browser keeps
One row for each capability, and the row holds a state rather than a name.
- 3
What a site puts together
A named card with no WebGPU behind it is worth a second look.
What a server with no card answers
Profiles often live on a rented Windows server, and a server like that has no graphics card of its own. That is exactly what makes its answer worth reading in full.
Every row of the capability table comes back switched off. Some of the work goes to software rendering, and behind the rest there is nothing at all.
| Measured on the rented machine | Answer |
|---|---|
| Capability rows the engine reported | 14 |
| Rows served by a graphics card | 0 |
| Rows falling back to software | 5 |
| Cards the machine listed | 2, the same basic driver twice |
| Driver entries the machine listed | 0 |
Which five rows went to the software path
Out of fourteen feature rows the server handed five to software rendering: the canvas, page compositing, rasterisation, video decoding and video encoding. The processor does all of it, slowly and honestly, and the drawing speed shows it too.
The other nine are switched off outright, and among them the two a platform notices most: WebGL and WebGPU. A page asking to draw a triangle gets a refusal rather than a picture.
What the server writes about itself
Next to the feature table the browser leaves a line about who does the drawing: «Microsoft Basic Render Driver» through ANGLE over Direct3D 11. That is the standard software renderer of Windows, and it signs with its own name.
A platform reads that same line and draws its own conclusion: a server, not a laptop. The profile is powerless here, because the line is not written by it.
Name from the profile, the rest from the machine
So on a rented server a pair forms that a platform sees whole: the card name comes from the profile and sounds like a laptop, while the state comes from the machine and sounds like a server with no card. Each half alone is ordinary; together they argue, and the argument shows in a single request.
Hence one piece of advice: pick the card name to fit the machine the profile lives on. For a profile on a cardless server, a laptop card name only does harm: the platform adds the two answers up and gets a machine that does not exist.
There is no WebGPU on such a machine
WebGPU is a second road to the same hardware. On a machine like that it is not narrow but absent: there is nothing there to ask in the first place.
Run without a window or with a real window on screen, the card answers the same way: three ways of starting, each of them twice, all 6 attempts alike.
Started as it ships
No entry point at all.
A software adapter on request
No entry point, and the request had nothing to attach itself to.
Software rendering throughout
No entry point, on a run without a window and on one with a window alike.
Why a launch flag does not help here
A launch flag chooses which adapter serves WebGPU. Against a capability already switched off it is powerless: the browser marked it before any adapter came into the question.
That mark sits a layer underneath the thing flags control. No combination of them moved it, and adding more flags to a profile changes nothing here.
The name is the easy half
The card name arrives at a site as a pair: the vendor and the renderer move together. Every platform has its own pool of such pairs.
Pick another pair in the WebGL field (Fingerprint > Change values) and the processor architecture the profile reports is redrawn along with it. A card from one family beside a processor from another describes a machine nobody sells.
- 1
The pair moves together
A vendor without its matching renderer is a mismatch any check can see.
- 2
The platform picks the pool
A Windows renderer line looks nothing like the one a Linux machine produces.
- 3
The processor follows the card
Choosing another renderer redraws the architecture the profile reports.
How many cards a profile can carry
The list of cards belongs to the platform: a Windows desktop profile has seven of them, macOS ten. The draw from that list falls to a profile by its seed, so two of your profiles usually get different cards.
The name arrives as a pair: the vendor and the renderer travel together and do not change apart. A pair made of foreign halves would stand out more than any single line.
Cores follow the card
The core count of an Apple chip is fixed by the chip: M1 is eight, M2 Max twelve, M3 Max fourteen or sixteen. A profile takes its number from the set belonging to that very card.
One shared set across all chips would hand an M2 ten cores, which does not exist. So every class of card has its own set, and the harmonising runs when edits are saved.
When the server answers with nothing
A rented machine with no card answers that way because of the machine, not because the profile broke. It cannot be changed from the profile: the page reads the state from the browser, and the browser from the system.
If live rendering matters to you, take a machine with a card. On such a machine those same feature rows come alive, and the profile no longer answers with emptiness.
What we do not promise about Windows
A WebGPU snapshot could not be taken on that machine, because there was nothing to take one from. A line that never ran we count as failed rather than skipped, and a build like that we do not accept.
So what you hear from us about WebGPU on Windows stops where the measurement stopped. A road nobody has driven is not a road we call open.
What this does not claim
- It does not mean WebGPU works on a Windows machine that has a card. That road has not been measured on one yet, and until it is we say nothing about it either way.
- The numbers above come from one rented server without a graphics card. A desktop with a card answers differently, and what carries over is the shape of the answer rather than the numbers.
- It does not mean a card name agreeing with its state makes your profile safe. It removes one contradiction out of many, and behaviour, payment details and the history of the account remain untouched by any browser.
- The capability table belongs to the machine it runs on. A profile does not carry one, and ARMANOS Browser does not rewrite it.
Where you can see this yourself
Every number above comes out of a file you can open and read.
- The capability table the machine reported
- docs/замеры/gpu-status-windows-04-09.log
- 6 attempts at WebGPU on the same machine
- docs/замеры/webgpu-windows-04-09.log
- The pool of card pairs and what a pick must match
- packages/shared/src/index.js
- An unmeasured WebGPU line counts as a failure
- engine/scripts/engine-invariants.js
- A pair picked by hand is kept with the profile
- apps/desktop/src/main/main.js
Questions
- Why not make the table agree with the card name?
- It is the machine's own answer about its drivers, not a value a profile carries. A table bent to fit would change how the browser draws for every profile on that computer.
- Does this make a server a bad place to run profiles?
- It means a server answers graphics questions the way a server does. A site meeting a named card with no WebGPU behind it sees a machine without a card, which is what it is.
- Would a software renderer have filled the table?
- It would have moved some rows and not the verdict. The capability was marked off before any adapter came into the question at all.
- Is the card name kept anywhere on disk?
- Not while it is generated: the pair comes from the profile seed at every launch. A pair you pick from the list is kept with the profile, so the next launch still has it.
- Does a proxy change any of this?
- No. The address arrives from elsewhere, and every answer described here is produced by the machine in front of you.
Next to this
WebGPU fingerprint
The second road to the same hardware and what it hands over.
WebGL renderer
The line that names the card and how far it can be moved.
The engine we build
What is changed inside the browser and what is measured on it.
Free fingerprint check
12 values read in your browser, with nothing sent anywhere.
See what your own browser answers
The check reads 12 values and sends nothing anywhere.