À propos du projet

## Aperçu DEVICE TWEAKER est un utilitaire bas niveau pour Windows 10 et Windows 11 (x64) qui réunit dans une seule interface la configuration des interruptions vectorielles MSI/MSI-X, l'affinité des files d'attente d'interruption aux processeurs logiques, l'isolation système des cœurs, la modération matérielle des contrôleurs USB xHCI et l'optimisation de la pile réseau. Selon l'auteur, le projet remplace un ensemble d'outils disparates (MSI Utility, Microsoft Interrupt Affinity Policy Tool, GoInterruptPolicy, RWEverything et des scripts maison d'écriture IMOD). ## Fonctionnalités principales - **MSI / MSI-X :** activation du mode via le paramètre `MSISupported`, levée de la limite `MessageNumberLimit` (mode Unlocked), définition de la priorité de distribution `DevicePriority = 3`. - **CPU Affinity :** routage des files d'attente via `DevicePolicy = 4` et masque binaire `AssignmentSetOverride` (jusqu'à 64 processeurs logiques). L'algorithme AUTO prend en compte la topologie des chipets AMD (CCD0/CCD1, 3D V-Cache), les cœurs hybrides P/E d'Intel, exclut les threads SMT voisins et utilise les données ACPI CPPC v2. - **ReservedCpuSets :** isolation des cœurs sélectionnés vis-à-vis des tâches système en arrière-plan et des DPC généraux. - **xHCI IMOD :** contrôle direct des registres des interrupter des contrôleurs USB (pas de minuterie de 250 ns) via un pilote noyau dédié `DTIMOD.sys`, avec répartition des périphériques par contrôleurs physiques CHIP 0 / CHIP 1. - **Réseau :** gestion des registres de modération ITR/EITR/IntrMit pour les adaptateurs Intel (I210, I211, I225, I226, I350, I219) et Realtek (RTL8111, RTL8125, RTL8126), configuration du RSS (`*NumRssQueues`, `*RssBaseProcNumber`), désactivation de l'EEE. - **Windows 11 :** paramètre `RawMouseThrottleDuration` pour limiter l'interrogation des fenêtres en arrière-plan. - **Alimentation :** désactivation de l'USB Selective Suspend et des états d'économie d'énergie PCIe. - **Restauration :** instantané de l'état initial du système, points de restauration différentiels avant chaque application et réinitialisation complète aux valeurs d'usine. ## Sécurité et pilote L'analyse des périphériques s'effectue en Ring 3 via SetupAPI et le registre. Le pilote `DTIMOD.sys` est chargé à la demande uniquement pour accéder aux registres des interrupter et reste en mémoire jusqu'au redémarrage. Les modifications des politiques d'interruption prennent effet après redémarrage. ## Distribution et compilation Deux exécutables sont disponibles : compact (~4 Mo, nécessite .NET 8 Desktop Runtime) et autonome (~150 Mo, avec environnement d'exécution intégré). La compilation depuis les sources s'effectue via le script PowerShell `publish-variants.ps1` en présence du .NET 8.0 SDK. Licence — GNU GPL v3.0.