Opened 5 years ago

Last modified 7 weeks ago

#11268 assigned bug

intel_extreme picks wrong display mode at first boot

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

Description

This is hrev47891.

When I boot a pristine nightly image, the intel_extreme driver picks up my chipset, but distorts the picture by squashing it to the first quarter of the panel height.

listdev:

device Display controller (VGA compatible controller, VGA controller) [3|0|0]
  vendor 8086: Intel Corporation
  device 0416: 4th Gen Core Processor Integrated Graphics Controller

Should be work-aroundable by booting in safe-mode and changing the screenmode with the Screen preferences. I just took the ~/config/settings/system/app_server/* from a working installation...

Attached the syslog when Haiku picks the wrong mode.

Attachments (5)

syslog_hrev47891 (185.6 KB) - added by humdinger 5 years ago.
syslog
IMG_0182.JPG (1.4 MB) - added by vidrep 5 years ago.
workspaces_working.txt (5.6 KB) - added by humdinger 4 years ago.
working "workspaces"
workspaces_non-working.txt (12.2 KB) - added by humdinger 4 years ago.
not working "workspaces"
workspaces_non-working_2.txt (2.9 KB) - added by humdinger 4 years ago.
freshly created, non-working "workspaces" file

Download all attachments as: .zip

Change History (19)

Changed 5 years ago by humdinger

Attachment: syslog_hrev47891 added

syslog

comment:1 Changed 5 years ago by vidrep

It is also happening with Radeon cards as well.

comment:2 Changed 5 years ago by jessicah

It appears it's not able to fetch EDID information in intel_extreme, likely due to the recent changes in hrev47864.

comment:3 Changed 5 years ago by vidrep

I have had something similar happening with Radeon cards. Attached is a photo (image0182). Is this the same as what you are seeing with Intel video?

Last edited 5 years ago by vidrep (previous) (diff)

Changed 5 years ago by vidrep

Attachment: IMG_0182.JPG added

comment:4 Changed 4 years ago by humdinger

Booting the "Discover Haiku" stick (hrev48834), Haiku doesn't scramble the output anymore, but chooses the wrong mode, 1024x768@60Hz. Any try to change the resolution ends up with a scrambled screen. "message /boot/home/config/settings/system/app_server/workspaces" says:

BMessage('asws') {
        columns = int32(0x3 or 3)
        rows = int32(0x4 or 4)
        workspace[0] = BMessage(0x0) {
                screen[0] = BMessage(0x0) {
                        id = int32(0x0 or 0)
                        vendor = string("DEL", 4 bytes)
                        name = string("DELL U2412M", 12 bytes)
                        product id = int32(0xa079 or 41081)
                        serial = string("M2GCR25N0YEL", 13 bytes)
                        produced week = int32(0x15 or 21)
                        produced year = int32(0x7dc or 2012)
                        frame = BRect(l:0.0, t:0.0, r:1023.0, b:767.0)
                        mode = (type = 'RAWT')(size = 40)
                }
                screen[1] = BMessage(0x0) {
                        id = int32(0x0 or 0)
                        frame = BRect(l:0.0, t:0.0, r:1023.0, b:767.0)
                        mode = (type = 'RAWT')(size = 40)
                }
                color = int32(0xff000000 or -16777216)
        }

This is my working "workspaces" that I've been carrying with me for ages now:

BMessage('asws') {
        columns = int32(0x4 or 4)
        rows = int32(0x1 or 1)
        workspace[0] = BMessage(0x0) {
                screen = BMessage(0x0) {
                        id = int32(0x0 or 0)
                        frame = BRect(l:0.0, t:0.0, r:1919.0, b:1079.0)
                        mode = (type = 'RAWT')(size = 40)
                }
                color = int32(0xff986633 or -6789581)
        }
        workspace[1] = BMessage(0x0) {
                screen[0] = BMessage(0x0) {
                        id = int32(0x0 or 0)
                        vendor = string("LGD", 4 bytes)
                        name = string("", 1 bytes)
                        product id = int32(0x323 or 803)
                        serial = string("", 1 bytes)
                        produced week = int32(0x0 or 0)
                        produced year = int32(0x7dc or 2012)
                        frame = BRect(l:0.0, t:0.0, r:1919.0, b:1079.0)
                        mode = (type = 'RAWT')(size = 40)
                }

Attached both "workspaces" messages in full.

Changed 4 years ago by humdinger

Attachment: workspaces_working.txt added

working "workspaces"

Changed 4 years ago by humdinger

Attachment: workspaces_non-working.txt added

not working "workspaces"

comment:5 Changed 4 years ago by humdinger

Following friend DeadYak's suggestion, I deleted the "workspaces" file and changed modes in "Screen" prefs which creates a new "workspaces". This one doesn't have the wrong vendor string set, but doesn't work either... Attached the resulting "workspaces_non-working_2" file

I then changed the ~/config/kernel/drivers/vesa file from "1024 768 32" to "1920 1080 32". That had me boot to the correct resolution, though it's still scrambled.

Changed 4 years ago by humdinger

freshly created, non-working "workspaces" file

comment:6 Changed 4 years ago by humdinger

Sorry for spamming this ticket. That first non-working config file apparently has Dane's "DELL U2412M" monitor in it... But of course the newly generated file doesn't work either.

comment:7 Changed 4 years ago by vidrep

This sounds a lot like tickets #11180 and #11437.

comment:8 Changed 4 years ago by pulkomandy

I think our modesetting is not completely working for Intel HD 4000 and possibly other new cards. We rely a bit too much on the BIOS and the VESA splash screen setting up most things correctly, but then we are not capable of changing resolutions.

comment:9 Changed 4 years ago by luroh

Blocking: 12007 added

comment:10 Changed 4 years ago by humdinger

Just to state for others with the same issue the workaround:

  • enter the boot-options by holding SHIFT wile booting
  • choose "Use fail-safe video mode"
  • boot into Haiku and open the Screen preferences
  • change the video mode e.g. from 32bit to 16bit, apply, change back to 32bit, apply (you have to change something for the apply button to be clickable)
  • reboot

Now you should be able to boot without using fail-safe video mode.

comment:11 Changed 2 years ago by axeld

Owner: changed from axeld to nobody
Status: newassigned

comment:12 Changed 7 months ago by pulkomandy

Milestone: R1R1/beta2

comment:13 Changed 7 weeks ago by waddlesplash

Please retest after hrev53040.

comment:14 Changed 7 weeks ago by humdinger

Can't check until intel_extreme driver is working for my hardware, see #14643.

Note: See TracTickets for help on using tickets.