Opened 16 years ago

Closed 11 years ago

Last modified 5 years ago

#3846 closed bug (fixed)

Intel_extreme driver problem on i855g

Reported by: walera Owned by: pulkomandy
Priority: normal Milestone: R1/beta2
Component: Drivers/Graphics/intel_extreme Version: R1/Development
Keywords: Cc: ajitomatix@…, beos@…
Blocked By: #7662 Blocking:
Platform: x86

Description

I check Haiku on two notebooks with i855g chipset and see identical problem on internal LCD display (see photo in attachment). Upper 16 lines fill noise and lower 16 lines hidden.

Attachments (12)

Intel_extreme.JPG (82.8 KB ) - added by walera 16 years ago.
640x480_32.JPG (79.1 KB ) - added by walera 16 years ago.
800x600_32.JPG (81.6 KB ) - added by walera 16 years ago.
1024x768_8.JPG (80.9 KB ) - added by walera 16 years ago.
1024x768_16.JPG (83.7 KB ) - added by walera 16 years ago.
Haiku-Rev-33964-Partial-screen-at-1024x768.jpg (74.5 KB ) - added by ajitomatix 15 years ago.
Haiku-Rev-33964-Partial-screen-at-1024x768
Haiku-Rev-33964-Cannot-change-to-1200x800.jpg (112.2 KB ) - added by ajitomatix 15 years ago.
Haiku-Rev-33964-Cannot-change-to-1200x800
haiku r33964 KDL ints output.jpg (183.6 KB ) - added by ajitomatix 15 years ago.
haiku hrev33964 KDL ints output
listdev.out (3.0 KB ) - added by ajitomatix 15 years ago.
output of the listdev command
listimage_drivers.out (1.5 KB ) - added by ajitomatix 15 years ago.
drivers loaded
syslog.out (81.4 KB ) - added by ajitomatix 15 years ago.
syslog
0001-Intel_extreme-i855g-support-3846.patch (18.6 KB ) - added by pulkomandy 11 years ago.
Patch from github rebased on current sources.

Download all attachments as: .zip

Change History (45)

by walera, 16 years ago

Attachment: Intel_extreme.JPG added

comment:1 by axeld, 16 years ago

That probably means the video address is not properly set; the noise at the top is the memory at the start of the shared memory that is not used for the image itself.

Unfortunately, I don't have access to a i855g, and the i865g I have seems to work fine.

comment:2 by axeld, 16 years ago

Does changing the resolution work at all?

in reply to:  2 comment:3 by walera, 16 years ago

On first photo (Intel_extreme.jpg) resolution 1024x768 (native resolution for my notebooks) with 32 bit colors. Only this resolution acceptable for work. I add photos with resolution: 1024x768 8 bit (system hang up after apply this mode) - 1024x768_8.jpg 1024x768 16 bit - 1024x768_16.jpg 800x600 32 bit - 800x600_32.jpg 640x480 32 bit (system hang up after apply this mode) - 640x480_32.jpg

by walera, 16 years ago

Attachment: 640x480_32.JPG added

by walera, 16 years ago

Attachment: 800x600_32.JPG added

by walera, 16 years ago

Attachment: 1024x768_8.JPG added

by walera, 16 years ago

Attachment: 1024x768_16.JPG added

comment:4 by modeenf, 15 years ago

I think that Ticket #1299 are related. When I try to change resolution on my i855gm I get weird effects. Print screen don't show but perhaps changing resolution are a miner problem right now :)

comment:5 by ajitomatix, 15 years ago

Cc: ajitomatix@… added

comment:6 by ajitomatix, 15 years ago

Version: R1/pre-alpha1R1/alpha1

by ajitomatix, 15 years ago

Haiku-Rev-33964-Partial-screen-at-1024x768

by ajitomatix, 15 years ago

Haiku-Rev-33964-Cannot-change-to-1200x800

comment:7 by ajitomatix, 15 years ago

Version: R1/alpha1R1/Development

Confirmed that the bug exists in R1/Alpha1 as well as the most recent nightly (33964). Notice that in screenshot http://dev.haiku-os.org/attachment/ticket/3846/Haiku-Rev-33964-Partial-screen-at-1024x768.jpg only left portion of the screen is being recognized/rendered by Haiku. Also, in screenshot http://dev.haiku-os.org/attachment/ticket/3846/Haiku-Rev-33964-Cannot-change-to-1200x800.jpg changing the resolution results in mangled screen.

by ajitomatix, 15 years ago

haiku hrev33964 KDL ints output

by ajitomatix, 15 years ago

Attachment: listdev.out added

output of the listdev command

by ajitomatix, 15 years ago

Attachment: listimage_drivers.out added

drivers loaded

by ajitomatix, 15 years ago

Attachment: syslog.out added

syslog

comment:8 by ajitomatix, 15 years ago

I have found a workaround thanks to this BeOS R5 tip.

Since intel extreme driver is not working, the workaround is to use a VESA driver. To do that I did the following:

$> cd /boot/system/add-ons/kernel/drivers/dev/graphics/
$> sudo mv intel_extreme ~/

Then restart Haiku.

What this does is removes the symbolic link to the buggy intel_extreme driver. Haiku then has to fall back to VESA driver when it reboots.

This workaround is tested on R33964.

in reply to:  8 ; comment:9 by ajitomatix, 15 years ago

Correction. sudo is not needed neither implemented on R1/Alpha or R33964. So just run it without sudo:

$> mv intel_extreme ~/

Replying to ajitomatix:

$> sudo mv intel_extreme ~/

comment:10 by ajitomatix, 15 years ago

Note that with VESA driver in use I can only get 1024x768 resolution on my Dell Inspiron 700m LCD panel. Nevertheless, it is still better than having a buggy intel 855GM driver; gives a usable screen till the intel 855GM driver gets fixed.

in reply to:  9 comment:11 by umccullough, 15 years ago

Replying to ajitomatix:

Correction. sudo is not needed neither implemented on R1/Alpha or R33964. So just run it without sudo:

$> mv intel_extreme ~/

Note, you don't have to move the symlink to your home, you can also just rename the binary in place:

cd cd /boot/system/add-ons/kernel/drivers/bin
mv intel_extreme intel_extreme.disabled

which satisfies breaking the symlink in a way that prevents it from being loaded

comment:12 by scottmc, 13 years ago

Blocking: 7662 added

in reply to:  5 ; comment:13 by dukzcry, 13 years ago

Replying to ajitomatix: Hi, ajitomatix. This patchset fixes your problem: https://github.com/druga/haiku-stuff/tree/master/intel_extreme . Enjoy.

Last edited 13 years ago by dukzcry (previous) (diff)

comment:14 by Caylon, 12 years ago

Is the patch included in the latest nightly build? I tested hrev44270 on a Acer 662 which has a 82852/82855 Graphics Controller, but after the boot logo I get a distorted image.

If I connect an external display (22" widescreen Display) it works perfectly (1680x1050), so the problem only regards the internal display. (maybe there is a problem with the resolution 1400 x 1050? which is the max. resolution of the internal display)

Last edited 12 years ago by Caylon (previous) (diff)

comment:15 by Caylon, 12 years ago

Cc: beos@… added

in reply to:  14 comment:16 by dukzcry, 12 years ago

Replying to Caylon:

Is the patch included in the latest nightly build?

Still not included. You can apply it manually over Haiku's source tree, or i can send final driver binary to you (if you'll say which type of build you're using, gcc2 or gcc4 -based).

Version 0, edited 12 years ago by dukzcry (next)

comment:17 by Caylon, 12 years ago

ok thanks, I will try it on my own, I think it's not so difficult :)

in reply to:  13 ; comment:18 by walera, 11 years ago

Replying to dukzcry:

This patchset fixes your problem: https://github.com/druga/haiku-stuff/tree/master/intel_extreme . Enjoy.

Hi, dukzcry. Can you explain me commands for apply those patches to sources of intel_extreme driver? As I understand those patches not apply in last nightly buld because my problem (see 1st message in this trac) is not fixed. Right? Also I need of instruction for change current driver to new because I can't change any system file in last build of Haiku. Thank you in advance!

Last edited 11 years ago by walera (previous) (diff)

comment:19 by modeenf, 11 years ago

Think you have to do it manually. File to file. These don't look like it's made the correct way.

Adding/removing drivers after the PM introduction are not that easy I believe. You probably need to ask in IRC or mail the list.

in reply to:  18 ; comment:20 by dukzcry, 11 years ago

Hi, walera

Replying to walera:

Can you explain me commands for apply those patches to sources of intel_extreme driver?

Replying to modeenf:

Think you have to do it manually. File to file.

Yes, i've not prepared one-pass diff, so you should apply them manually, but since there are just few files around, it's not a big deal. Patches (named as patch-*) should be applied using 'patch -u < patch-* orig-file', other files just be put at appropriate locations. Dunno how they'll fit against current Haiku's build though. Replying to walera:

As I understand those patches not apply in last nightly buld because my problem (see 1st message in this trac) is not fixed. Right?

Right, they hadn't went into mainline. Or at least i've not notified about.

Also I need of instruction for change current driver to new because I can't change any system file in last build of Haiku.

Sorry, can't help here, i've been out of Haiku for at least 1.5 years. You'd better to follow modeenf's advice, or stick to an old Haiku's build.

in reply to:  20 ; comment:21 by walera, 11 years ago

Replying to dukzcry:

You'd better to follow modeenf's advice, or stick to an old Haiku's build.

Very thanks! I apply this patch https://github.com/druga/haiku-stuff/tree/master/intel_extreme to old haiku sources hrev44144, build and replace intel_extreme driver. This problem was fixed! How I must make for adding this patch to nearest nightly image and to Alpha5 in future?

Last edited 11 years ago by walera (previous) (diff)

in reply to:  21 comment:22 by dukzcry, 11 years ago

Replying to walera:

This problem was fixed!

Nice :)

How I must make for adding this patch to nearest nightly image and to Alpha5 in future?

You may contact bug's owner (axeld [at] pine-software.de), kallisti5 [at] unixzen.com (he's done a lot of graphics cards support) or some other developer, involved into device driver writing.

Last edited 11 years ago by dukzcry (previous) (diff)

comment:23 by modeenf, 11 years ago

How do you want to do with licens? Adding your name to the top of each change file?

I have today not an developming envirment but I have thought to get one :)

Last edited 11 years ago by modeenf (previous) (diff)

comment:24 by korli, 11 years ago

dukzcry, please state in https://github.com/druga/haiku-stuff/tree/master/intel_extreme/README.mkd that these changes are MIT licensed. Thanks !

comment:25 by pulkomandy, 11 years ago

Owner: changed from axeld to pulkomandy
Status: newassigned

Taking over this. Manually applying changes on my tree. Waiting for license confirmation before I commit it.

by pulkomandy, 11 years ago

Patch from github rebased on current sources.

comment:26 by pulkomandy, 11 years ago

patch: 01

comment:27 by pulkomandy, 11 years ago

I attached a patch in proper format against the current sources. Since I don't have the hardware, if someone could test this and confirm the issue is fixed, that would be nice.

I'll check that it doesn't break something on my machine.

My version of the patch includes some style fixes (this will need more work), and I made one functional change. You had disabled the head A setup, but I actually use this "clone" mode with the VGA output in some occasions. I prefer to keep it.

in reply to:  24 comment:28 by dukzcry, 11 years ago

Replying to korli:

dukzcry, please state in https://github.com/druga/haiku-stuff/tree/master/intel_extreme/README.mkd that these changes are MIT licensed. Thanks !

Done.

Patch from github rebased on current sources.

Thanks much for taking this!

comment:29 by pulkomandy, 11 years ago

Patch partially applied in hrev46694.

I removed the part about not switching the mode when the resolution isn't the same, because this prevented changing only the refresh rate. I'm also not sure the hack to get the native resolution set on boot is the right way to go, and as a result of removing that thing above, it will only work for the first workspace. We should find a better and cleaner way to handle that.

Also removed, as mentionned earlier, is disabling the initialisation for head A wen head B is detected. The "clone" mode where the internal panel and VGA output show the same thing can be useful, and it needs both initialized.

I made some style fixes in bios.cpp, but there is more work to do to get it into Haiku quality standards. I added several FIXMEs and TODOs and tried to clarify the comments.

Leaving ticket open until this is confirmed working by someone who had the problem before.

in reply to:  29 comment:30 by walera, 11 years ago

Replying to pulkomandy:

Leaving ticket open until this is confirmed working by someone who had the problem before.

I confirm - problem was fixed on my notebook with i855gm. I think this ticked can be close. Very thanks for fix this problem!

comment:31 by pulkomandy, 11 years ago

Resolution: fixed
Status: assignedclosed

comment:32 by waddlesplash, 6 years ago

Blocked By: 7662 added
Blocking: 7662 removed

comment:33 by nielx, 5 years ago

Milestone: R1R1/beta2

Assign tickets with status=closed and resolution=fixed within the R1/beta2 development window to the R1/beta2 Milestone

Note: See TracTickets for help on using tickets.