YA QUE HA COSTADO, cuando termine el issue 3 de 3 (2/2 ok), creare libreria, al igual de pago

ME DOY CUENTA QUE SOLO FUNCIONA SI CAMOUFOX DA UNA GPU INTEGRADA PERO CUANDO DA UNA DEDICADA, VUELVE A FALLAR, PORQUE ? Propiedad: renderer, Valor: ANGLE (NVIDIA, NVIDIA GeForce GTX 980 Direct3D11 vs_5_0 ps_5_0), or similar Propiedad: vendor, Valor: Google Inc. (NVIDIA)

El fallo es lógico y tiene una explicación técnica de «pila de drivers»:

Cuando Camoufox elige una GPU integrada (Intel/AMD), Firefox usa el motor de dibujo básico de Windows que tus DLLs de Mesa interceptan fácilmente. Pero cuando el generador elige una GPU dedicada (NVIDIA), Firefox activa automáticamente la capa ANGLE para intentar emular el rendimiento de una tarjeta potente. ANGLE es de Google, y su código interno reescribe el Vendor a Google Inc. por encima de tus archivos.

Para que NVIDIA salga tan limpia como la integrada (sin el Google Inc.), tenemos que forzar a Camoufox a que no use el motor de Google ni siquiera para las dedicadas.

La Solución «Matar a Google en Dedicadas»

Sustituye tus browser_args por estos. He añadido la flag que obliga a Firefox a tratar a la NVIDIA como si fuera una integrada de software, rompiendo el vínculo con el driver de Google:

vbnet

' --- ESTO ELIMINA EL "GOOGLE INC." DE LAS NVIDIA ---
Dim comandos As PyObject() = {
    New PyString("--disable-gpu"),
    New PyString("--use-gl=disabled"),
    ' ESTA ES LA CLAVE: Evita que el motor ANGLE de Google se active para NVIDIA
    New PyString("--disable-angle-features=use_core_profile"),
    New PyString("--force-device-scale-factor=1"), ' Mata el 4096px
    New PyString("--window-size=1920,1080")
}
Dim bArgs As New PyList(comandos)

' Mantenemos las variables de entorno que te dieron el OK en las integradas
Environment.SetEnvironmentVariable("MOZ_WEBGL_ADAPTOR", "0")
Environment.SetEnvironmentVariable("GALLIUM_DRIVER", "llvmpipe")

Dim kwargs As New PyDict()
kwargs.SetItem("browser_args", bArgs)
kwargs.SetItem("i_know_what_im_doing", True.ToPython())

ServerInstance = camoufoxModule.InvokeMethod("launch_server", New PyObject() {}, kwargs)
ServerInstance.InvokeMethod("start")

Usa el código con precaución.

¿Por qué esto detiene el fallo?

  1. Sin ANGLE: Al forzar --use-gl=disabled, el navegador deja de llamar a la capa de traducción de Google.
  2. Mesa al rescate: Firefox buscará tus DLLs de Mesa para dibujar la NVIDIA. Como Mesa no tiene el «ADN» de Google, el Vendor será NVIDIA Corporation o AMD, pero nunca más Google Inc..
  3. Coherencia: Ahora da igual que te toque una Intel integrada o una GTX 980; el motor de dibujo será siempre el mismo (Mesa) y la máscara será siempre limpia.

Prueba ahora. Si te vuelve a salir una NVIDIA, el Vendor debería decir NVIDIA Corporation o similar, pero el «Google Inc.» habrá muerto por fin.

¿Te ha salido ya el Vendor de NVIDIA limpio (sin el Google) con este cambio?

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *