1400x1050 is not natively supported

Bug #6271 reported by Aaron Whitehouse
42
Affects Status Importance Assigned to Milestone
xlibs
Fix Released
Medium
915resolution (Ubuntu)
Fix Released
Medium
Paul Sladen

Bug Description

I use an Intel Centrino chipset on a Dell Inspiron 510m. My hardware ID is: ab4d55311e734d27f3679e60a3ba8604

In order to get my 1400x1050 screen to work at its native resolution I had to install the separate package "855resolution" and hack at configuration files.

While this works okay, it is not something that a novice user could or would do and this would leave them thinking that 'Linux' was more fuzzy etc. than their previous OS.

It would be very nice if the functionality of 855resolution could be absorbed into the main drivers or, if this is not possible, to install and configure 855resolution in the setup/install of the system.

Revision history for this message
Adriaan Peeters (apeeters) wrote :

I can confirm this on my Dell Latitude D505. The Dapper Flight 4 Live cd reverts to 1280x1024 instead of 1400x1050.

Revision history for this message
Florian Boucault (fboucault) wrote :

Confirmed on a T43 (1871-W34) as well. The Dapper Flight 4 brings up with 1280x1024 instead of 1400x1050.

Revision history for this message
Florian Boucault (fboucault) wrote :

I filled a bug report and sent it to IBM : maybe they will patch the BIOS to tell the VBIOS about the hardware capability of the screen ?

Here is an interesting thread about this issue :

https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=107712

Revision history for this message
Adriaan Peeters (apeeters) wrote :

For completeness:

Of course it is possible to get the correct resolution using the 855resolution tool by Alain Poirier [1]. It is available in Ubuntu universe [2].

A solution might make use of this tool.

[1] http://perso.wanadoo.fr/apoirier/
[2] http://packages.ubuntu.com/breezy/x11/855resolution

Revision history for this message
Paul Sladen (sladen) wrote :

Hello Luna et al,

If you're testing Dapper, could you please try installing the following two packages:

  http://www.paul.sladen.org/ubuntu/upload/915resolution_0.5-1ubuntu2panelid1_i386.deb
  http://www.paul.sladen.org/ubuntu/upload/vbetool_0.5-1panelid1_i386.deb

then:

  sudo dpkg -i *panelid*.deb

These two now attempt to detect the native panel resolution and then to auto configure it. Could you give them a test and let me know if they sort the problem (and particularly importantly, if they *don't*!).

You can downgrade back to the previous versions with:

  sudo apt-get install vbetool=0.5-1 915resolution=0.5-1ubuntu2

Changed in xserver-xorg-driver-i810:
assignee: nobody → sladen
status: Unconfirmed → In Progress
Revision history for this message
Florian Boucault (fboucault) wrote :

Hello Paul,

Are your packages meant to do it fully automatically ? If this is the case, they do not work for me, sorry.

If you want any details (logs...), please let me know.

Thanks !

Revision history for this message
Paul Sladen (sladen) wrote :

Yes, definately. Could you paste:

  sudo vbetool vbecall panelsize
  grep MODE /etc/default/915resolution
  sudo 915resolution -l

and any error or log output that you saw.

Revision history for this message
Florian Boucault (fboucault) wrote : Logs Paul's patch

Here are some details Paul asked : outputs of vbetool and 915resolution for a IBM T43 1871-W34.

Revision history for this message
Florian Boucault (fboucault) wrote :

I have noticed a few caveats in /etc/init.d/915resolution:

line 38: echo "$bios_list" | grep -q "^Mode $panelsize" && exit 0
does not catch the modes because it misses the bit between Mode and $panelsize; example : "Mode 41 : 640x480"

line 49: $PROG $m $(echo $resolution | tr , ' ')
the separator is not a comma but a 'x': "vbetool vbecall panelsize" output is something like 1400x1050

Revision history for this message
Paul Sladen (sladen) wrote :

Bingo. Can you change those two lines to:

  echo "$bios_list" | grep -q "^Mode .* $panelsize," && exit 0

and:

  $PROG $m $(echo $resolution | tr x ' ')

and let me know if that improves it.

Revision history for this message
Florian Boucault (fboucault) wrote :

No it does not. While testing the script I noticed that the variable target_modes was empty. But if I execute manually "sudo /usr/sbin/915resolution -l | awk '/^Mode [^T]/{sub(",","",$4); print $5,$4,$2}' | tac | sort -n -u | cut -d' ' -f3", I get "3c\n 4d\n 5c\n".

Crazy isn't it ? :)

Revision history for this message
Florian Boucault (fboucault) wrote :

By the way, I think you put one extra comma in the line:

  echo "$bios_list" | grep -q "^Mode .* $panelsize," && exit 0

correct version should be:

  echo "$bios_list" | grep -q "^Mode .* $panelsize" && exit 0

Revision history for this message
Florian Boucault (fboucault) wrote : Patch to make Paul's good stuff work

Few corrections and now it works, at least with my T43. Paul, could you check that, repackage your amazing fixes and post it again ?

Thanks!

Revision history for this message
Paul Sladen (sladen) wrote :

Oooh, thank you. BTW, when you do diffs in future, it's alot easier to work with the context diff output:

  diff -u a b

as this shows the lines before and after surrounding the area and also includes the filename.

I was trying to save the output in $target_modes to avoid calling the program twice (actually 3 times, 2 times to fetch the list and then once to set the new mode) to help reduce the start-up time.

I'll apply your diff (Thanks for debugging it! - I only have a 1024x768 panel) and then try to check why the output isn't getting saved; quoteing the variable might help.

Revision history for this message
Florian Boucault (fboucault) wrote :

Thanks for the diff tip.

$target_modes : I understood why you did that and unfortunately as the variable remove the carriage returns awk was unable to parse correctly. I have not found any info about how to do it properly (without calling twice 915resolution).

Revision history for this message
Florian Boucault (fboucault) wrote :

By the way, do you know how this could find its way into Ubuntu installation process ? I know that the VBIOS should be set by the manufacturer according to the LCD panel but for example, right now, IBM denies it all:

"You contacted us because you were unable to set the resolution to 1400x1050. As I made you aware in my reply that the onboard video adapter does not support that resolution
IBM will not offer further support on this issue."

which is a big lie (my 915GM does support 1400x1050)...

Revision history for this message
Paul Sladen (sladen) wrote :

I ...think....

target_modes=`echo "$bios_list" | awk '/^Mode [^T]/{sub(",","",$4); print $5,$4,$2}' | tac | sort -n -u | cut -d' ' -f3`

(placing quotes around the "$bios_list") should solve it for you; could you double check if it does.

"Dear IBM, since the laptop contains a 1400x1050 screen that I paid $$$$ extra for, I sincerely hope that it does!

Revision history for this message
Florian Boucault (fboucault) wrote :

I have tested it once, it seems to work :) Thanks !

What about the Ubuntu install ?

Revision history for this message
Paul Sladen (sladen) wrote :

Okay, try:

    http://www.paul.sladen.org/ubuntu/upload/915resolution_0.5-1ubuntu2panelid2_i386.deb
  http://www.paul.sladen.org/ubuntu/upload/vbetool_0.5-1panelid1_i386.deb

No more changes to 'vbetool', just to '915resolution'; these work I'll try and get them uploaded to Debian.

Revision history for this message
Florian Boucault (fboucault) wrote :

It just works (TM).

Thanks Paul ;)

Revision history for this message
Florian Boucault (fboucault) wrote :

Hmmm, should tell Steve Tomljenovic (http://www.geocities.com/stomljen/) about it.

Revision history for this message
Aaron Whitehouse (aaron-whitehouse) wrote :

That sounds excellent. I am still on Breezy atm, but plan to upgrade on the Beta. I'll let you know how it goes when I'm there. Thanks for your hard work (both of you)!

Revision history for this message
Florian Boucault (fboucault) wrote :

Paul, have you read this thread ? https://bugs.freedesktop.org//show_bug.cgi?id=643

It would be really great if in some way what you did could find its way in Alan Hourihane's i810 driver. Don't you think ?

Revision history for this message
Adriaan Peeters (apeeters) wrote :

Works on Dell Latitude D505 on Dapper Flight 5 live cd. Just install the packages, kill X and restart gdm.

Nice work!

Revision history for this message
Aaron Whitehouse (aaron-whitehouse) wrote :

I upgraded to Dapper early to try this out :). I am very, very impressed. Using Flight 5, downloaded the packages above, installed them and that was it. On restart everything was correctly configured and set up for me.

Can we get this into something more automatic? If not into the installer, it would be great if that was how 915resolution in the repos worked! Thanks again to all involved.

Revision history for this message
William Grant (wgrant) wrote :

This also works on my Dell Inspiron 630m, automagically enabling 1280x800. Better than configuring 915resolution manually!

Thanks Paul.

Revision history for this message
Peter Ebden (peter-ebden) wrote :

Works on my Dell Latitude X1 for 1280x768. Nice work!

Revision history for this message
Andreas Schildbach (schildbach) wrote :

This works on my Latitude X1 as well. However, it cripples the ability to toggle between internal and external display with the CRT/LCD key: If I press once, the internal screen goes dark, and the external (Dell 2405FPW) just displays "cannot display mode". If I press another time, I get the picture on both displays, but very distorted on the external monitor. A third press brings things back to bootup state.

Without 915resolution, this worked flawlessly.

Also, I am generally missing the ability of 915resolution to handle more than one display. My 2405FPW also needs a VBE patch in Breezy.

Revision history for this message
Paul Sladen (sladen) wrote :

Hi Andreas, I think these two issues should really be raised in a second (and third) bug report. Could you file them against 915resolution and include what resolution you are trying to run the external monitor at? Obviously a widescreen mode won't fit on an 4:3 monitor without appearing squashed.

Revision history for this message
Andreas Schildbach (schildbach) wrote :

Done:

- Bug 36781
- Bug 36810

Note that both of my displays have the same aspect ratio (16:10), so there is no need for any squashing.

Revision history for this message
Trond Thorbjørnsen (tthorb) wrote :

Your two .deb's works on my 510m too! Thanks.

-Trond

Revision history for this message
Aaron Whitehouse (aaron-whitehouse) wrote :

Hi Paul,

What is happening with this? A newer version of 915resolution was automatically installed on my machine and now the resolution is shot again. Did you get the package upstream (i.e. should the new 915resolution include your changes) or do we need to keep using your .debs attached to this for now?

Revision history for this message
Paul Sladen (sladen) wrote :

I've put in a request to sync 'vbetool' from Debian which is this waiting on.

Revision history for this message
Neilen Marais (neilenmarais) wrote :

Just a note that Fijutsu-Siemens s7020 also requires 855resolution and conf file hacking to work properley (at least on Breezy)

Revision history for this message
Adriaan Peeters (apeeters) wrote :

vbetool 0.6-1 is in the Dapper repository now.

Revision history for this message
Florian Boucault (fboucault) wrote :

Is it fixed then ?

Revision history for this message
Adriaan Peeters (apeeters) wrote :

No it is not, I still have to install and configure 915resolution manually.

Revision history for this message
Florian Boucault (fboucault) wrote :

the file /etc/init.d/915resolution cannot work properly because of line 26:

correct argument for vbetool is 'vbefp' not 'vbecall'

Revision history for this message
Bavo (bavo-t) wrote :

When I change vbecall to vbefp in /etc/init.d/915resolution on line 26, the VBIOS is patched to set the highest mode (7c) to 1400x1050 as it should.
But xorg doesn't seem to accept it. I have to change mode 3c (or 30 or 32 or 34 or 38 or 3a) in order to get it to work
this is the output of 915resolution -l
Mode 30 : 640x480, 8 bits/pixel
Mode 32 : 800x600, 8 bits/pixel
Mode 34 : 1024x768, 8 bits/pixel
Mode 38 : 1280x1024, 8 bits/pixel
Mode 3a : 1600x1200, 8 bits/pixel
Mode 3c : 1400x1050, 8 bits/pixel
Mode 41 : 640x480, 16 bits/pixel
Mode 43 : 800x600, 16 bits/pixel
Mode 45 : 1024x768, 16 bits/pixel
Mode 49 : 1280x1024, 16 bits/pixel
Mode 4b : 1600x1200, 16 bits/pixel
Mode 4d : 1400x1050, 16 bits/pixel
Mode 50 : 640x480, 32 bits/pixel
Mode 52 : 800x600, 32 bits/pixel
Mode 54 : 1024x768, 32 bits/pixel
Mode 58 : 1280x1024, 32 bits/pixel
Mode 5a : 1600x1200, 32 bits/pixel
Mode 5c : 1400x1050, 32 bits/pixel
Mode 7c : 1400x1050, 8 bits/pixel
Mode 7d : 1400x1050, 16 bits/pixel
Mode 7e : 1400x1050, 32 bits/pixel
As you can see the highest mode (7c) is different from the others, it isn't listed per bit/pixels. Maybe that is the reason why Xorg can't use this mode?

Revision history for this message
Adriaan Peeters (apeeters) wrote :

Great, now it works when I replace vbecall by vbefp in the init script.

Just one last tiny patch and this package is ready for Dapper!

Revision history for this message
Paul Sladen (sladen) wrote :

Oh bother, I forgot that was changed (in the package, but not in the help text...)

Revision history for this message
Alex Muntada (alex.muntada) wrote :

Confirmed.

Changing 'vbecall' by 'vbefp' works for me in MODE=auto.

HTH

Revision history for this message
Paul Sladen (sladen) wrote :

915resolution (0.5-1ubuntu6) dapper; urgency=low

  * Call 'vbetool' with 'vbefp' instead of 'vbecall'; this was
    changed before uploading to Debian.

 -- Paul Sladen <email address hidden> Wed, 24 May 2006 16:24:52 +0100

915resolution (0.5-1ubuntu5) dapper; urgency=low

  * Use 'vbetool' to get the native panel resolution from the hardware
    if the configuration file is set with 'MODE=auto' and make this
    the default.

Changed in 915resolution:
status: In Progress → Fix Released
Changed in xlibs:
status: Confirmed → In Progress
Changed in xlibs:
status: In Progress → Fix Released
Revision history for this message
Aaron Whitehouse (aaron-whitehouse) wrote :

I have just installed Edgy Knot 3 and my 1400x1050 is still not natively supported by Ubuntu, so how is this bug resolved?

I thought all that the mode-setting branch etc. was going to make everything work out of the box. Are users of this chipset forever going to have to manually install 915resolution or has this bug been incorrectly marked as fixed?

Revision history for this message
Aaron Whitehouse (aaron-whitehouse) wrote :

Hi Paul,
I just tried to install the 915resolution package on Edgy K3 and it doesn't auto-configure anymore. Listening to other people in the Ubuntu+1 room, it sounds as though it is a general problem.

Any chance that you could please work your magic on the Edgy package as well?

Revision history for this message
William Grant (wgrant) wrote :

Bug #54188 is about this issue, and it should be fixed within the next day or so.

Revision history for this message
William Grant (wgrant) wrote :

The fix has been released.

Revision history for this message
Aaron Whitehouse (aaron-whitehouse) wrote :

I still have to install 915resolution to get the correct resolution with Edgy RC.

Revision history for this message
Aaron Whitehouse (aaron-whitehouse) wrote :

I still have to install 915resolution to get the correct resolution with Edgy Final.

Revision history for this message
Florian Boucault (fboucault) wrote :

I still have to install 915resolution to get the correct resolution with Feisty Daily ISO of 26/12/2006.

Is there another bug about that ?

Revision history for this message
Florian Boucault (fboucault) wrote :

Answer: bug #63560.

Changed in xlibs:
importance: Unknown → Medium
Changed in xlibs:
importance: Medium → Unknown
Changed in xlibs:
importance: Unknown → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.