Bug 13485 - Console uses less than full resolution
Console uses less than full resolution
Status: CLOSED CODE_FIX
Product: Drivers
Classification: Unclassified
Component: Video(DRI - non Intel)
All Linux
: P1 normal
Assigned To: drivers_video-dri
:
Depends on:
Blocks: 13070
  Show dependency treegraph
 
Reported: 2009-06-08 10:16 UTC by Brian Rogers
Modified: 2009-06-14 16:20 UTC (History)
4 users (show)

See Also:
Kernel Version: v2.6.30-rc8-5-gc9fb15f
Tree: Mainline
Regression: Yes


Attachments
dmesg output (46.21 KB, text/plain)
2009-06-08 10:16 UTC, Brian Rogers
Details

Description Brian Rogers 2009-06-08 10:16:42 UTC
Created attachment 21805 [details]
dmesg output

I have a laptop with i965 graphics and a 1280x800 display. Up until a certain commit, the KMS framebuffer filled the whole screen at native resolution.

Since this commit, the console fills only a 1024x768 area, anchored to the top left corner, leaving blank the right and bottom edges of the screen. usplash also runs at 1024x768. X still uses 1280x800, however.

The console appears to be picking a resolution to accommodate the TV out, according to the following in dmesg:

[    1.217492] allocated 1280x800 fb: 0x007df000, bo ffff88013e6d2540
[    1.279983] [drm] TV-13: set mode 1024x768 18
[    1.360854] [drm] LVDS-8: set mode 1280x800 15
[    1.645634] Console: switching to colour frame buffer device 128x48
[    1.648155] fb0: inteldrmfb frame buffer device

No TV is connected, and xrandr correctly reports 'TV1 disconnected'. I assume that the TV out should be irrelevant in picking the console resolution, then.


The problem appears with this commit:

commit c9fb15f60eb517c958dec64dca9357bf62bf2201
Author: Keith Packard <keithp@keithp.com>
Date:   Sat May 30 20:42:28 2009 -0700

    drm: Hook up DPMS property handling in drm_crtc.c. Add drm_helper_connector_dpms.

    Making the drm_crtc.c code recognize the DPMS property and invoke the
    connector->dpms function doesn't remove any capability from the driver while
    reducing code duplication.

    That just highlighted the problem with the existing DPMS functions which
    could turn off the connector, but failed to turn off any relevant crtcs. The
    new drm_helper_connector_dpms function manages all of that, using the
    drm_helper-specific crtc and encoder dpms functions, automatically computing
    the appropriate DPMS level for each object in the system.

    This fixes the current troubles in the i915 driver which left PLLs, pipes
    and planes running while in DPMS_OFF mode or even while they were unused.

    Signed-off-by: Keith Packard <keithp@keithp.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
Comment 1 Rafael J. Wysocki 2009-06-09 11:41:59 UTC
First-Bad-Commit : c9fb15f60eb517c958dec64dca9357bf62bf2201
Comment 2 Brian Rogers 2009-06-14 06:00:03 UTC
Apparently fixed by these commits:
cb66c692d1ae257f32dc7f6085cf9cb9f2f6bab8
03d6069912babc07a3da20e715dd6a5dc8f0f867

Note You need to log in before you can comment on or make changes to this bug.