דף 1 מתוך 2

משחקי רזולוציות למתקדמים

נשלח: 18/10/2006 9:48
על ידי הקוסם
היי לכולם!

רציתי לשתף אתכם קצת בחוויות שלי מהתקנת מערכת מחשב ומסך LCD. החוויה כוללת נושאים טכניים מתקדמים יחסית, אבל היי, בשביל זה אתם פה, לא?

בקיצור, לאחר יציאתי בחזרה לחיי הרווקות, בהותירי מאחורי כמעט את כל רכושי, החלטתי לפנק את עצמי עם מערכת וידאו מבוססת מחשב בשביל הסלון הקטן שלי בדירה השכורה.
קודם כל, קניתי מחשב חביב מבוסס Intel Core 2 Duo, העמסתי עליו ATI X1900GT, ובזאת העמדתי את מקור השידורים שלי.
בנוסף, רציתי לקנות טלוויזיה, ובסוף הלכתי על טלוויזית LCD בגודל 40" של גרונדיג, GR40BS. עכשיו, לפני שאתם רוגמים אותי באבנים - כן, אני יודע שזה מוצר מדבקה, אבל המחיר עבד יופי עלי, ובנוסף, בתור אחד עם קצת ידע טכני, אני משתדל להתגבר על החסרונות של הצעצוע החדש.
חיברתי את כרטיס המסך שלי לטלוויזיה עם כבל DVI ל-HDMI, וקיוויתי לטוב. ועכשיו אנחנו מגיעים לנושא הרזולוציות.
הרזולוציה הטבעית (Native) של המסך היא (כפי שמפורסם) WXGA, כלומר 1366x768. רזולוציה זו ידועה בתור אחת שעושה כאבי ראש לכרטיסי מסך, ביחוד בגלל העובדה שהמספר 1366 לא מתחלק בשמונה (כרטיסי מסך מהדורות הקודמים עובדים רק עם גדלים שמתחלקים בשמונה). בחיבור נאיבי, מה שהצלחתי לשפוך החוצה מהמחשב זה 1280x720, שעבר הגדלה על ידי ה-Scaler הפנימי של הטלוויזיה. כלומר, אם אני מנסה להציג פרטים קטנים (כמו טקסט), הם נראים מטושטשים.

עכשיו, בשלב הבא, הורדתי את PowerStrip - למי שלא יודע, תוכנה נחמדה מטאיוואן, שמאפשרת לשלוט על הרבה פרמטרים מתקדמים של כרטיס המסך, ומשתמשים בה בעיקר לאנוס את כרטיס המסך להוציא רזולוציות לא סטנדרטיות (Custom resolution).
ניסיתי לשכנע את המחשב להוציא את הרזולוציה הטבעית של המסך, אבל ללא הועיל - כרטיס המסך סרב פקודה. הורדתי דרייברים מתקדמים (Omega Drivers), ניסיתי הכל, אבל אין מה לעשות, בכל רזולוציה שבחרתי במחשב, כרטיס המסך כל הזמן הוציא 1280x720.

ועכשיו עוברים לנושאים יותר מתקדמים - איך כרטיס המסך יודע איזה רזולוציה הטלוויזיה מצפה לקבל? ובכן, כאן בא לביטוי נושא ה-EDID. ה-EDID הוא בלוק של אינפורמציה בגודל 128 (בסיס) או יותר בתים, המתאר את היכולות של מכשיר תצוגה - שם דגם, רוויזיה, פרמטרי צבע, וביחוד איזה רזולוציות ואיזה פרמטרי תזמון המכשיר אוהב לקבל. האינפורמציה הזאת רצה מהטלוויזיה למחשב דרך כבל הוידאו בחיבור הראשוני (גם דרך VGA וגם דרך DVI או HDMI), וע"י כך כרטיס המסך מתאים את עצמו. לא משנה איזה רזולוציה אתה בוחר במערכת ההפעלה, הדרייבר של כרטיס המסך דואג לכך שהרזולוציה היוצאת ממנו תהיה אחת מאלה שרשומות ב-EDID. לדוגמא, אם בחרתי רזולוציה של 1366x768 במחשב, כרטיס המסך עשה scaling ל- 1280x720, שלח את זה למסך, שעשה scaling שוב ל-1366x768. מעצבן, לא?

וכאן עזרה לי העובדה שאני עובד בפיתוח חברה שמתעסקת בנושא תצוגות ומסכים דיגיטלים. כחלק מהפיתוח, פיתחנו כרטיס נחמד שאחד הדברים שאפשר לעשות איתו הוא לקרוא ולכתוב את בלוק ה-EDID. מה זאת אומרת לכתוב? בדרך כלל, בלוק ה-EDID יושב על EEPROM קטן, וניתן לקרוא אותו ולכתוב אליו דרך חיבור ה-HDMI, מבלי לפתוח את הטלוויזיה.
אז מה שעשיתי, על אחריותי בלבד, זה לקרוא את בלוק ה-EDID מהטלוויזיה, לשנות אותו כך שיאמר שהטלוויזיה מקבלת רזולוצית WXGA במקום 720p, ולצרוב אותו מחדש לטלוויזיה. לאחר מכן, חיברתי את המחשב והופ, פתאום התמונה נראית מה זה חדה :-) האמת, שהגעתי כמעט ל-100% - ברזולוציה האופקית אני בדיוק 1366, ובאנכית יש לי הבדל של שני פיקסלים, כלומר אני מניח שהרזולוציה האנכית האמיתית של הפאנל היא 766 או 770.
אבל יחסית זה לא נורא, ואיכות התמונה השתפרה מאוד יחסית לנקודת ההתחלה.

אז סה"כ יש סוף טוב לכל הסיפור, ועכשיו אני יושב בבית וצופה בסרטי HD על מסך 40", ונהנה מכל רגע...

נשלח: 18/10/2006 10:15
על ידי guyezra
סחטיין, בהחלט מעניין
תגיד, מה שעשית לא פוגע באחריות של המכשיר?

נשלח: 18/10/2006 10:32
על ידי kalinium
קודם כל סחתיין על האומץ להתעסק עם זה.
אולי תוכל לעזור לי עם בעיה שמטריפה אותי.
כרטיס מסך ATI X800 GTO, מחובר דרך HDMI ל-LCD VIEWPIA 37.
אם אני מחבר דרך VGA, אני יכול לראות מעולה את המחשב, כי זאת רזולוציה טבעית של המסך 1366X768, אבל כרטיס המסך לא נותן לי ברזולוציה הזאת לעבוד ב-50hz, וכל ריפרש אחר עושה קירטועים בשידורי PAL.
הדרך היחידה שלי לקבל 50hz היא בחיבור HDMI, אבל אז אני חייב לעבוד ב-1280X720, כי זה המקסימום שמאפשר כרטיס המסך, בריפרש הזה. אני יכול למשל 25hz ב 1920X1080, אבל שוב, שידורי PAL נראים מקרטעים.
ניסיתי להוריד את הריפרש עם powerstrip בחיבור VGA. ברגע שהוא יורד מתחת ל-59, המסך יout of range
כרגע אני עובד כאמור ב-1280X720' אבל אני מבין שסרטי 1080, אני קצת מפספס.
יש פתרון לזה בלי להחליף כל הזמן רזולוציות ידנית? האם אני יכול לכפות בחיבור VGA 1366X768 50hz?

נשלח: 18/10/2006 11:15
על ידי oferlaor
שאלה דבילית,

מכיר באופציה המתקדמת את
"HIDE MODES THAT THIS MONITOR CANNOT DISPLAY" ?

צריך לכבות את זה ואז ללחוץ על LIST ALL MODES... ולקוות שיש ברשימה את מה שאתה מתכוון.

אגב, EDID MANIPULATION ידוע כדבר שיכול לגרום לכל מני דברים שלא עובדים כשורה לעבוד נכון. כל הבעיות שיש עם HDMI עבור מכשירים מסויימים יכול להיפתר על ידי משחק עם EDID. באנגליה, למשל, הממיר של SKY מסרב לעבוד ב-SDTV כראוי ומתעקש לעשות את ההמרה לפרוגרסיב לבד. התברר שאם משאירים לו רק אופציה ל- 576i ב-EDID של המסך, הוא אכן מסוגל לעבוד כך - זה רק טעות בתוכנה (או התעקשות של התוכניתנים) שגורמת לו לעשות זאת.

אגב, אם תרצה להתעמק בנושא ה-EDID ולכתוב על זה מאמר, מאוד נשמח על כך.

נשלח: 18/10/2006 11:38
על ידי NirCohen
יפה מאוד (Y) .
תוכל לפרט טכנית איך ניתן לכתוב ולקרוא את ה EDID?

נשלח: 18/10/2006 12:01
על ידי aloni
כל הכבוד, בעייה נפוצה בהמון מסכים (חשבתי שאין אותה בפנסוניק אבל מסתבר שב- 50" היא קימת :( ).

לא יאמן שכל הבעיה זה ה- EDID 8O

בעצם לא הבנתי למה שינוי ה- EDID פתר את הבעיה... הרי כרטיס המסך לא חייב להייחס ל- EDID אם אתה עובד עם power strip.

נשלח: 18/10/2006 12:55
על ידי droren
נשמע ממש טוב, האם תוכל לספק גם קצת תמונות,מקורות,תרשימים ועל הדרך כתבה? :)

נשלח: 18/10/2006 13:28
על ידי הקוסם
ל-oferlaor ו-Aloni:
כמובן שאני מכיר את האופציה של Hide modes, אבל זה לא עוזר: הדרייבר של כרטיס המסך (לפחות במקרה של ATI), מתחייב לכבד את ה-EDID. יש הגיון בזה, כי סה"כ, המטרה היא שה-EDID יאמר לכרטיס המסך איזה רזולוציות המסך מוכן לקבל. זה שאני מכוון רזולוציה מסויימת ב-Windows, או דרך Powerstrip, לא אומר שכרטיס המסך באמת מוציא את הרזולוציה הזאת החוצה. לדוגמא, כיוונתי באמצעות Powerstrip את הרזולוציה ל-1366x768, אבל כרטיס המסך במציאות מוציא החוצה 1280x720, כי זה מה שיש לו ב-EDID.

יש כרטיסי מסך, כמו Pixel perfect, שבאים עם דרייברים שלהם אתה יכול להגיד להתעלם לחלוטין מה-EDID ולסמוך על זה שמה שרשום זה מה שהם מוציאים. זה לא המקרה אצל ATI (וכנראה גם אצל Nvidia).

לדוגמא, ציטוט מאתר התמיכה של Nvidia:
NVIDIA GPUs can now support horizontal timings that are not evenly divisible by eight. However, such resolutions (example H .1366 x V. 768) must be included within the Displays EDID* firmware. If your display manufacturer has neglected this support the best solution is to use the HDTV/DISPLAY as they intended by using a 480P, 720P, or 1080i display configuration now provided by the Forceware Release 60 and above reference driver.

ל-NirCohen:
אני השתמשתי בכרטיס מיוחד שפותח אצלנו בחברה. יכול להיות שישנה דרך לבצע את זה דרך כרטיס המסך - לא ידוע לי על דרך כזו :-(

ודרך אגב, אני אשמח לכתוב מאמר בנושא EDID, או בכל נושא אחר שקשור בתצוגות.

נשלח: 18/10/2006 13:31
על ידי aloni
מעניין.

מישהו בעבר אמר שיש דרך לקרוא את ה- EDID דרך VGA או DVI עם איזו תוכנה של לינוקס. מישהו זוכר?

נשלח: 18/10/2006 13:40
על ידי הקוסם
ל-guyezra:
לגבי האחריות, אין לי מושג... אבל, בהתחשב שלא פתחתי את הטלוויזיה, ושסביר להניח שרוב הטכנאים בארץ לא יכולים לעלות על מה שעשיתי, נראה לי שאפשר לבוא בשקט ולדרוש אחריות במקרה של בעיות.

ל-kalinium:
נשמע דומה לבעיה שלי. השאיפה שלך היא לעבוד דרך HDMI (חיבור דיגיטלי - איכות יותר טובה). ואם ה-EDID של המסך מגביל אותך, אין לך יותר מדי ברירות (חוץ ממה שאני עשיתי). לא הבנתי מה שידורי PAL קשורים לנושא - השידורים עוברים אצלך דרך המחשב?

ל-droren:
תמונות - השארתי את המצלמה שלי מאחור, אז אין לי דרך (חוץ מהסלולרי שלי)
מקורות:
http://en.wikipedia.org/wiki/EDID - הסבר קצר על EDID
ויש הרבה אינפורמציה רצה ברשת - צריך לחפש בפורומים בעיקר.
ולגבי תרשימים - מצטער, זו חומרה יעודית של העבודה שלי... :-(

עורכי EDID

נשלח: 18/10/2006 14:14
על ידי הקוסם
ל-Aloni:

לקרוא את ה-EDID אין בעיה. קח לדוגמא קישורים לעורכי EDID:

http://www.viewsonic.com/drivers/edid.exe
http://tucows.012.net.il/files3/Phoenix_1_3.zip

נשלח: 18/10/2006 14:20
על ידי kalinium
היי,
כן, השידורים עוברים דרך המחשב, זה הקטע של HTPC-PVR וכולי.

נשלח: 18/10/2006 14:57
על ידי oferlaor
יש המון בעיות עם EDID, זה דבר מקולל שלא יאמן.

באנגליה (SKY HD) הממיר מתעקש להוציא 1080i גם כאשר המקור הוא 576I (אתם יכולים לנחש שהתוצאה "לא משהו"). חסימת כל ה-EDID פרט ל- 576i פשוט פתר את הבעיה לאנשים.

נשלח: 18/10/2006 15:14
על ידי unsound_methods
aloni כתב:מעניין.

מישהו בעבר אמר שיש דרך לקרוא את ה- EDID דרך VGA או DVI עם איזו תוכנה של לינוקס. מישהו זוכר?
...
I did.

look for a package called readedid

I have a lot to contribute to this thread. will comment later

נשלח: 18/10/2006 15:54
על ידי aloni
תודה קוסם, methods מצפים לתגובותיך.

נשלח: 18/10/2006 15:58
על ידי aloni
מישהו יכול לאחד את שני השירשורים? זה משגע אותי :)

נשלח: 18/10/2006 16:19
על ידי MartinHSabag
נא לא לפרסם אותה הודעה ביותר מפורום אחד.
השירשורים אוחדו.

נשלח: 18/10/2006 20:03
על ידי unsound_methods
ובכן גם אני צברתי לא מעט זמן בנסיון לקנפג רזולוציות משונות - חלקן ל PWD8 וחלקן למסכי מחשב CRT. דווקא EDID עזר לי בחלק מהמקרים.

בכל אופן, יש כמה נקודות שהייתי מעוניין להדגיש, מנסיוני.

כרטיס המסך עצמו אינו מוגבל להוציא אות ברזולוציה שמדווחת ע"י EDID של המסך.
ההגבלה, אם יש כזו, נעשית ברמת התוכנה (הדרייבר). ישנן תוכנות שמטרתן לעקוף מגבלה זו, כדוגמת powerstrip.
לראיה, ה PWD8 שלי מדווח אך ורק שתי רזולוציות שהוא מוכן לקבל, שתיהן מאד לא סטנדרטיות. זה לא מנע ממני להזין לו מגוון רחב של רזולוציות כאלה או אחרות, עם נתוני timing שונים. אני עובד עם X ודרייבר של nvidia, לא נתקלתי בשום הגבלה. הכרטיס עצמו לא מבצע scaling, אלא מוציא בדיוק את האות שהגדרתי לו. המסך הוא הסקיילר. לראיה, שמבקשים מהמסך להציג את נתוני הסיגנל המוזן לו לכניסת ה VGA, הוא דיווח בדיוק מה שקנפגתי ב X.
אגב - תמיד אפשר להשתמש בכבל VGA ששלושת קווי ה DDC שלו לא מחווטים... כך המחשב לא יצליח לקרוא EDID...

לגבי רזולוציות לא סטנדרטיות - כאלו שלא מתחלקות ב 8.
גם כאן, למיטב הבנתי (לפי כל מה שקראתי), ההגבלה היא בתוכנה (בדרייבר), לא בחומרה (הכרטיס עצמו). קראתי שניתן לקנפג ל powerstrip רזולוציות שכאלה. אני עצמי לא ניסיתי.
במקרה שלי, הרזולוציה הנטיבית של ה PWD8 היא 852x480 (וזה גם אחד מה modes המדווחים ב EDID שלו) וכמובן 852 לא מתחלק בשמונה.
הגדרתי ב X להוציא 856x480. במסך, באמצעות בקר SIZE הוריתי לסקיילר למתוח טיפה אופקית, עד שהשגתי התאמת פיקסלים 1:1. אחר כך, באמצעות בקר POS איזנתי את התמונה אופקית, כך שמכל צד (ימין ושמאל) "ילכו לאיבוד" שתי עמודות של פיקסלים.

EDID עזר לי בקינפוג ערכי timings מדויקים ונכונים למסך. ברב המסכים הדיגיטאליים, חשוב שה vertical refresh rate יהיה זהה בדיוק ל rate הנטיבי של המסך, אחרת ישנן כל מיני תופעות של גמגומים (לא זוכר איך נקרא הארטיפקט הזה).
באמצעות EDID חילצתי את ערכי ה timing וקנפגתי בהתאם את ה X.

נשלח: 18/10/2006 20:27
על ידי kalinium
מישהו מכיר תוכנה שאומרת לך מה ה-refresh שכרגע מציג המסך, בכל רגע?

נשלח: 18/10/2006 21:09
על ידי maladjusted
unsound_methods כתב: לגבי רזולוציות לא סטנדרטיות - כאלו שלא מתחלקות ב 8.
גם כאן, למיטב הבנתי (לפי כל מה שקראתי), ההגבלה היא בתוכנה (בדרייבר), לא בחומרה (הכרטיס עצמו). קראתי שניתן לקנפג ל powerstrip רזולוציות שכאלה. אני עצמי לא ניסיתי.
במקרה שלי, הרזולוציה הנטיבית של ה PWD8 היא 852x480 (וזה גם אחד מה modes המדווחים ב EDID שלו) וכמובן 852 לא מתחלק בשמונה.
הגדרתי ב X להוציא 856x480. במסך, באמצעות בקר SIZE הוריתי לסקיילר למתוח טיפה אופקית, עד שהשגתי התאמת פיקסלים 1:1. אחר כך, באמצעות בקר POS איזנתי את התמונה אופקית, כך שמכל צד (ימין ושמאל) "ילכו לאיבוד" שתי עמודות של פיקסלים.

EDID עזר לי בקינפוג ערכי timings מדויקים ונכונים למסך. ברב המסכים הדיגיטאליים, חשוב שה vertical refresh rate יהיה זהה בדיוק ל rate הנטיבי של המסך, אחרת ישנן כל מיני תופעות של גמגומים (לא זוכר איך נקרא הארטיפקט הזה).
באמצעות EDID חילצתי את ערכי ה timing וקנפגתי בהתאם את ה X.
...
כנראה ששימוש ב-Modeline מאפשר ל-X לתמוך ברזולוציות לא סטנדרטיות. כיום אני עובד עם רזולוציה 800x600 ב-X עבור מקרן NEC HT410 (מחובר בכבל VGA, רזולוציה 854x480) אבל חיפוש בגוגל עבור הגדרות X ל x480 הביא אותי ל:
http://knoppmythwiki.org/index.php?page=XModLines
ראיתי שם גם הגדרות עבור PWD8 אבל לא עבור הדגם שלי. איך אני שולף ערכי timing ו refresh rate(או שזה משהו שאפשר למצוא בחוברת או באחד התפריטים)? כיום קובץ xorg.conf שלי מבוסס על מה שהתאים למוניטור הישן שלי + אולי כמה שאריות tv-out twinview clone ורואים סרטים בסדר גמור, אבל טקסט טיפה מטושטש.
בנוסף, ב http://en.wikipedia.org/wiki/XFree86_Modeline כתוב שהפיצ'ר הזה כבר אינו נחוץ כי יש בקובץ קונפיגורציה אפשרויות הגדרה נוחות יותר.
עריכה: http://support.nevt.co.jp/dl_service/da ... T510_E.pdf
ע"מ 65 כולל רשימה של אותות כניסה תואמים. מוזכר שם (SDTV (480p אבל לא מופיע שם ה-854 בשום מקום למעט הספציפיקציה.