Vai al contenuto
Offerte

Windows 11 fa girare i giochi anni ’90: il trucco nascosto

In questo articolo Indice dei contenuti 3 sezioni

Capita di far partire un gioco degli anni Novanta su Windows 11 e di vederlo funzionare senza colpo ferire, e dietro quel piccolo miracolo non c’è la fortuna ma i compatibility shim, un sistema di compatibilità che Microsoft porta avanti da decenni in modo silenzioso. Windows si ricorda dei vecchi software, sa esattamente cosa si aspettano dal sistema operativo e, in tempo reale, li inganna. Il risultato è che quei programmi girano come se il tempo non fosse passato.

Uno shim, in sostanza, è un pezzetto di software che si mette in mezzo tra l’applicazione e il sistema. Intercetta le chiamate alle API di sistema e altera le risposte che Windows restituisce. Non tocca il file eseguibile del gioco, quindi non lo modifica in alcun modo, ma lavora come una specie di interprete. Il gioco chiede qualcosa che il Windows moderno non sa più fare, e lo shim risponde come avrebbe fatto Windows XP, oppure Windows 98, o qualunque versione con cui quel titolo era nato per convivere. Il gioco ottiene il comportamento che si aspetta, Windows 11 resta intatto, e all’utente non viene chiesto nulla.

Un database che Windows si porta dietro da anni

Tutto ruota attorno a un database di compatibilità che il sistema tiene aggiornato di continuo. Al momento del lancio di un eseguibile, Windows lo confronta con le voci archiviate e, se trova una corrispondenza, applica in automatico le correzioni previste. Ecco spiegato perché certi titoli vecchissimi semplicemente partono, senza avvisi, senza errori, senza smanettamenti. Non sono stati dimenticati, sono stati presi in carico in sordina. Gli shim, poi, non si limitano a fingere versioni precedenti del sistema. Possono intervenire sul modo in cui un’app gestisce i file, sul registro di sistema, sui privilegi, sul ridimensionamento dei display, perfino sulla versione del sistema operativo dichiarata al programma. Niente macchina del tempo, piuttosto una serie di aggiustamenti mirati, quasi chirurgici, applicati caso per caso.

Quando il gioco non è in elenco

Può succedere che un titolo non abbia una voce dedicata nel database. In quel caso si può intervenire a mano, e la strada è quella che quasi tutti hanno percorso almeno una volta senza sapere cosa stessero facendo davvero. Tasto destro sull’eseguibile del gioco, Proprietà, scheda Compatibilità. Da lì si può forzare la modalità colori ridotta, cambiare la gestione del DPI, disattivare le ottimizzazioni a schermo intero oppure avviare il programma con privilegi di amministratore.

Sotto il cofano il meccanismo è identico a quello automatico. Windows applica dei flag di compatibilità specifici a quel singolo eseguibile e cambia il proprio comportamento soltanto nei suoi confronti, lasciando tutto il resto com’era. Non è una soluzione infallibile, certo, ma nella maggior parte dei casi basta a far partire il gioco.

Dove si nasconde tutto quanto

Il database degli shim è già presente su qualsiasi installazione di Windows 11, non serve scaricare nulla. Per curiosare, il percorso da aprire è C:WindowsAppPatch. Dentro si trova sysmain.sdb, un file da diversi megabyte che raccoglie l’intero archivio delle correzioni applicabili. Non è materiale da modificare, ma sapere che esiste aiuta a capire la mole di lavoro accumulata negli anni.

Per leggerlo in forma comprensibile serve il componente Application Compatibility Tools, incluso nel Windows ADK gratuito di Microsoft. Da lì si arriva al Compatibility Administrator, che apre il database come un albero navigabile con migliaia di voci. Basta cliccare su un gioco o su un’applicazione per vedere quali shim vengono applicati in background a ogni avvio.  Non tutte le voci contengono correzioni vere e proprie. Alcune sono semplici avvisi che segnalano problemi di compatibilità già noti, e anche quelli fanno parte del sistema, perché permettono di farsi un’idea di quanto bene un vecchio titolo possa girare. Decenni di memoria sul software del passato, conservati invece che buttati via, in un tipo di ingegneria che non finisce nei keynote e che quasi nessuno noterà mai.

Condividi:
176 Condivisioni