Opened 3 months ago

Last modified 3 months ago

#19041 new bug

intel_extreme: Issues with Atom N4xx's (GMA3150)

Reported by: bipolar Owned by: pulkomandy
Priority: normal Milestone: Unscheduled
Component: Drivers/Graphics/intel_extreme Version: R1/beta5
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

hrev57937+83, but was the same before, I think all the way back to after hrev51078 fixed #12988 for me (I just kept using the default, working, resolution, only occasionally testing things further).


Issues with the internal display (no external monitor plugged in):

  • Internal display is 1024x600, but Screen shows *a lot* of resolutions in the 640x350 to 1920x1200 range. Limiting it to 640x480, 800x600, 1024x600 would work better, as I'm not sure that these cards can do scaling as more modern ones do (GeminiLake, for example). FWIW:
    • WinXP limits it to 800x600 or 1024x600.
    • VoidLinux shows 512x300 (doesn't works), 720x405, 640x480, 864x486, 800x600, 960x540, 1024x576, 1024x600.
  • Setting any other resolution than 1024x600 turns screen unusable (see attachment). Thankfully, it resets back properly to working resolution.
  • Screen brightness control shows up, but doesn't actually works.

Will provide clean syslog of it:

  • booting up
  • attempting to set and revert a couple of different resolutions.
  • attempting to change brightness.

Work-around for the brightness issue: use the Fn+brightness control keys during BootManager/bootloader.


When booting up with an 1920x1080 monitor connected via VESA:

  • Boots OK with resolution 1024x768 (autoselected after booting from using internal panel at 1024x600), albeit the internal panel remains ON, showing garbled output that depends on the resolution used (will attach screenshot).
  • Screen preflet shows more limited resolutions (still on the 640x350 to 1920x1080 range), but only a few work correctly. For resolutions that are:
    • < 1024x768 (startup res): screen doesn't gets upscaled to the whole monitor, and garbage remains on-screen.
    • > 1024x768: seems like a "virtual screen" extends beyond the limits of the monitor, but visible portions remain the same size as when 1024x768 was used.
    Seems like that in both cases it doesn gets to "fit to screen" properly, so to speak.

FWIW: On Linux, resolutions for the external monitor via VGA are in the 720x400 to 1920x1080 range (latter marked as prefered). WinXP uses 800x600 to 1920x1080 range.

Will provide clean syslog of it:

  • booting up
  • attempting to set and revert a couple of different resolutions.

Attachments (6)

listdev.txt (3.2 KB ) - added by bipolar 3 months ago.
syslog-internal-panel-only.txt (123.7 KB ) - added by bipolar 3 months ago.
syslog-external-monitor.txt (134.0 KB ) - added by bipolar 3 months ago.
garbled-output.jpg (101.4 KB ) - added by bipolar 3 months ago.
Attempting to change resolution for the LCD panel.
640x350.jpg (124.4 KB ) - added by bipolar 3 months ago.
Resolution change to 640x350 for the external monitor.
1920x1080.jpg (66.3 KB ) - added by bipolar 3 months ago.
Resolution change to 1920x1080 for the external monitor.

Download all attachments as: .zip

Change History (8)

by bipolar, 3 months ago

Attachment: listdev.txt added

by bipolar, 3 months ago

by bipolar, 3 months ago

Attachment: syslog-external-monitor.txt added

by bipolar, 3 months ago

Attachment: garbled-output.jpg added

Attempting to change resolution for the LCD panel.

by bipolar, 3 months ago

Attachment: 640x350.jpg added

Resolution change to 640x350 for the external monitor.

by bipolar, 3 months ago

Attachment: 1920x1080.jpg added

Resolution change to 1920x1080 for the external monitor.

comment:1 by pulkomandy, 3 months ago

It seems better to remove this card from the driver, if neither modesetting nor brightness work.

Otherwise, find the corresponding documentation from Intel, and try to implement things as documented there. We have a single intel driver, but the hardware and programming interface can be very different from one generation of cards to another. And if we use the wrong ones, of course, it doesn't work.

For the brightness, I also had some surprises on some machines, which decided to not use the Intel chip brightness control. For example on the ASUS eeePC they implemented an independant solution in the Embedded Controller, wiring it where the PS/2 port would normally be. I found out because someone published the schematics for the machine and I could check there (unfortunately that's not a thing a lot of manufacuters do).

comment:2 by bipolar, 3 months ago

Understood. I'll try to see if there's some "generation mismatch" (apparently these cards are more like GMA900/950 than anything newer).

For reference, I've tried booting with the VESA driver:

  • For the internal panel only offers 640x480 and 800x600 resolutions, which looks pretty bad compared to the native 1024x600 that intel_extreme driver provides.
  • For the external monitor connected via VGA, seems to work well even if the selection of resolutions is not ideal (1920x1080 not available, for example). Changing resolutions work, and the internal panel *does* gets turned OFF.

Using bios_patching true adds more resolutions, and some of those work OK while using an external monitor, but most do not for the LCD panel (even if 1024x600 finally appears as an option). For the latter, they image tends to appear on the wrong side of the screen, and things like that.

So maybe don't remove these GMA31xx from intel_extreme driver just yet :-) (we just need to not disturb it too much when using the onboard screen :-D)

Version 1, edited 3 months ago by bipolar (previous) (next) (diff)
Note: See TracTickets for help on using tickets.