Hardware acceleration disabled on non-blacklisted device (ACPI string mismatch)
Reported by
jonathan...@gmail.com,
Nov 16 2017
|
||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299 Example URL: chrome://gpu Steps to reproduce the problem: 1. Start Chrome on my device 2. Navigate to chrome://gpu 3. Note that hardware acceleration is disabled due to software_rendering_list ID 12 4. Open DXDiag, note that Driver Date is in 2017 What is the expected behavior? Hardware acceleration is enabled. What went wrong? On my specific device, in CollectDriverInfoD3D, device_id (ACPI\VEN_xxxx&DEV_dddd&SUBSYS_aaannnnn) does not match any new_deviced_id values returned by CM_Get_Device_ID (only ACPI\xxxxdddd\0). This leaves primary_device==-1, the gpu_info fields are thus not filled in, and the empty device_date is interpreted as too old (thus blacklist ID 12). Did this work before? No Is it a problem with Flash or HTML5? HTML5 Does this work in other browsers? Yes Chrome version: 62.0.3202.75 Channel: stable OS Version: 10.0 Flash Version: 27.0.0.187 Contents of chrome://gpu: Note: To properly save this page, select the "Webpage, Complete" option in the Save File dialog. Graphics Feature Status Canvas: Software only, hardware acceleration unavailable CheckerImaging: Disabled Flash: Software only, hardware acceleration unavailable Flash Stage3D: Software only, hardware acceleration unavailable Flash Stage3D Baseline profile: Software only, hardware acceleration unavailable Compositing: Software only, hardware acceleration unavailable Multiple Raster Threads: Enabled Native GpuMemoryBuffers: Software only. Hardware acceleration disabled Rasterization: Software only, hardware acceleration unavailable Video Decode: Software only, hardware acceleration unavailable Video Encode: Software only, hardware acceleration unavailable WebGL: Hardware accelerated but at reduced performance WebGL2: Unavailable Problems Detected Drivers older than 2009-01 on Windows are possibly unreliable: 72979, 89802, 315205 Disabled Features: flash_stage3d, gpu_compositing, panel_fitting, flash3d, gpu_rasterization, accelerated_2d_canvas, accelerated_video_decode, webgl2, accelerated_webgl, flash_stage3d_baseline, accelerated_video_encode GPU rasterization should only be enabled on NVIDIA and Intel DX11+, and AMD RX-R2 GPUs for now.: 643850 Disabled Features: gpu_rasterization Native GpuMemoryBuffers have been disabled, either via about:flags or command line. Disabled Features: native_gpu_memory_buffers Checker-imaging has been disabled via finch trial or the command line. Disabled Features: checker_imaging Version Information Data exported 11/15/2017, 10:10:11 PM Chrome version Chrome/62.0.3202.75 Operating system Windows NT 10.0.16299 Software rendering list version 13.13 Driver bug list version 10.30 ANGLE commit id e8ef2bc4bd01 2D graphics backend Skia/62 e74b41c6c84638d5a9ee6d254a715bcd9e17c603- Command Line "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --flag-switches-begin --flag-switches-end Driver Information Initialization time 0 In-process GPU true Passthrough Command Decoder false Supports overlays false Sandboxed false GPU0 VENDOR = 0x0000, DEVICE= 0x0000 GPU1 VENDOR = 0x0000, DEVICE= 0x0000 Optimus false Optimus false AMD switchable false Desktop compositing Aero Glass Diagonal Monitor Size of \\.\DISPLAY1 13.2" Driver vendor Google Inc. Driver version 3.3.0.2 Driver date 2017/04/07 Pixel shader version 3.0 Vertex shader version 3.0 Max. MSAA samples 4 Machine model name Machine model version GL_VENDOR Google Inc. GL_RENDERER Google SwiftShader GL_VERSION OpenGL ES 2.0 SwiftShader GL_EXTENSIONS Disabled Extensions Window system binding vendor Window system binding version Window system binding extensions Direct rendering Yes Reset notification strategy 0x0000 GPU process crash count 0 Compositor Information Tile Update Mode One-copy Partial Raster Enabled GpuMemoryBuffers Status ATC Software only ATCIA Software only DXT1 Software only DXT5 Software only ETC1 Software only R_8 Software only R_16 Software only RG_88 Software only BGR_565 Software only RGBA_4444 Software only RGBX_8888 Software only RGBA_8888 Software only BGRX_8888 Software only BGRA_8888 Software only RGBA_F16 Software only YVU_420 Software only YUV_420_BIPLANAR Software only UYVY_422 Software only Diagnostics ... loading ... For triage, might I suggest Internals>GPU>Internals since the bug is most likely in src/gpu/config/gpu_info_collector_win.cc? I recommend adding a special case for drivers.size()==1 && primary_device==std::numeric_limits<size_t>::max() that assumes whatever GPU was found is primary. If anything, ID 12 is decidedly unhelpful and a better message could be returned. I would be happy to share more privately. Sadly, it'll be at least a week before I can get the dev environment set up and a patch submitted.
,
Nov 16 2017
Thanks for the interesting report and debugging! cc:kbr
,
Nov 16 2017
This looks like it might be a sort of type confusion with the heavily overloaded idea of a device ID, not "ACPI string", so the bug title is somewhat wrong. I'll update this thread if I find out more.
,
Nov 16 2017
This looks like the preliminary GPU info collected on Windows is using an incorrect algorithm. zmo@, sunnyps@, could one of you work with this customer to try to get a dump of the PCI IDs on the system and see if there's a better way for Chrome to be doing its bus scan?
,
Nov 17 2017
|
||||
►
Sign in to add a comment |
||||
Comment 1 by jonathan...@gmail.com
, Nov 16 2017