Changes between Initial Version and Version 1 of Ticket #18317, comment 1
- Timestamp:
- Jul 2, 2023, 9:29:37 PM (17 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #18317, comment 1
initial v1 1 1 From examination of the above logs: 2 - VBT provides the correct resolution :2 - VBT provides the correct resolution ([https://cgit.haiku-os.org/haiku/tree/src/add-ons/kernel/drivers/graphics/intel_extreme/bios.cpp] function ''parse_vbt_from_bios''): 3 3 {{{ 4 4 KERN: intel_extreme: found LFP of size 1366 x 768 in BIOS VBT tables 5 5 }}} 6 - No EDID information is found 6 - No EDID information is found ([https://git.haiku-os.org/haiku/tree/src/add-ons/accelerants/intel_extreme/accelerant.cpp] function ''intel_init_accelerant''): 7 7 {{{ 8 8 KERN: intel_extreme: dump_ports: No ports connected 9 9 KERN: intel_extreme: Warning: zero active displays were found! 10 10 }}} 11 12 It thus seems that the correct resolution is kind of "filtered" in the next call : 13 11 It thus seems that the correct resolution is kind of "filtered" in the next call (function ''create_mode_list'' [https://git.haiku-os.org/haiku/tree/src/add-ons/accelerants/intel_extreme/mode.cpp] called from [https://git.haiku-os.org/haiku/tree/src/add-ons/accelerants/intel_extreme/accelerant.cpp] function ''intel_init_accelerant'' ): 14 12 {{{ 15 13 KERN: intel_extreme: CALLED status_t create_mode_list() 14 }}} 15 Or in the thereafter call (function ''intel_set_display_mode'' [https://git.haiku-os.org/haiku/tree/src/add-ons/accelerants/intel_extreme/mode.cpp]): 16 {{{ 16 17 KERN: intel_extreme: intel_set_display_mode(1024x768, virtual: 1024x768) 17 18 }}} 18 19 I tried to figure where the filter could happen in the code, may be there: 20 [https://git.haiku-os.org/haiku/tree/src/add-ons/accelerants/intel_extreme/mode.cpp] 21 {{{ 22 check_display_mode_hook limitModes = NULL; 23 if (gInfo->shared_info->device_type.Generation() < 4) 24 limitModes = limit_modes_for_gen3_lvds; 25 }}} 26 which is then used in 27 [https://git.haiku-os.org/haiku/tree/src/add-ons/accelerants/common/create_display_modes.cpp] 28 29 {{{ 30 void 31 ModeList::Filter(check_display_mode_hook hook) 32 { 33 if (hook == NULL) 34 return; 35 36 for (uint32 i = fCount; i-- > 0;) { 37 if (!hook(&fModes[i])) 38 _RemoveModeAt(i); 39 } 40 } 41 42 But no idea how to check that. 43 }}} 19 But no idea how to check what happened exactly.