Opened 14 years ago

Closed 14 years ago

#5341 closed bug (fixed)

Graphics trouble, avoidable by entering boot menu

Reported by: andreasf Owned by: axeld
Priority: normal Milestone: R1
Component: System/Boot Loader Version: R1/Development
Keywords: Cc:
Blocked By: #5163 Blocking:
Platform: x86

Description

Since at least hrev35321, now at hrev35361, Haiku does not properly boot up anymore. It does not show the boot splash image but text output, and after entering the kernel it shows weird "color blocks" or artifacts from the last shutdown.

Entering the boot menu (on each boot) is sufficient to resolve the issue, I do not need to change any video-related options...

Graphics card is Nvidia GeForce FX 5700 (NV36). Monitor is 4:3, DVI-connected, with or without KVM switch. Same issue using a different, VGA-connected 4:3 monitor.

hrev35356 was a clean gcc4 hybrid build with prior rm -rf objects/.

Attachments (6)

bisect.log (3.9 KB ) - added by andreasf 14 years ago.
git-bisect log
r35050-reverted.diff (4.9 KB ) - added by andreasf 14 years ago.
workaround: revert hrev35050
Photo-0356sm.jpg (427.9 KB ) - added by prushik14 14 years ago.
Garbage on the screen
Photo-0357sm.jpg (382.1 KB ) - added by prushik14 14 years ago.
The text on the bootloader screen
esc.patch (643 bytes ) - added by Grey 14 years ago.
Replying to jackburton: Try this patch, plese. ESC searched only at last and prev to last keys codes.
esc2.patch (852 bytes ) - added by Grey 14 years ago.
Replying to andreasf: Try new patch, please. It's optimized patch.

Download all attachments as: .zip

Change History (21)

by andreasf, 14 years ago

Attachment: bisect.log added

git-bisect log

comment:1 by andreasf, 14 years ago

Blocked By: 5163 added
Component: - GeneralSystem/Boot Loader
Owner: changed from nobody to axeld

Bisection shows hrev35050 as first bad commit. Any ideas?

comment:2 by jackburton, 14 years ago

Which text output do you get ? Is it the boot loader debug info ? I have a similar problem since hrev35050 too, since I use need to hit ESC to enter the GRUB boot menu, then select to boot Haiku. I guess that the ESC state is not resetted, and it gets detected by the Haiku bootloader, thus showing the boot loader debug info. By entering the haiku bootloader menu I can bypass the issue.

in reply to:  2 comment:3 by andreasf, 14 years ago

Replying to jackburton:

Which text output do you get ? Is it the boot loader debug info ?

I guess so.

I guess that the ESC state is not resetted, and it gets detected by the Haiku bootloader, thus showing the boot loader debug info.

That may explain the lack of splash screen, but does it also explain not getting a working desktop afterwards?

Not knowing x86 too well, I have reverted the offending commit in my tree. HEAD then boots but has broken icons/Tracker, with or without boot menu.

by andreasf, 14 years ago

Attachment: r35050-reverted.diff added

workaround: revert hrev35050

in reply to:  2 ; comment:4 by Grey, 14 years ago

Replying to jackburton:

I have a similar problem since hrev35050 too, since I use need to hit ESC to enter the GRUB boot menu, then select to boot Haiku. I guess that the ESC state is not resetted, and it gets detected by the Haiku bootloader, thus showing the boot loader debug info. By entering the haiku bootloader menu I can bypass the issue.

How is configured GRUB. Why you need to hit ESC to enter the GRUB boot menu? As for me, I see GRUB menu (in graphic mode) immediate after turn on computer. If I press ESC, GRUB switch to text mode menu. You guess right. The patch http://dev.haiku-os.org/ticket/5163 look in keyboard buffer for hot-key codes (F8, F12, holding RShift or holding LShift for boot menu. ESC for debug output). Boot menu hot-keys have more priority. So try to press F8 or Shift before select to boot Haiku. We can make more complex algorithm for this search...

in reply to:  4 ; comment:5 by jackburton, 14 years ago

Replying to Grey:

Replying to jackburton:

I have a similar problem since hrev35050 too, since I use need to hit ESC to enter the GRUB boot menu, then select to boot Haiku. I guess that the ESC state is not resetted, and it gets detected by the Haiku bootloader, thus showing the boot loader debug info. By entering the haiku bootloader menu I can bypass the issue.

How is configured GRUB. Why you need to hit ESC to enter the GRUB boot menu? As for me, I see GRUB menu (in graphic mode) immediate after turn on computer. If I press ESC, GRUB switch to text mode menu.

Grub is configured to boot Ubuntu by default, without showing the menu. By hitting ESC I enter the boot menu (in text mode).

comment:6 by prushik14, 14 years ago

I also have the same problem, I also took pictures, but I can't upload without modifying them as they are too big.

by prushik14, 14 years ago

Attachment: Photo-0356sm.jpg added

Garbage on the screen

by prushik14, 14 years ago

Attachment: Photo-0357sm.jpg added

The text on the bootloader screen

comment:7 by koki, 14 years ago

FWIW, I have exactly the same problem in two different computers, one with an NVidia video card (working in accelerated mode) and another with Intel integrated video (working in VESA mode). No GRUB here, btw; using bootman to select the boot partition instead.

comment:8 by prushik14, 14 years ago

This bug may be difficult to track down and difficult to reproduce. It seems to occur only on certain hardware. I have two laptops: An HP Pavilion 8000zd (something in the 8 thousands) and a System 76 Pangolin (panp6) I installed Haiku from the exact same CD on both computers. My HP fails to boot normally, but my System 76 works wonderfully. Hope this helps.

comment:9 by Grey, 14 years ago

About garbage on the screen. It's problem of incorrect video mode setting when KDL activated. On my notebook Lenovo ThinkPad T400 it's possible to setup in BIOS graphics to "Integrated" or "Discrete". In first case Haiku I can't see Haiku logo on screen, but loading ok, and I see Haiku desktop. If KDL called on early (for example: if kernel panic), I see garbage on top of screen. In case of "Discrete", I see Haiku logo on screen and then I see Haiku desktop and KDL output ok.

by Grey, 14 years ago

Attachment: esc.patch added

Replying to jackburton: Try this patch, plese. ESC searched only at last and prev to last keys codes.

in reply to:  5 comment:10 by andreasf, 14 years ago

Replying to jackburton:

Grub is configured to boot Ubuntu by default, without showing the menu. By hitting ESC I enter the boot menu (in text mode).

Same configuration here.

comment:11 by andreasf, 14 years ago

The patch works for me, thanks!

by Grey, 14 years ago

Attachment: esc2.patch added

Replying to andreasf: Try new patch, please. It's optimized patch.

in reply to:  11 ; comment:12 by jackburton, 14 years ago

Replying to andreasf:

The patch works for me, thanks!

Works for me too, with the esc2.patch. Thanks!

in reply to:  12 ; comment:13 by jackburton, 14 years ago

Replying to jackburton:

Replying to andreasf:

The patch works for me, thanks!

Works for me too, with the esc2.patch. Thanks!

Applied in hrev35441. I'd close this one. andreasf ?

in reply to:  13 ; comment:14 by andreasf, 14 years ago

Replying to jackburton:

Replying to jackburton:

Works for me too, with the esc2.patch.

I'd close this one. andreasf ?

esc2.patch at hrev35440 shows me the splash screen and gets me to the desktop, too.

I am currently seeing weird graphics problems on the desktop though (what looks like a gdb screen in a KDL-like black-on-white-manner on the whole desktop but mouse still works, revealing the desktop, and windows can be moved but nothing else works). I'd assume it's unrelated and suggest to close this ticket.

in reply to:  14 comment:15 by mmlr, 14 years ago

Resolution: fixed
Status: newclosed

I am currently seeing weird graphics problems on the desktop though (what looks like a gdb screen in a KDL-like black-on-white-manner on the whole desktop but mouse still works, revealing the desktop, and windows can be moved but nothing else works).

That'd be consoled running GDB because one of the GUI servers crashed/invoked the debugger (in that case most likely the app_server). Capturing the stack trace and opening a new ticket would make sense, yes.

Closing this one, thanks for the fix and the feedback.

Note: See TracTickets for help on using tickets.