2 पॉइंट द्वारा GN⁺ 2025-01-06 | 1 टिप्पणियां | WhatsApp पर शेयर करें

One Dog v. the Windows 3.1 Graphics Stack

परिचय

  • VGA हार्डवेयर को समझते समय पुराने वीडियो ड्राइवर में बदलाव करते हुए आने वाली समस्या को हल करने की कोशिश की गई।
  • Asus Eee PC 1000H पर Windows 3.11 इंस्टॉल करके सही वीडियो आउटपुट पाने का प्रयास।

Windows 3.x का डिफ़ॉल्ट वीडियो आउटपुट

  • डिफ़ॉल्ट रूप से Windows 3.x VGA 640x480 रिज़ॉल्यूशन पर 16 रंगों में rendering करता है।
  • Eee PC की 1024x600 स्क्रीन पर यह रिज़ॉल्यूशन उपयुक्त नहीं है।

Super VGA ड्राइवर की समस्या

  • Windows 3.11 में पुराने वीडियो एडाप्टर के लिए ड्राइवर तो मौजूद हैं, लेकिन वे Intel GMA 950 को सपोर्ट नहीं करते।
  • Super VGA ड्राइवर 1024x768 रिज़ॉल्यूशन और 256 रंग को सपोर्ट करते हैं, लेकिन काम नहीं करते।

IBM PC वीडियो की समस्या

  • VGA एक बहुत specific वीडियो कंट्रोलर है, जिसे 1980 के दशक में IBM ने डिज़ाइन किया था।
  • SVGA, VGA की तुलना में बेहतर टेक्नोलॉजी का संकेत देता है, लेकिन यह कोई एक standardized standard नहीं था।

VBE (VESA BIOS Extensions)

  • VBE एक ऐसा interface है जो software को वीडियो एडाप्टर से interact करने देता है।
  • BearWindows का VBE9x और VBEMP Windows 9x तथा NT पर VBE का उपयोग करने देता है।
  • SVGAPatch ने Microsoft के 256-color Super VGA ड्राइवर को patch करके उसे VBE के साथ काम करने योग्य बनाया।

SVGAPatch की समस्या

  • SVGAPatch DOS software के साथ compatibility समस्या उत्पन्न करता है।
  • DOS prompt खुलने पर स्क्रीन विकृत हो जाती है।

Windows 3.x की संरचना

  • Enhanced Mode में तीन operating systems एक साथ रन होते हैं।
  • Virtual machine manager VM बनाता है, और पहले VM के अंदर standard mode Windows चलता है।

डिस्प्ले ड्राइवर की संरचना

  • Windows Setup में वीडियो एडाप्टर चुनने पर कई ड्राइवर install हो जाते हैं।
  • इसमें Grabber, Display Driver और Virtual Display Device (VDD) होते हैं।

SVGAPatch का काम करने का तरीका

  • SVGAPatch एक विशिष्ट वीडियो मोड सेट करता है और VBE का उपयोग करके वीडियो मेमोरी को मैनेज करता है।
  • यह किसी खास वीडियो एडाप्टर की क्षमता बदलकर उसे VBE सपोर्ट करने के लिए सक्षम करता है।

VDD की भूमिका

  • DOS प्रोग्राम अपेक्षा करते हैं कि वे सीधे हार्डवेयर तक पहुंच सकें।
  • Windows इसे virtualized implementation के जरिए संभालता है。

निष्कर्ष

  • SVGAPatch बेहतर वीडियो आउटपुट देता है क्योंकि इसमें VBE का उपयोग होता है, लेकिन DOS प्रोग्रामों की compatibility समस्या अभी बाकी है।
  • VDD की जटिल state management शायद इस समस्या का कारण हो सकती है।

1 टिप्पणियां

 
GN⁺ 2025-01-06
Hacker News टिप्पणियाँ
  • आधुनिक PC पर Windows 3.x को लोड करके तुरंत डिफ़ॉल्ट VGA चला पाना सच में चौंका देने वाला है। लेकिन आधुनिक Linux/BSD में सही ड्राइवर और सेटिंग्स फ़ाइल के बिना डिफ़ॉल्ट software-accelerated VGA framebuffer support पाना मुश्किल है।

    • xfree86 प्रोजेक्ट शायद इसी समस्या को हल करने की कोशिश कर रहा था, लेकिन Xorg fork में यह approach आगे नहीं रखी गई।
  • Windows 3.1 का GUI वर्तमान संस्करणों की तुलना में ज्यादा intuitive, efficient और आसान लगता है।

  • Win11 का Start menu केवल keywords डालने और बाकी सबके लिए लगभग प्रार्थना करने पर ही इस्तेमाल के लायक लगता है—अन्यथा बहुत असुविधाजनक है।

  • Windows NT और 2k शायद सबसे बेहतर स्थिति में थे; उसके बाद product managers ने बदलाव शुरू कर दिए।

  • KDE और Gnome समय के साथ-ही-साथ और ज्यादा आकर्षक दिखने लगे हैं।

  • DOS prompt को window mode में खोलने पर स्क्रीन खराब दिखने की वजह यह है कि DOS prompt अलग VM में रन होता है।

    • VGA ROM BIOS शायद VBE का wrapper हो सकता है, जिसमें VBE I/O ports से communicate करने वाले IN और OUT निर्देश शामिल हो सकते हैं।
  • Windows 3.x/9x display driver writer ने I/O port trap सेट करके hardware access को virtualize करने का तरीका अपनाया था।

  • Virtual display device (VDD) वीडियो हार्डवेयर के लिए एक multiplexer की तरह काम करता है और जब DOS app पूर्ण स्क्रीन पर चलती है तो commands सीधे वास्तविक VGA adapter को भेजता है।

  • Windows 3.x GUI DOS VM में चलती है, और hypervisor kernel VMM32 इसे अन्य DOS process VM के साथ multiplex करता है।

  • Win9x VESA framebuffer driver बनाते समय यह समझ में आया कि GPU state save/restore करने का तरीका vendor के हिसाब से अलग-अलग होता है।

  • DOSBox में टेक्स्ट मोड corrupt हुए अक्षरों जैसा दिखता है, और Eee PC पर GUI के कुछ रंग ग़ायब हो जाते हैं।

  • मैं Eee PC पर 32-bit Debian चला रहा हूँ; Firefox भारी है, लेकिन mpv वीडियो स्ट्रीमिंग के लिए पर्याप्त ठीक से काम करता है।

  • पुराने DOS-based Windows संस्करण कैसे काम करते थे, इसे पढ़ते हुए मुझे हमेशा विस्मय महसूस होता है।

  • याद है कि जब ET4000H को Windows 3.1 में support नहीं किया जाता था, तब मैंने MS technical support से संपर्क करके driver disk मंगवाई थी।

  • मेरे पास EEEPC 207g है और इसे उपयोग करके retro games ट्राय करना मज़ेदार लगता।

  • GUI और DOS mode की state changes की तुलना करके patterns analyse किए।

  • वेबसाइट का design पुराने इंटरनेट के स्वर्णिम दौर की याद दिलाता है और काफी refreshing लगता है।