Windows ne peut pas entrer en mode vidéo très basse résolution avec des cartes graphiques / pilotes modernes

11

NOUVEAU!

J'essayais de poster ici hier, mais cela ne cessait de me donner une erreur. J'ai découvert qu'il n'utilisait pas du tout DirectX, mais GDI ou quoi que ce soit les graphiques non DX dans Windows (pas OpenGL ou toute autre API liée au matériel). Désolé pour ça. Je pensais vraiment que c'était DX.

J'ai un tas d'EXE plein écran Windows 32 bits qui ont été compilés pour l'ère Windows XP et j'utilise une version de DirectX pour les paramètres du mode graphique: 320x240x8. Il est codé en dur, natif (non truqué en aucune façon), et les binaires ne peuvent pas être touchés, recompilés ou modifiés en aucune façon (ne demandez pas).

J'essaie de les faire fonctionner sur Windows 7 64 bits et versions ultérieures (il ne fonctionne même pas sur XP sans la bonne carte et le bon pilote, juste pour dissiper toute confusion). Ils ne fonctionnent que si la carte vidéo et son pilote prennent spécifiquement en charge ce mode, ce qui est extrêmement rare, qu'il soit exécuté sous XP ou 7. Les versions 32/64 bits semblent n'avoir aucun impact non plus.

Je suis sur ce problème depuis longtemps, demandant de l'aide à plusieurs reprises à des experts et obtenant toutes sortes de solutions potentielles, que j'ai essayées une par une. Chacun d'eux échoue avec la même erreur: impossible de définir le mode vidéo. Le problème est toujours qu'il ne peut pas définir le mode vidéo. La solution évidente est qu'il ne peut pas tenter de définir le mode vidéo, car il n'est pas pris en charge. J'ai donc besoin d'une sorte de petit EXE que je peux regrouper avec ces EXE et qui peut être configuré pour «envelopper» et le faire croire qu'il définit réellement le mode, alors qu'il fonctionne en fait dans une sorte de fenêtre vidéo émulée .

J'ai essayé "Wine sur Windows", divers utilitaires qui "changent la résolution" (y compris DXWIN et D3DWindower), en l'exécutant dans une machine virtuelle, les paramètres de compatibilité, etc. Presque tout ce à quoi vous pensez immédiatement. Rien ne fonctionne du tout. Mais le truc de la VM ne serait pas bon même si cela fonctionnait, car cela devait également être "distribuable".

Quelqu'un peut-il m'aider? Est-ce même possible de résoudre du tout? Cela semble si bizarre qu'il n'est pas possible de "tromper" les programmes en leur faisant croire qu'ils ont réussi à régler le mode vidéo.

J'espère qu'un véritable expert sera en mesure de trouver une solution.

user1696157
la source
Le fait que vous ayez dit que vous ne pouvez pas vous conformer à nouveau, etc., implique une expérience de programmation - êtes-vous en mesure de «regrouper» le logiciel dans le logiciel? EG, créer un nouveau logiciel avec une fenêtre 320x240 (un peu comme une vue)?
Dave
Eh bien, plus vraiment ... Je préférerais de loin une solution standardisée.
user1696157
Vous devriez peut-être publier ceci sur SO et demander des conseils spécifiques sur la meilleure façon de coder le wrapper (si une telle approche est même possible).
Karan
@Karan: sa question sur SO a été fermée comme hors sujet et on lui a demandé de poster ici. stackoverflow.com/questions/12576136/…
Harry Johnston
1
Êtes-vous sûr qu'il utilise DX et non un ancien OGL ou Glide?
Synetech

Réponses:

2

Totalement pas ce que cela signifiait réellement faire, et je ne peux pas dire si cela fonctionnera sans avoir les fichiers en question, mais vous pourriez être en mesure d'émuler une ancienne carte graphique avec 3danalyzer .Il émule une carte nvidia des séries 4000 et 5000 qui est relativement vieux et peut fonctionner.

Compagnon Geek
la source
Ça ne marche pas. Pardon. Rien ne semble fonctionner.
user1696157
1
@ user1696157 Que s'est-il passé lorsque vous avez essayé de l'exécuter? Quels ID de fournisseur / d'appareil émulé avez-vous essayé? Quelque chose de approprié lorsque la demande était nouvelle? Avez-vous activé la journalisation du débogage? Que dit le journal?
John Lyon
1
auriez-vous un fichier d'exemple que nous pourrions essayer - en supposant que ce soit quelque chose de redistribuable? C'est assez difficile à résoudre en aveugle.
Journeyman Geek
2

L' utilitaire PowerStrip (29,95 $ avec essai) peut ajouter des résolutions personnalisées pour votre moniteur. Pour les fous (comme le vôtre), on ne sait pas à quoi il ressemblera.

L'article wiki sur les modes d'affichage personnalisés montre comment cela se fait, et mentionne même spécifiquement des résolutions personnalisées comme 320x200 et 320x240.

À votre place, je l'essayerais peut-être d'abord sur une machine virtuelle, juste au cas où (même si je ne sais pas vraiment si cela fonctionnera correctement dans une machine virtuelle). Cela vous permettra de ne pas détruire l'écran de votre ordinateur pour rien, ainsi que de voir l'écran du moniteur dans sa taille réelle (petite) plutôt que d'éclabousser sur votre moniteur.

Si votre Windows est de 32 bits et votre carte vidéo est VGA, peut-être cet ancien article peut également aider: Tweaked VGA Modes .

[ÉDITER]

Une autre possibilité est d'utiliser regedit et la position à cette clé:
HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{video-card}\0000,
changer les touches suivantes: DefautlSettings.XResolution, DefautlSettings.YResolution, puis redémarrez.

Si rien ne fonctionne, votre carte vidéo peut être l'une de celles qui ne prend pas en charge les résolutions personnalisées, ajoutées via le pilote, PowerStrip ou dans regedit. Cela nous aiderait à connaître le modèle de votre carte.

harrymc
la source
1
J'ai essayé vos suggestions, mais cela ne fonctionne pas du tout. :(
user1696157
1
J'ai ajouté plus d'informations. De quelle manière PowerStrip n'a-t-il pas fonctionné pour vous?
harrymc
1
Cela n'a pas fonctionné comme dans "n'a pas fonctionné du tout".
user1696157
1
Eh bien ... je n'ai pas osé tester ces derniers programmes louche dans l'ordinateur réel, en fait. Mais cela ne devrait pas faire de différence ...
user1696157
1
Si le problème vient de votre carte vidéo, cela peut encore fonctionner avec une carte émulée d'une autre marque. PowerStrip ou le hack regedit devrait fonctionner si les conditions sont réunies.
harrymc