AMDHandheldControl

Buenas a todos!

Quería presentar un proyecto en el que estoy trabajando hace algún tiempo y que creo que ya está bastante avanzado como para que lo presente formalmente.
El proyecto se llama AMDHandheldControl y es un software que originalmente nació como un controlador de TDP y que ha evolucionado para abarcar mas funcionalidades.

El software es para máquinas GPD, pero también tiene soporte para SteamDeck, y corre en Windows.

La idea principal es ofrecer un menú rápido de acciones, y para esto se muestra como un Menú de Acceso Rápido (QAM - Quick Access Menu), donde se pueden configurar el comportamiento de las funciones del software.

GPD lo ha estado probando también (junto con algunos testers chinos) y actualmente lo tiene publicado en su web
https://www.gpd.hk/gpdwin5firmwaredriver

dirección de descarga desde la web de GPD


pongo parte de la info original del proyecto.

⚠️ Work In Progress: This project is currently in beta. Many features are fully developed, while others are still in progress.

Supported Devices:
· GPD WIN MAX 2 (6800U/7640U/7840U)
· GPD WIN MINI (7640U/7840U/8840U)
· GPD WIN 4 (6800U/7640U/7840U)
· GPD WIN 5 (385/395+)
· Steam Deck (LCD/OLED)

Key Features:
· Quick Access Menu (QAM): Overlay panel for instant settings access.
· Scalable UI: Adjustable scaling for any screen size.
· Advanced TDP Control: 6 modes (3 Fixed, 3 Auto/Adaptive) with deep customization.
· Power Behaviors: 5 configurable profiles (Eco, Turbo, etc.).
· Voice Control: Offline commands via Microsoft Voice Recognition.
· Input Combos: Trigger actions via Gamepad or Keyboard combos.
· Edge Gestures: Swipe system for quick navigation.
· OOBE Wizard: Guided first-run setup.
· Customizable Experience: Switch between Simple and Advanced modes.
· Custom Views: Configure the panel layout to your liking.
· Audio Feedback: Sound events for actions.
· FPS Limiter: Integrated frame rate control.
- Update System.


imágenes:
Imagen
Modos TDP. Hay modos fijos y modos auto.
En los fijos, indicas el TDP Limit que tendrá la máquina, y puedes configurar el comportamiento.
En los modos Auto, indicas el TDP Máximo que quires que se utlice, y el sistema intenta reducir el consumo bajando el TDP según el algoritmo seleccionado.

Imagen
Vista general de la aplicación (QAM Panel) corriendo en una GPD-WIN5

Mas imágenes
Imagen
Vista general del panel rápido (QAM Panel), corriendo en una Steam Deck (con windows)

Imagen Imagen
Vista de la interfaz de giroscopio/acelerómetro y la pantalla de configuración y ajustes

Imagen
Soporte para multiidiomas, y posibilidad de editar fácilmente para añadir o modificar los textos actuales.

Imagen
El programa al arrancar la primera vez presenta un pequeño asistente para configurar rápidamente.

Imagen Imagen
Vista del panel de pantalla y las opciones de saturación (vibrance) y filtros de color, incluyendo filtros para daltónicos.
El programa permite crear mas filtros, integrando un editor de filtros en la interfaz de configuración.

Imagen
Auto check de actualizaciones, e instalación de nuevas versiones en la misma aplicación.


Me quedo atento por si alguien tiene dudas, comentarios, sugerencias o reporte de problemas.

Las novedades las estoy publicando en el canal de difusión de Telegram que he creado para el proyecto, donde también podéis descargar el programa. No es un canal de Chat. si queréis comentar, podéis utilizar este hilo par avuestras dudas, sugerencias o reporte de problemas.

Zalu2!
Muy bueno !
Gracias !
Me lo voy a experimentar en mi GPD WIN MINI
serviria para linux y en la ayaneo air plus ?
Como idea y concepto me parece una autentica maravilla, una lástima que ahora mismo no pueda disponer del tiempo de poder ponerla en práctica.

Muchas gracias compañero.
Sirve para la GPD Win Max 2 con el AMD Ryzen™ AI 9 HX 370?
La tengo desde hace un par de meses, y me ven “obligado” a usar el MotionSense (que me parece horrible) para hacer uso del giroscopio.
En todos los demás software de este tipo, me encuentro con que los ejes X e Y están invertidos (por ejemplo en Handheld Companion, que tiene mejor interface que MotionSense).
De todos modos, esta misma tarde lo pruebo y te digo algo [oki]

Muchas gracias!!

Edito para mencionar, que el problema de los ejes invertidos, ocurre en otras máquinas con el procesador HX370, no solo en las GPD Win 4 y Max 2 con dicho procesador.

sobre los ejes, también me he encontrado con eso, y por la misma razon he incorporado un "normliazador" y configurador de ejes de gyroscope en el programa.
si conectas un mando de PS4 por ejemplo, y tiene los ejes diferentes, puedes normalizarlos para que todos entiendan lo mismo y asi puedes usar la consola ya sea con su propio giroscopio, o la conectas a la tele y usas un mando PS4 (de momento no tengo uno de PS5 y por eso no he podido darle soporte), y juegas con el giroscopio.

como ambos estan normalizados, el programa entiende lo mismo para ambos.

sobre los ejes, es que es algo común y tiene una explicación.
el "chip" de los sensores, tiene configurado de fábrica la dirección donde apuntan, etc. y se venden tal cual.
luego, el fabricante, depende de como lo disponga en la placa, tendr al chip invertido, girado, etc.

por eso luego el driver se encarga de "traducir" las direcciones.

lo que hago yo es hablar con el sistema para que me diga que direcciones entiende, y luego yo las normalizo para que el programa entienda todos los sensores de giroscopio de la misma manera.
Bardag escribió:Sirve para la GPD Win Max 2 con el AMD Ryzen™ AI 9 HX 370?
La tengo desde hace un par de meses, y me ven “obligado” a usar el MotionSense (que me parece horrible) para hacer uso del giroscopio.
En todos los demás software de este tipo, me encuentro con que los ejes X e Y están invertidos (por ejemplo en Handheld Companion, que tiene mejor interface que MotionSense).
De todos modos, esta misma tarde lo pruebo y te digo algo [oki]

Muchas gracias!!

Edito para mencionar, que el problema de los ejes invertidos, ocurre en otras máquinas con el procesador HX370, no solo en las GPD Win 4 y Max 2 con dicho procesador.


no he podido probar ese hardware. en principio si deberia darle soporte pero necesito pruebas en la máquina.
@Bardag
sobre los ejes, también me he encontrado con eso, y por la misma razon he incorporado un "normliazador" y configurador de ejes de gyroscope en el programa.
si conectas un mando de PS4 por ejemplo, y tiene los ejes diferentes, puedes normalizarlos para que todos entiendan lo mismo y asi puedes usar la consola ya sea con su propio giroscopio, o la conectas a la tele y usas un mando PS4 (de momento no tengo uno de PS5 y por eso no he podido darle soporte), y juegas con el giroscopio.

como ambos estan normalizados, el programa entiende lo mismo para ambos.

sobre los ejes, es que es algo común y tiene una explicación.
el "chip" de los sensores, tiene configurado de fábrica la dirección donde apuntan, etc. y se venden tal cual.
luego, el fabricante, depende de como lo disponga en la placa, tendr al chip invertido, girado, etc.

por eso luego el driver se encarga de "traducir" las direcciones.

lo que hago yo es hablar con el sistema para que me diga que direcciones entiende, y luego yo las normalizo para que el programa entienda todos los sensores de giroscopio de la misma manera.
mira, en estas imagenes queda claro

Imagen

Aquí tenemos la configuración de la WINMAX2, y como ves los ejes están configurados en Axis Mapping

Imagen

Aquí tengo un mando de PS4 y los ejes son diferentes. con el programa puedes mapearlos cada uno segun corresponda.

luego el programa los unifica y los entiende de la misma manera

luego de normalizarlos, puedes cambiar su comportamiento global, modificando la sensibilidad de cada eje, y luego la respuesta general.

Imagen
Ahora mismo estoy probando esta App y tiene muy buena pinta, aún que en mi caso en particular, estoy encontrando algunos problemas

- Aunque marco la opción de iniciar con Windows, cuando reinicio no arranca directamente. Ejecuto de nuevo el launcher, y me sale otra vez la configuración inicial de la App. Tengo que volver a “desbloquear” el modo seguro, y activo de nuevo lo de iniciar con Windows… pero nada, al reiniciar, vuelta a empezar.
- He visto las opciones disponibles para giroscopio, y efectivamente hay para configurar TODOS los ejes, por lo que en principio, es solo cuestión de elegir los que se ajusten en cada caso y a funcionar. Aún así, a falta de probarlo en algún juego, hay tantas opciones que abruma un poco. No sé si hay para crear perfiles a cada juego (en el menú rápido me ha parecido ver que si), y una vez configurada la tecla de activación y cual quieres que sea la salida (stick derecho o ratón, generalmente), ya lo dejas configurado y te olvidas.
- En información de dispositivo, en mi caso, no me la detecta como “GPD Win Max 2” ni sale ninguna imagen… solo me indica que el fabricante es GPD, y el modelo G1619-05. Los demás detalles, como procesador y gráficos, los detecta perfectamente.
- No sé cómo aumentar el máximo de TDP permitido… solo me deja ajustarlo entre 5W y 15W máximos de TDP (cuando la máquina la puedes llevar a los 30W e incluso más).


Este fin de semana seguiré probando cosas. No obstante, si necesitas algún dato o cualquier cosa con la que te pudiera ayudar, estaría encantado.
A ver si queda esta APP perfecta, porque la verdad que tiene una pinta increíble y ya no tendría que buscar más XD

Un saludo!!
@Bardag
me apunto lo de arrancar con windows. no deberia tener problemas pero lo reviso.
el modo seguro lo reviso. en principio es un modo que he puesto para cuando se cierra la aplciación. como estamos tocando tdp, por evitar problemas que sean relacionados con el (demasiado bajo, demasiado algo, que se cuelgue, etc), el modo seguro lo que hace es aplicar un tdp base de 15W y no hacer caso a la configuración de la aplciación.

si se cierra sin que se haga el proceso de cierre correcto, salta este modo. revisaré la lógica.

- si. a ver, explico. he pecado de poner todo de golpe pero la aplicación en principio deberia ser para todo tipo de usuarios. el que no quiere meterse en confiuraciones y el que prefiere toquetear a fondo.
Si, hay una forma de configurar perfiles de juego. en la propia QAM en settings, hay una opción de Game Profile (o en español, que no recuerdo como es). si marcas ese toggle, todas las opciones con el borde amarillo se guardan en el perfil de ese juego.

en el QAM también hay una opción para configurar rápidamente que quieres que haga el giro. asignarlo al raton, a un stick, etc.

en el caso de tu máquina en particular, por que no he podido probar ese hardware y hay cosas que tengo que configurar para que funcione 100%. por eso no te sale la imagen.

- te deja hasta 15W por lo mismo de antes, al no reconocerla como una máqina que el programa tenga soporte, la deja con una configuración genérica de seguridad (como he dicho, estamos tocando cosas sensibles por lo que debo poner un marco de seguridad en caso de no conocer el hardware)

estoy preparando una release con un montón de novedades. asi que intentare abordar estas cosas en esta versión.

Zalu2!
Buenas!

He publicado una beta pre-release del programa por si alguno quiere probarlo.

Novedades:
Novedades de esta versión.
- Refactorización completa de la aplicación. ahora está basada en módulos funcionales autónomos. esto permite poder crear páginas dinámicamente, por lo que es posible editar las páginas y vistas de la aplicación.
- Posibilidad de volver a la configuración por defecto de las vistas. si has eliminado las vistas o incluso las páginas, se puede volver al estado inicial con un botón en la interfaz del editor.
- Nuevo objeto visualizador de vistas. este objeto permite mostrar páginas creadas en el editor dentro de una página. tiene 2 estados, expandido y contraído. en ambos casos se puede especificar una vista diferente.
- Nuevo menú contextual en QAM para editar página. Con el botón derecho, ahora se puede abrir directamente el editor de la página actual.
- Nuevo menú contextual en QAM para seleccionar rápidamente una vista activa para QAM. En la entrada de menú, se han cargado todas las vistas existentes para seleccionar directamente una en el QAM.
- Nuevo sistema de descubrimiento de grupos personalizados. Con esta opción, cuando el usuario genere un grupo con vistas personalizadas, este grupo se añade como un custom control para añadir en otras páginas.
- Lista de ventanas con icono y color identificativo para Grupos Personalizados. De esta manera es fácil identificar cuales son vistas utilizadsa en un contenedor de grupo.

Correcciones:
- Fix del "Arrancar con windows". Ahora se añade como tarea de inicio de windows.
- Fix de cierre de windows. Ahora, cuando windows cierra, la aplicación cierra normalmente para que al volver a arrancar no salga el modo seguro.
- Incorporación de mas de 50 componentes para crear páginas personalizadas para la interfaz QAM
- Normalización de componentes con iconos por categoría/función y control.
- Traducción dinámica. se incluye traducción en inglés, español, chino. Es muy fácil incluír mas idiomas con el sistema, editando el fichero Translate.cvs
- Nuevo núcleo con simplificación de código y sistema de modelo de datos compartidos, para no tener que incorporar lógica pesada en los componentes modulares.


Lo mas importante de esta versión es que la he vuelto a recrear en la práctica casi toda, por que he modularizado toda la funcionalidad del panel lateral (QAM), y ahora esto me ha permitodo poder craer un editor de pantallas, por lo que ahora es 100% editable el panel.
Las propias pantallas del programa (QAM) están creadas con el editor incorporado.
He creado mas de 50 módulos/controles funcionales, que se pueden usar para diseñar la pantalla. Con esto resuelvo uno de los problemas con los que me he encontrado mientras se probaba la primera versión, y es que según el usuario y su experiencia podía pedri mas o menos nivel de detalle en la aplicación QAM. Ahora, la aplicación viene con 3 modos de "Experiencia" (vistas) por defecto, y se puede seleccionar cualquiera y cambiar en cualquier momento a otra, o crear una nueva.
Advanced Mode, que viene con los controles que originalmente había diseñado para la aplicaicón (y mi forma de organizarlos)
Simple Mode. Menos secciones y controles menos complejos.
Direct Mode. Contiene una sola página con todos los controles directos y simples que pueda necesitar el usuario.

se pueden clonar las vistas, las páginas, modificarlas completamente, etc.

Imagen
Imagen generada con el editor del programa.

Imagen [img]
https://lh3.googleusercontent.com/pw/AP ... authuser=0
[/img]
Menú contextual para seleccionar vista a usar, y para editar la página actual.

Imagen
Editor de páginas.
A la izquierda están los módulos/controles que se pueden utilizar, orgaminzados por categoría/función
Al centro está la página que se está editando.
A la derecha están las propiedades el módulo/control seleccionado.

Imagen
Editor de vistas (son las pestañas que tiene el QAM)

Imagen
Ejemplo de creación de página y funcionamiento en QAM


Me ha tomado mas tiempo del que esperaba, pero creo que ha merecido la pena.

Si alguien lo prueba me gustaría tener algo de feedback sobre la nueva aplicación.

Zalu2!
Deen0X escribió:Buenas!

He publicado una beta pre-release del programa por si alguno quiere probarlo.

Novedades:
Novedades de esta versión.
- Refactorización completa de la aplicación. ahora está basada en módulos funcionales autónomos. esto permite poder crear páginas dinámicamente, por lo que es posible editar las páginas y vistas de la aplicación.
- Posibilidad de volver a la configuración por defecto de las vistas. si has eliminado las vistas o incluso las páginas, se puede volver al estado inicial con un botón en la interfaz del editor.
- Nuevo objeto visualizador de vistas. este objeto permite mostrar páginas creadas en el editor dentro de una página. tiene 2 estados, expandido y contraído. en ambos casos se puede especificar una vista diferente.
- Nuevo menú contextual en QAM para editar página. Con el botón derecho, ahora se puede abrir directamente el editor de la página actual.
- Nuevo menú contextual en QAM para seleccionar rápidamente una vista activa para QAM. En la entrada de menú, se han cargado todas las vistas existentes para seleccionar directamente una en el QAM.
- Nuevo sistema de descubrimiento de grupos personalizados. Con esta opción, cuando el usuario genere un grupo con vistas personalizadas, este grupo se añade como un custom control para añadir en otras páginas.
- Lista de ventanas con icono y color identificativo para Grupos Personalizados. De esta manera es fácil identificar cuales son vistas utilizadsa en un contenedor de grupo.

Correcciones:
- Fix del "Arrancar con windows". Ahora se añade como tarea de inicio de windows.
- Fix de cierre de windows. Ahora, cuando windows cierra, la aplicación cierra normalmente para que al volver a arrancar no salga el modo seguro.
- Incorporación de mas de 50 componentes para crear páginas personalizadas para la interfaz QAM
- Normalización de componentes con iconos por categoría/función y control.
- Traducción dinámica. se incluye traducción en inglés, español, chino. Es muy fácil incluír mas idiomas con el sistema, editando el fichero Translate.cvs
- Nuevo núcleo con simplificación de código y sistema de modelo de datos compartidos, para no tener que incorporar lógica pesada en los componentes modulares.


Lo mas importante de esta versión es que la he vuelto a recrear en la práctica casi toda, por que he modularizado toda la funcionalidad del panel lateral (QAM), y ahora esto me ha permitodo poder craer un editor de pantallas, por lo que ahora es 100% editable el panel.
Las propias pantallas del programa (QAM) están creadas con el editor incorporado.
He creado mas de 50 módulos/controles funcionales, que se pueden usar para diseñar la pantalla. Con esto resuelvo uno de los problemas con los que me he encontrado mientras se probaba la primera versión, y es que según el usuario y su experiencia podía pedri mas o menos nivel de detalle en la aplicación QAM. Ahora, la aplicación viene con 3 modos de "Experiencia" (vistas) por defecto, y se puede seleccionar cualquiera y cambiar en cualquier momento a otra, o crear una nueva.
Advanced Mode, que viene con los controles que originalmente había diseñado para la aplicaicón (y mi forma de organizarlos)
Simple Mode. Menos secciones y controles menos complejos.
Direct Mode. Contiene una sola página con todos los controles directos y simples que pueda necesitar el usuario.

se pueden clonar las vistas, las páginas, modificarlas completamente, etc.


Muy chulo el proyecto, esto me valdria para mia ayaneo slide/ Antec Core HS con ryzen 7 8840u?
Ryuji28 escribió:
Deen0X escribió:Buenas!

He publicado una beta pre-release del programa por si alguno quiere probarlo.

Novedades:
Novedades de esta versión.
- Refactorización completa de la aplicación. ahora está basada en módulos funcionales autónomos. esto permite poder crear páginas dinámicamente, por lo que es posible editar las páginas y vistas de la aplicación.
- Posibilidad de volver a la configuración por defecto de las vistas. si has eliminado las vistas o incluso las páginas, se puede volver al estado inicial con un botón en la interfaz del editor.
- Nuevo objeto visualizador de vistas. este objeto permite mostrar páginas creadas en el editor dentro de una página. tiene 2 estados, expandido y contraído. en ambos casos se puede especificar una vista diferente.
- Nuevo menú contextual en QAM para editar página. Con el botón derecho, ahora se puede abrir directamente el editor de la página actual.
- Nuevo menú contextual en QAM para seleccionar rápidamente una vista activa para QAM. En la entrada de menú, se han cargado todas las vistas existentes para seleccionar directamente una en el QAM.
- Nuevo sistema de descubrimiento de grupos personalizados. Con esta opción, cuando el usuario genere un grupo con vistas personalizadas, este grupo se añade como un custom control para añadir en otras páginas.
- Lista de ventanas con icono y color identificativo para Grupos Personalizados. De esta manera es fácil identificar cuales son vistas utilizadsa en un contenedor de grupo.

Correcciones:
- Fix del "Arrancar con windows". Ahora se añade como tarea de inicio de windows.
- Fix de cierre de windows. Ahora, cuando windows cierra, la aplicación cierra normalmente para que al volver a arrancar no salga el modo seguro.
- Incorporación de mas de 50 componentes para crear páginas personalizadas para la interfaz QAM
- Normalización de componentes con iconos por categoría/función y control.
- Traducción dinámica. se incluye traducción en inglés, español, chino. Es muy fácil incluír mas idiomas con el sistema, editando el fichero Translate.cvs
- Nuevo núcleo con simplificación de código y sistema de modelo de datos compartidos, para no tener que incorporar lógica pesada en los componentes modulares.


Lo mas importante de esta versión es que la he vuelto a recrear en la práctica casi toda, por que he modularizado toda la funcionalidad del panel lateral (QAM), y ahora esto me ha permitodo poder craer un editor de pantallas, por lo que ahora es 100% editable el panel.
Las propias pantallas del programa (QAM) están creadas con el editor incorporado.
He creado mas de 50 módulos/controles funcionales, que se pueden usar para diseñar la pantalla. Con esto resuelvo uno de los problemas con los que me he encontrado mientras se probaba la primera versión, y es que según el usuario y su experiencia podía pedri mas o menos nivel de detalle en la aplicación QAM. Ahora, la aplicación viene con 3 modos de "Experiencia" (vistas) por defecto, y se puede seleccionar cualquiera y cambiar en cualquier momento a otra, o crear una nueva.
Advanced Mode, que viene con los controles que originalmente había diseñado para la aplicaicón (y mi forma de organizarlos)
Simple Mode. Menos secciones y controles menos complejos.
Direct Mode. Contiene una sola página con todos los controles directos y simples que pueda necesitar el usuario.

se pueden clonar las vistas, las páginas, modificarlas completamente, etc.


Muy chulo el proyecto, esto me valdria para mia ayaneo slide/ Antec Core HS con ryzen 7 8840u?


por probar lo puedes hacer, pero te limitará el TDP a 15W (por que no reconoce la máquina).
Par apoder darle soporte, necesito la máquina físicamente por que tengo que hacer pruebas. sería peligroso (e irresponsable de mi parte) dar soporte alegremente a ojo, por que este tipo de programas tocan cosas que son sensibles (ventiladores, tdp, etc), por eso no doy soporte a ninguna máquina si no la he podido probar.

por probar puedes ejecutarlo para que veas como va y eso.
13 respuestas