Author: kallisti5 Date: 2011-09-18 17:29:24 +0200 (Sun, 18 Sep 2011) New Revision: 42757 Changeset: https://dev.haiku-os.org/changeset/42757 Modified: haiku/trunk/src/add-ons/accelerants/radeon_hd/display.cpp Log: * ddc still giving 128 bytes of 0's * add code to check if 0 valid displays were found * if 0 edid's were found, we inject the first connector as a last resort... SimNow seems to be ok with this and I get a valid screen mode set :) Modified: haiku/trunk/src/add-ons/accelerants/radeon_hd/display.cpp =================================================================== --- haiku/trunk/src/add-ons/accelerants/radeon_hd/display.cpp 2011-09-16 19:31:02 UTC (rev 42756) +++ haiku/trunk/src/add-ons/accelerants/radeon_hd/display.cpp 2011-09-18 15:29:24 UTC (rev 42757) @@ -644,6 +644,18 @@ } } + // fallback if no edid monitors were found + if (displayIndex == 0) { + ERROR("%s: ERROR: 0 attached monitors were found on display connectors." + " Injecting first connector as a last resort.\n", __func__); + gDisplay[displayIndex]->active = true; + gDisplay[displayIndex]->connector_index = 0; + init_registers(gDisplay[displayIndex]->regs, displayIndex); + if (detect_crt_ranges(displayIndex) == B_OK) + gDisplay[displayIndex]->found_ranges = true; + } + + return B_OK; }