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)
Change History (35)
comment:1 by , 6 years ago
follow-up: 4 comment:3 by , 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)
comment:4 by , 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 , 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.
comment:6 by , 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 , 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 , 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.
comment:8 by , 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 , 6 years ago
Blocking: | 14524 added |
---|
comment:10 by , 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 , 6 years ago
comment:12 by , 6 years ago
Here are results of "listimage | grep accel".
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:14 by , 6 years ago
To get you a previously working intel_extreme
driver what you can probably is to:
- clone haiku sources (see https://www.haiku-os.org/guides/building/get-source-git/)
-
git checkout hrev49662
- manually apply hrev52196
jam intel_extreme intel_extreme.accelerant
- blacklist
intel_extreme
andintel_extreme.accelerant
using this tutorial https://www.haiku-os.org/guides/daily-tasks/blacklist-packages/ - put newly compiled driver and accelerant into
/system/non-packaged/add-ons/kernel/drivers/bin
and/system/non-packaged/add-ons/accelerants
comment:15 by , 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 , 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 , 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:19 by , 6 years ago
Milestone: | R1 → R1/beta2 |
---|
by , 6 years ago
Attachment: | IMG_20190405_172557.jpg added |
---|
comment:21 by , 6 years ago
Booting with on screen output results in the above, and hangs on that screen until shutdown.
comment:22 by , 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 , 5 years ago
Component: | Drivers/Graphics/intel_extreme → Drivers/Graphics/intel_extreme/9xx |
---|---|
Owner: | changed from | to
comment:24 by , 5 years ago
Status: | new → in-progress |
---|
comment:25 by , 5 years ago
Hi,
Please test with a recent nightly and include an updated syslog if you still have problems.
comment:26 by , 5 years ago
Milestone: | R1/beta2 → R1/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 , 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. Here's the full error:
comment:28 by , 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 , 4 years ago
Milestone: | R1/beta3 → R1 |
---|
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.
Correction: The bug did not show up until the 50000 builds, sorry about that.