What's missing is the magic function that takes the VGA data and prints out as a 4-layer region… that didn't work and required some changes to ExtCreateRegion I believe -- otherwise ReactOS was booting with just black and white.
Eventually those were changes were reverted I think, then re-added back? I don't know anymore. I'll try to commit the missing file. -- Best regards, Alex Ionescu On 2011-10-17, at 5:49 AM, Timo Kreuzer wrote: > Hi, > > Since one of my recent video driver loading changes, livecd video is vga > mode. The reson is: > > When installing bootcd, there will be only 1 video driver installed: based on > 1st stage selection, either vbe or vga will be installed the other one is > deactivated (start mode = manual). When installing a 3rd party driver, that > one used to be installed and loaded prior to VBE and thus became > Device/Video0, which win32k happily used as primary adapter. > This behaviour changed with ACPI hal and VBE is loaded first, resulting is > non functional VBox driver. > I fixed this, by having win32k decide which driver to use, by looking if its > a vga compatible driver and use that one only as fallback, if no other is > present. additionally the VBE was marked as VgaCompatible. > Now livecd behaves differently and simply installs both VGA and VBE. and > since both are now marked as VgaCompatible, win32k doesn't know which one to > use and currently uses VGA. > > Now how does this work in Windows? Windows has only one Adapter installed for > VGA and VBE (vga.sys + vga.dll/vga256.dll/vga64k.dll/framebuf.dll) This > service is always loaded and marked as "VgaCompatible". It is also used when > a 3rd party driver is installed, when you switch to fullscreen console mode. > This adapter is only replaced by a 3rd party adapter if that one is also vga > compatible. > This way its easy for win32k to decide which one to use: based on whether > /BASEVIDEO is passed, either the vga compatible one or the other one can be > selected. > > Possible solutions: > 1) Add another workaround to win32k, checking if 2 VGA adapters are installed > and then using the first one, instead of the second one as currently (because > 1st is VGA, simply the second is used), but thats not a real solution. > 2) Fix whatever is neccessary to have VBE be replaced by a 3rd party driver > that is installed. (Cameron said it was related to VBE not being PNP ready.) > This way we can stop marking it as VgaCompatible. > 3) Combine VGA and VBE miniport into one vga compatible driver, like it's in > windows. Alex mentioned that eVb has more or less finished that. Question is: > whats missing to have the code comitted? > > Comments and feedback appreciated, > Timo > > > _______________________________________________ > Ros-dev mailing list > Ros-dev@reactos.org > http://www.reactos.org/mailman/listinfo/ros-dev _______________________________________________ Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev