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

Reply via email to