Opened 2 years ago

Last modified 5 months ago

#12982 assigned bug

Screen is shifted a few pixels down leaving unused black space on the top

Reported by: FridayHaiku Owned by: pulkomandy
Priority: normal Milestone: R1/beta2
Component: Drivers/Graphics/intel_extreme Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

Details about the issue: first few pixels of the screen remain black and the screen area used by Haiku extends past the visible area of the monitor on the bottom by the same amount of missing pixels in the top.

Screen preferences identify my GPU as "Intel GMA (Atom N4xx)" (it's an Intel GMA 3150).

I am using the latest revision at the time of writing this (50563 gcc2 hybrid) but I also had this problem with rev 50559.

Forum thread about this issue is this one. As suggested in the thread blacklisting the intel_extreme driver (and using VESA) makes the problem go away.

Attachments (2)

syslog.txt (64.4 KB) - added by FridayHaiku 2 years ago.
intel.zip (59.3 KB) - added by humdinger 2 years ago.
intel_extreme of hrev50501

Download all attachments as: .zip

Change History (17)

Changed 2 years ago by FridayHaiku

Attachment: syslog.txt added

comment:1 Changed 2 years ago by korli

This is supposed to be a regression:

This didn't happen with older revisions (before 50559 I was using a version from August which displayed everything as expected, I can't remember the exact revision number).

comment:2 Changed 2 years ago by kallisti5

No intel_extreme changes occurred around hrev50559. Could you try with hrev50460 and report if the same issue still occurs?

You shouldn't need to install this one, only dd it to a usb flash drive and live boot it. (or rename the file in the zip to a .iso and boot it)

http://download.haiku-os.org/nightly-images/x86_gcc2_hybrid/haiku-nightly-hrev50460-x86_gcc2_hybrid-anyboot.zip

comment:3 Changed 2 years ago by FridayHaiku

The issue does not occur on rev 50460.

comment:4 Changed 2 years ago by kallisti5

Owner: changed from kallisti5 to pulkomandy
Status: newassigned

comment:5 Changed 2 years ago by kallisti5

Could you now test with hrev50504? This regression looks to have happened due to Pulkomandy's changes in hrev50504 or hrev50512

comment:6 Changed 2 years ago by kallisti5

hrev50504 contained a bunch of unrelated stuff that you won't see when clicking on the link... the two commits that are possible sources of this regression in hrev50504 are:

  • bb4190f0508392ca43d912b059a10e83268ed483
  • c2775a3bbe37d7e758fc73e844e5b4d499202ae8

comment:7 Changed 2 years ago by kallisti5

Ok, he undid a lot of those horrible hacks in hrev50512. Looking at the commits hrev50512 looks to contain the regression somewhere.

Regression causes:

Strong Maybe Things I don't agree with and need some additional research on their correctness. Intel docs say you *always* need to unlock the panel register on PCH or they won't change when modified.

  • LVDSPort init - No longer unlocking panel registers if PCH
  • enable_lvds_panel - No longer unlocking panel registers if PCH

Weak Maybe I want to beleve there was some research to this change as it "feels" ok ^_^

  • ConfigureTimings - Checking for a transcoder before setting display timings

I actually see the enable_lvds_panel change potentially causing the code to loop forever... if the panel registers aren't unlocked, you can't modify them to turn the panel on. If you can't modify them, the panel will never turn on... thus the for loop runs forever.

Last edited 2 years ago by kallisti5 (previous) (diff)

comment:8 Changed 2 years ago by pulkomandy

If I try to unlock the ports on my SandyBridge laptop, I only get a black screen. Maybe it is better for me to not touch them at all and hope the BIOS did set things the way we need.

In both this and the timings, there was not this much research from my side: I just made things happen in the same order they were before your changes, so as to get my native video mode working again.

I think we can reasonably expect the BIOS to setup LVDS properly. We may still need to adjust some display base address or similar.

For the timings, relying on the BIOS is not the safest way, especially on machines where it doesn't use the native mode.

I can try to further reduce my changes but I can only test on the hardware I own, which makes it a bit difficult for me to see if I fix your problem.

comment:9 in reply to:  5 Changed 2 years ago by FridayHaiku

Replying to kallisti5:

Could you now test with hrev50504? This regression looks to have happened due to Pulkomandy's changes in hrev50504 or hrev50512

I can't find that revision on the downloads page and to be honest I don't know how to build Haiku (I'm just an user). Is it okay if I try hrev50501?

comment:10 Changed 2 years ago by humdinger

I have attached a zip with the intel extreme driver and accelerant of hrev50501.

Here is how I think it should work that this older driver overrides the packaged one that's currently broken on your hardware:

  • copy intel_extreme to /system/non-packaged/add-ons/kernel/drivers/bin
  • put a link to it into /system/non-packaged/add-ons/kernel/drivers/dev/graphics
  • copy intel_extreme.accelerant to /system/non-packaged/add-ons/accelerant

Changed 2 years ago by humdinger

Attachment: intel.zip added

intel_extreme of hrev50501

comment:11 in reply to:  10 Changed 2 years ago by FridayHaiku

Replying to humdinger:

I have attached a zip with the intel extreme driver and accelerant of hrev50501.

Here is how I think it should work that this older driver overrides the packaged one that's currently broken on your hardware:

  • copy intel_extreme to /system/non-packaged/add-ons/kernel/drivers/bin
  • put a link to it into /system/non-packaged/add-ons/kernel/drivers/dev/graphics
  • copy intel_extreme.accelerant to /system/non-packaged/add-ons/accelerant

Thank you, this works.

comment:12 Changed 2 years ago by pulkomandy

Can you enter KDL and run the following commands (with both drivers if possible):

ie_reg 0x7119C
ie_reg 0x7019C

One of my machine had a similar problem, and I needed to set 7019C to the same value as 7119C:

ie_reg 0x7019C 0x100000

Does this help?

comment:13 in reply to:  12 Changed 2 years ago by FridayHaiku

I will try that during the week, sorry for the late reply I've been busy.

comment:14 in reply to:  12 Changed 2 years ago by FridayHaiku

Replying to pulkomandy:

Can you enter KDL and run the following commands (with both drivers if possible):

ie_reg 0x7119C
ie_reg 0x7019C

One of my machine had a similar problem, and I needed to set 7019C to the same value as 7119C:

ie_reg 0x7019C 0x100000

Does this help?

Sorry for the late reply, I tried it using hrev50608, both values are 0 in both drivers (modified and original). It didn't help.

comment:15 Changed 5 months ago by pulkomandy

Milestone: UnscheduledR1/beta2
Note: See TracTickets for help on using tickets.