Comment 48 for bug 508699

Revision history for this message
Thomas Schweikle (tps) wrote :

Quite difficult, because I do not have ways to debug from an other system and at the moment the system crashes my debugger crashes too :(
But as far as I advanced Windows loads, VGA graphics are initialized, User logs on, then further graphics initializations are performed. Part of this is installing an IRQ handler for the graphics adapter. Finally graphics resolution is set to what the user adjusted it and then IRQs are enabled again.

Booting Linux from power off state loads the kernel and initdisk, Then control is transfered to the kernel. There is *no* IRQ handler installed. Calling X11 then enables the IRQ for the graphics adapter. As soon as one IRQ is generated, the whole system freezes, because the IRQ handler points to useless code.

If I've booted Windows (or systemrescuecd) before, the handler, installed and initialized, handles the IRQ, as it did with Windows (or systemrescuecd) running. Since both handlers do not call any other code they work as expected even if the system changes.

I could not find any way to deactivate IRQ allocation for the graphics adapter. But enabling memory testing wiped the installed handler. With memory testing enabled it wasn't possible to boot Ubuntu 10.04 beta! The system froze as soon as it tried to access graphics, generating an IRQ.

With an Vanilla kernel right from kernel.org I could make the whole thing work too. Leading to conclusion that some patch from Ubuntu must have side effects removing the IRQ handler install for the graphics adapter.