Opened 6 years ago

Last modified 4 years ago

#14276 in-progress bug

intel_extreme: GM945 driver causes Haiku not to get past the splash screen.

Reported by: torad Owned by: pulkomandy
Priority: normal Milestone: R1
Component: Drivers/Graphics/intel_extreme/9xx Version: R1/Development
Keywords: Cc:
Blocked By: Blocking: #14524
Platform: x86

Description

My netbook, the Dell Latitude 2100 will not boot past the splash screen while using the default driver (intel_extreme), and can only get past the splash screen while using the backup VESA driver. This seems to be a bug started from the nightly 41000 build to the present 52000 builds.

Attachments (6)

syslog (356.5 KB ) - added by torad 6 years ago.
syslog from Haiku hrev49662
syslog.2 (452.6 KB ) - added by torad 6 years ago.
syslog from recent Haiku hrev52211
DSCN0406.JPG (4.9 MB ) - added by bbjimmy 6 years ago.
photo of on-screen debug output during boot.
20180812_144612.jpg (2.2 MB ) - added by torad 6 years ago.
It seems for me, the point at which the splash screen freezes is at the main driver. Not the accelerant. It doesn't seem to start the accelerant at all.
wow.png (454.0 KB ) - added by torad 6 years ago.
Here is the listdev output.
IMG_20190405_172557.jpg (657.7 KB ) - added by torad 6 years ago.

Change History (35)

comment:1 by torad, 6 years ago

Correction: The bug did not show up until the 50000 builds, sorry about that.

comment:2 by waddlesplash, 6 years ago

Please post a syslog from a working build.

by torad, 6 years ago

Attachment: syslog added

syslog from Haiku hrev49662

by torad, 6 years ago

Attachment: syslog.2 added

syslog from recent Haiku hrev52211

comment:3 by pulkomandy, 6 years ago

This log seems to be several boots with the VESA driver, and none with intel_extreme enabled. The previous one is old, and the driver didn't have very good tracing then.

So:

  • delete your syslogs in /var/log/syslog
  • enable intel_extreme
  • reboot to black screen
  • shut down computer cleanly (press the power button once)
  • reboot to VESA
  • get the syslogs from /var/log/syslog* (there may be .old files, etc, grab them all just in case)

in reply to:  3 comment:4 by torad, 6 years ago

Replying to pulkomandy:

This log seems to be several boots with the VESA driver, and none with intel_extreme enabled. The previous one is old, and the driver didn't have very good tracing then.

So:

  • delete your syslogs in /var/log/syslog
  • enable intel_extreme
  • reboot to black screen
  • shut down computer cleanly (press the power button once)
  • reboot to VESA
  • get the syslogs from /var/log/syslog* (there may be .old files, etc, grab them all just in case)

It's not giving any syslogs with intel_extreme. It's hanging on the splash screen, of which I assume the syslog daemon isn't started from. (if I'm wrong please correct me)

comment:5 by bbjimmy, 6 years ago

On hrev52197, I removed all the log files to verify that I was only logging the error and re-booted. The system hangs after the rocket lights up, requiring the power switch to be pressed to re-boot. I chose a different install to boot this time, and found no logs in the /boot/system/var/log directory of the hrev52197 install. There is no log file written for this error.

Last edited 6 years ago by bbjimmy (previous) (diff)

by bbjimmy, 6 years ago

Attachment: DSCN0406.JPG added

photo of on-screen debug output during boot.

comment:6 by pulkomandy, 6 years ago

Ok, indeed if it freezes completely, the relevant part of the syslog don't get flushed to disk. But if the screen doesn't turn black, this also means we can rely on the on-screen debug.

So, I made a build of the accelerant with extra tracing based on bbjimmy's capture: http://pulkomandy.tk/drop/intel_extreme.accelerant

If you can install this in non-packaged and blacklist the original driver, then boot with on screen debug enabled. We should get a more precise idea where it crashes. This may take a few back and forth attempts before we nail the problem.

by torad, 6 years ago

Attachment: 20180812_144612.jpg added

It seems for me, the point at which the splash screen freezes is at the main driver. Not the accelerant. It doesn't seem to start the accelerant at all.

comment:7 by pulkomandy, 6 years ago

Ok, then we have two different problems.

@bbjimmy, can you open a separate ticket for yours?

@torad: can you include listdev output so I know which generation of card we're dealing with?

In your case, it seems we don't manage to allocate RAM for the framebuffer and map it between the CPU and GPU. I see there were some changes in that area for some GPU generations, so I need to know which one we're dealing with here.

Last edited 6 years ago by pulkomandy (previous) (diff)

by torad, 6 years ago

Attachment: wow.png added

Here is the listdev output.

comment:8 by LeapingFrog, 6 years ago

I am a new comer. I find a similar symptom on my machine. I created a ticket #14524 but it seems the problem is the same.

I think I can cooperate by reporting syslog and symptoms by booting with debugger options set in several ways.

Indeed, my situation is suitable for tests. I can install several revisions of Haiku-OS to different partitions and compare syslog/symptom by booting again and again. Three partitions of 2 GiB for Haiku-OS is OK. I wait for hints on debugger options, revisions and so on.

comment:9 by diver, 6 years ago

Blocking: 14524 added

comment:10 by LeapingFrog, 6 years ago

I was silly. The disk does not accept so many partitions.

So, I tried booting from USB. The revision is hrev49662 and it booted without any problem. I used diff to find out the difference of syslog of hrev52357 and of hrev49662.

I found syslog of hrev52357 says

KERN: intel_extreme: Warning: zero active displays were found!

After this point, several messages on 10baseT continues. If we move to a little earlier messages, we find

KERN: loaded driver /boot/system/add-ons/kernel/drivers/dev/graphics/vesa
KERN: register_domain(5, internet6)
KERN: devfs: "intel_810" api_version missing
KERN: i810: init_hardware() - no supported devices

I think the newer revision gives up graphics after it failed in advances features of graphic controllers.

comment:11 by diver, 6 years ago

It looks like there was either a regression in intel_extreme driver or your graphics card wasn't supported by this driver in hrev49662 so it used vesa driver.

Can you check this by booting to hrev49662 and issuing listimage | grep accel?

comment:12 by LeapingFrog, 6 years ago

Here are results of "listimage | grep accel".

hrev49662

1089 0x01cbb000 0x01cc9000     0          0 /boot/system/add-ons/accelerants/intel_extreme.accelerant

hrev52357 with fail_safe_video_mode

 1051 0x005b9000 0x005bd000     0          0 /boot/system/add-ons/accelerants/vesa.accelerant

For hrev52357 without fail_safe_video_mode, I need a trick to run a shell script under black screen. If Haiku has login script, I can put suitable shell commands in login script and collect data.

I insist the previous messages from syslog are taken from hrev52357 without fail_safe_video_mode.

I now feel I should emphasize more messages placed before 10baseT in syslog.

KERN: intel_extreme: Probing DisplayPort 1intel_extreme: IsConnected: DisplayPort A PortRegister: 0x2004000
KERN: intel_extreme: IsConnected: DisplayPort A link not detected
KERN: intel_extreme: Probing DisplayPort 2intel_extreme: IsConnected: DisplayPort B PortRegister: 0x5004100
KERN: intel_extreme: IsConnected: DisplayPort B link not detected
KERN: intel_extreme: Probing DisplayPort 3intel_extreme: IsConnected: DisplayPort C PortRegister: 0x5004200
KERN: intel_extreme: IsConnected: DisplayPort C link not detected
KERN: intel_extreme: Probing DisplayPort 4intel_extreme: IsConnected: DisplayPort D PortRegister: 0x5004300
KERN: intel_extreme: IsConnected: DisplayPort D link not detected
KERN: intel_extreme: Probing eDPintel_extreme: IsConnected: Embedded DisplayPort A PortRegister: 0x2004000
KERN: intel_extreme: IsConnected: Embedded DisplayPort A link not detected
KERN: intel_extreme: Probing HDMI 2intel_extreme: Probing HDMI 3intel_extreme: Probing HDMI 4intel_extreme: Probing DVIintel_extreme: IsConnected: DVI B PortRegister: 0x5001140
KERN: intel_extreme: CALLED status_t Port::GetEDID(edid1_info *, bool = false)
KERN: intel_extreme: DVI B: trying to read EDID
KERN: intel_extreme: DVI B: using ddc @ 0x4005020
KERN: DDC: ddc2_read: DDC information read failure
KERN: Last message repeated 3 times.
KERN: intel_extreme: DVI B: no EDID information found.
KERN: intel_extreme: Probing LVDSintel_extreme: IsConnected: LVDS C PortRegister: 0x5001180
KERN: intel_extreme: CALLED status_t Port::GetEDID(edid1_info *, bool = false)
KERN: intel_extreme: LVDS C: trying to read EDID
KERN: intel_extreme: LVDS C: using ddc @ 0x4005018
KERN: DDC: ddc2_read: DDC information read failure
KERN: Last message repeated 3 times.
KERN: intel_extreme: LVDS C: no EDID information found.
KERN: intel_extreme: LVDS: Couldn't find any valid EDID!
KERN: intel_extreme: Probing Analogintel_extreme: IsConnected: Analog A PortRegister: 0x5001100
KERN: intel_extreme: CALLED status_t Port::GetEDID(edid1_info *, bool = false)
KERN: intel_extreme: Analog A: trying to read EDID
KERN: intel_extreme: Analog A: using ddc @ 0x4005010
KERN: DDC: ddc2_read: DDC information read failure
KERN: Last message repeated 3 times.
KERN: intel_extreme: Analog A: no EDID information found.
KERN: intel_extreme: dump_ports: No ports connected
KERN: intel_extreme: Warning: zero active displays were found!

I detect the order:

   (VESA -->) DisplayPorts --> HDMI --> DVI.

This might be related to the topic

Black screen after “rocket”, no chance to enter bootmenue

of tlb dated October 2017 in the Forum.

As a Mac user , I guess the right order is

   VESA --> DisplayPorts --> DVI --> HDMI.

And the OS should use the last one which is available. Among 3 stages of availability

supported device in the machine --> connection at use --> connected display powered up,

I think the last stage (connected display powered up) is preferable.

I would like to ask two things.

   Current revision might be use the availability in the sense of "supported device in the machine"
   This might hide HDMI connection in the machine with DVI ports present but without DVI ports connected to any display.

   Current revision might be forgetting the successful connection after it begins to search for more advanced connections.

comment:13 by diver, 6 years ago

Ok, this looks like a regression in intel_extreme driver then.

comment:14 by diver, 6 years ago

To get you a previously working intel_extreme driver what you can probably is to:

comment:15 by LeapingFrog, 6 years ago

It took 2 days. I cloned haiku source on my macBook and tried to copy the entire source to BFS on my PC. For this, I needed to expend the BFS. Technically, this means I neeeded to remove the partition of BFS by some software on Windows and then shrink the partition of Windows ( " C: " ). The day before yesterday, "diskpart" on Windows refused to shrink so much. I looked for workaround and the solution was "EasuUs Patition Master". I admit it was rather complicated. Anyway, I managed to create a partition of roughly 8.9 GiB. I installed Haiku on it.

Now, I copied buildtools and haiku to the directory HaikuSource on BFS on my PC. I typed "git checkout hrev49662" on the Terminal of haiku. (I was on the working directory set to haiku.) The command gave an error message

    error: Your local changes to the following files would be overwritten by checkout:
    ....
    Please commit your changes or stash them before you switch branches.
    Aborting

The "..." is a list of about 40 pathnames.

I do not know what went wrong. I might need to issue some command before "git clone ..." , or it might be a bad idea to use macOS drag and drop to copy buildtools and haiku to USB, or may be the source on the git-hub was not ready for git's checkout.

Is there some workaround?

If this problem is solved then I need to know hot to manually apply hrev52196 .

I believe "jam intel_extreme intel_extreme.accelerant" is a command on Terminal. I think I saw documents on blacklisting and non-packaged. So, the last three steps should be OK.

comment:16 by diver, 6 years ago

It is much easier to compile Haiku from within Haiku, so I'd recommend to do that. This way you don't need to get buildtools. I hope it still works as hrev49662 is rather old. Otherwise you'll need to get haiku image from around that revision.

get the sources

  • git clone https://review.haiku-os.org/haiku

download the patch

  • wget https://git.haiku-os.org/haiku/patch/?id=cd7bd4377832d6860578ba5428bb732a093af637 -O intel_extreme.patch

and another one I forgot

  • wget https://git.haiku-os.org/haiku/patch/src/add-ons/kernel/drivers/graphics/intel_extreme?id=5bd8cf13c57941483f0a3df97ce2b624c379d2d8 -O intel_extreme2.patch

apply them

  • patch -p1 < /path/to/intel_extreme.patch
  • patch -p1 < /path/to/intel_extreme2.patch

configure the build

  • ./configure

build the driver and accelerant

  • jam intel_extreme intel_extreme.accelerant

comment:17 by LeapingFrog, 6 years ago

I made progress but still suffer from problems of network.

I downloaded a versio of wget which supports my mac. (McOS 10.9) I got two patches. I moved them to haiku via USB-Stick. I applied them to the source and then I ran "sh ./configure". The next thing was "jam intel_extreme intel_extreme.accelerant". This resulted in a failure. The error message began with the follwoing lines.

DownloadLocatedFile1 /boot/home/HaikuSource/haiku/generated/download/gcc_x86_syslibs_devel-7.3.0_2018_05_01-3-x86_gcc2.hpkg 
--2018-09-30 10:20:41--  https://eu.hpkg.haiku-os.org/haikuports/master/build-packages/49928953773cf053b5dcd916d10aba130181cb5cf5d6e440528ebbca9ffb85d6/packages/gcc_x86_syslibs_devel-7.3.0_2018_05_01-3-x86_gcc2.hpkg
Resolving eu.hpkg.haiku-os.org... failed: Non-recoverable failure in name resolution.
wget: unable to resolve host address ‘eu.hpkg.haiku-os.org’

}}
I think I must download several files manually through my mac.

Currently, compilation on myMc is difficult.
I need to create a case-senstive file system.
Does it work on USB-Stick?

A tricky work around is to move everything on a case-sensitive file system and then "Jam" on my macBook.
After that move everything to haiku and then "Jam" again.

comment:18 by korli, 6 years ago

You should build Haiku on an OS which access internet

comment:19 by pulkomandy, 6 years ago

Milestone: R1R1/beta2

comment:20 by waddlesplash, 6 years ago

Please retest after hrev53040.

by torad, 6 years ago

Attachment: IMG_20190405_172557.jpg added

comment:21 by torad, 6 years ago

Booting with on screen output results in the above, and hangs on that screen until shutdown.

comment:22 by pulkomandy, 5 years ago

Please try with https://review.haiku-os.org/c/haiku/+/1900 (no fixes, just extra tracing to see exactly where it locks). When taking pictures try to not truncate the end of lines, all bits of information are important.

For your convenience here is a pre-built driver for 32bit intel: http://pulkomandy.tk/drop/intel_extreme_14276

comment:23 by pulkomandy, 5 years ago

Component: Drivers/Graphics/intel_extremeDrivers/Graphics/intel_extreme/9xx
Owner: changed from kallisti5 to pulkomandy

comment:24 by pulkomandy, 5 years ago

Status: newin-progress

comment:25 by pulkomandy, 5 years ago

Hi,

Please test with a recent nightly and include an updated syslog if you still have problems.

comment:26 by pulkomandy, 5 years ago

Milestone: R1/beta2R1/beta3

Move intel_extreme tickets where the original reporter is not responding to beta3. They can be moved back if we get some feedback, but otherwise, no progress will be made. So let's focus on people who keep their bugreports up to date.

comment:27 by torad, 4 years ago

Sorry for not updating this bug report. I tested a recent nightly (hrev54613) on the netbook and got the same error I did before, I still cannot get a syslog either since the machine does not boot fully and hangs on the error. https://i.ibb.co/xFgb3jB/photo-2020-10-04-18-49-33.jpg

Version 1, edited 4 years ago by torad (previous) (next) (diff)

comment:28 by bruno, 4 years ago

I use Haiku 32bit newest hrev:54 840 and have the same hardware specs with listdev and listimage grep accel. vendor: 8086 device: 27a6

Besides a delay after start, I have not much problems with the driver. The driver works only with a screen size of max: 1024 x 600! The settings higher than this will have no affect and so doesn't work! The only problem is when the mouse pointer is moved it will consume almost all of the system resources! Maybe I can help with a syslog or some tests?

comment:29 by pulkomandy, 4 years ago

Milestone: R1/beta3R1

No one is working on the intel driver at the moment so it seems no progress will be made on these issues for beta3. Remove them from the milestone so we can better see our status.

Note: See TracTickets for help on using tickets.