Ubuntu 10.04 screen resolutions

marthter marthter-FFYn/CNdgSA at public.gmane.org
Mon May 31 14:17:29 UTC 2010


On 10-05-30 10:35 PM, D. Hugh Redelmeier wrote:
> | From: Fabio FZero<fabio.fzero-Re5JQEeQqe8AvxtiuMwx3w at public.gmane.org>
>
> | 1. It's 2010. It's high time we're past that kind of issue.
> | 2. The videocard is a common, run-of-the-mill, standard, old Intel GMA 950.
> | 3. The previous Ubuntu versions worked perfectly (for shame!).
> |
> | So guess which distro worked fine out of the box?
> |
> | Debian testing.
>
> Without spending *any* time investigating, I assume that the problem
> is due to Kernel Mode Setting.
>
> KMS is the future, but the transition has been shaky.
>
> As I understand it, x86_Free and xorg used to do a horrible hack to
> set the mode of the video hardware.  It had an 8086 emulator, running
> in user-space, interpreting the video BIOS of the display.
>
> With KMS, real kernel code does the mode setting of video hardware.
>
> You can often fix this problem with a "nokms" kernel parameter.  I
> have heard that nokms support may be on the way out.
>
> Using the VGA driver would probably work (but not efficiently).  It,
> by definition, cannot use KMS.
>
> Using an explicit xorg.conf might allow you to specify the required
> settings.
>
> On top of KMS issues, about a release cycle or so ago (6 or 12 months) the
> Intel folks made some serious changes to the memory allocation
> mechanism in the driver and destabilized the driver.  Unfortunate
> since up until then the Intel driver was the only decent
> manufacturer-supplied current open-source driver.
>
> | By the way it has seriously improved since they fixed their release
> | schedule; you can't really complain that the packages are out of date
> | anymore (yes, even in stable).
>
> Nice to know
okay thanks for the replies folks.  Nice to know I'm not the only one.  
I kept my original question short because I wasn't sure if it was too 
off-topic.  Now I guess I'll go to the long version of my question in 
case anyone can help with the specifics...

On the default 10.04 install, the xorg.conf is not just minimal, it just 
isn't there at all.  I guess that's normal nowadays.  From Xorg.0.log it 
appears to be using the open source driver:
...
(II) LoadModule: "nouveau"
...

The video card is on-board:

martin at newton:~$ lspci -s 00:0d.0
00:0d.0 VGA compatible controller: nVidia Corporation C61 [GeForce 
6150SE nForce 430] (rev a2)

The monitor is (quite old) ViewSonic P815
vertical frequency range 50 - 160 Hz
horizontal frequency range 30 - 115 kHz

Its user guide is a little vague on its true maximum resolution... if it 
is to comply with FCC class B it says its max is 1600x1200.  To comply 
with TCO '95 it says 1800x1440 @ 75 Hz.  I have been using it at 
1920x1440 @ 60 Hz for years with no problems and occasionally tried 
2048x1536 which worked too.

The ones shown in the System... Preferences... Monitors GUI are almost a 
match for the "Factory Preset Timings" in the User Guide:

GUI:

1600x1200 85 and 75 Hz
1280x1024 85 and 75 Hz
1152x864 75 Hz  (strangely, the manual says 1152x870)
1024x768 75 and 60 Hz  (manual has only 75 Hz)
640x480  75 and 60 Hz

Another strange wrinkle, these are ALMOST the same as xrandr's output, 
but xrandr has one extra 75.1 Hz entry beside 1024x768:

martin at newton:~$ xrandr
Screen 0: minimum 320 x 200, current 1600 x 1200, maximum 4096 x 4096
VGA-1 connected 1600x1200+0+0 (normal left inverted right x axis y axis) 
380mm x 285mm
    1600x1200      85.0*    75.0
    1280x1024      85.0     75.0
    1152x864       75.0
    1024x768       75.1     75.0     60.0
    640x480        75.0     60.0


I can almost get what I want with the nouveau driver using gtf or cvt to 
generate a mode line and xrandr --newmode, xrandr --addmode, and xrandr 
--output:

martin at newton:~$ gtf 1920 1440 60

   # 1920x1440 @ 60.00 Hz (GTF) hsync: 89.40 kHz; pclk: 234.59 MHz
   Modeline "1920x1440_60.00"  234.59  1920 2064 2272 2624  1440 1441 
1444 1490  -HSync +Vsync

Note this 60 Hz is within the vertical range of 50-160, and the 89.4 kHz 
is within the horizonal range of 30-115 kHz.  The monitor User Guide 
also cites a "Video In - Bandwidth - 250.0 MHz (typical)" although I've 
never seen reference to that in any of the other modeline tweakings that 
I've done over the years.  The 234.59 MHz total pixel clock that it will 
attempt to drive it at is under this 250 "bandwidth" for the monitor, 
and under the 350 MHz pixel clock stated for the video card according to 
Xorg.0.log:

(--) May 30 17:43:20 NVIDIA(0): Connected display device(s) on GeForce 
6150SE nForce 430 at
(--) May 30 17:43:20 NVIDIA(0):     PCI:0:13:0:
(--) May 30 17:43:20 NVIDIA(0):     ViewSonic (CRT-0)
(--) May 30 17:43:20 NVIDIA(0): ViewSonic (CRT-0): 350.0 MHz maximum 
pixel clock


martin at newton:~$ xrandr --newmode 1920x1440 234.59  1920 2064 2272 2624  
1440 1441 1444 1490  -HSync +Vsync

martin at newton:~$ xrandr --addmode VGA-1 1920x1440

martin at newton:~$ xrandr --output VGA-1 --mode 1920x1440

As far as I've been able to tell (seen in official Ubuntu wiki), this is 
"the right way" to do this nowadays, including to have it take effect 
right from the login screen, putting the above three xrandr commands in 
/etc/gdm/Init/Default.

Unfortunately any HD media is very jerky with this driver so although 
this gets the resolution right, it is not workable.



The other half of my attempts were with the proprietary driver, enabled 
with System... Administration... Hardware Drivers... I clicked on 
"NVIDIA accelerated graphics driver (version current) [recommended]" and 
clicked "Activate", and rebooted.

The xorg.conf after switching to the proprietary driver is now 
initialized to a fairly minimal (no changes by me):

Section "Screen"
     Identifier    "Default Screen"
     DefaultDepth    24
EndSection

Section "Module"
     Load    "glx"
EndSection

Section "Device"
     Identifier    "Default Device"
     Driver    "nvidia"
     Option    "NoLogo"    "True"
EndSection


After doing this, the Monitors GUI (which just links to Nvidia X Server 
Settings GUI) now has many more resolutions and refresh rates:

1920x1200 60 Hz
1920x1080 60 Hz
1856x1392 60 Hz
1792x1344 60 Hz
1680x1050 85, 75, 70, 60 Hz
1600x1200 85, 75, 70, 65, 60 Hz
1600x1024 60 Hz
1440x900 60 Hz
1440x1050 85, 75, 70, 60 Hz
[... 29 more ranging down to 320x175 ]

But still no 1920x1440 or even the 1800x1440 cited in the monitor Users 
Guide.

xrandr has yet a different set, which maxes out at 1600x1200 (seemingly 
because the first line of output cites that as some sort of overall 
maximum):

martin at newton:~$ xrandr
Screen 0: minimum 320 x 175, current 1600 x 1200, maximum 1600 x 1200
default connected 1600x1200+0+0 0mm x 0mm
    1600x1200      50.0*    51.0     52.0     53.0     54.0
    1600x1024      55.0
    1440x900       56.0
    1400x1050      57.0     58.0     59.0     60.0
    1360x768       61.0     62.0
    1280x1024      63.0     64.0     65.0
    1280x960       66.0     67.0
    1152x864       68.0     69.0     70.0     71.0     72.0     73.0
    1024x768       74.0     75.0     76.0     77.0     78.0
    960x720        79.0
    960x600        80.0
    960x540        81.0
    928x696        82.0
    896x672        83.0     84.0
    840x525        85.0     86.0     87.0     88.0     89.0
    832x624        90.0
    800x600        91.0     92.0     93.0     94.0     95.0     96.0     
97.0     98.0     99.0
    800x512       100.0
    720x450       101.0
    720x400       102.0
    680x384       103.0    104.0
    640x512       105.0    106.0    107.0
    640x480       108.0    109.0    110.0    111.0    112.0    113.0    
114.0
    640x400       115.0
    640x350       116.0
    576x432       117.0    118.0    119.0    120.0    121.0    122.0
    512x384       123.0    124.0    125.0    126.0
    416x312       127.0
    400x300       128.0    129.0    130.0    131.0
    360x200       132.0
    320x240       133.0    134.0    135.0    136.0
    320x200       137.0
    320x175       138.0

(note the output device is now called "default" with the proprietary 
driver instead of "VGA-1" as it was with the open source driver, so I 
have changed that in the subsequent xrandr commands.)

Now I of course tried the gtf and xrandr --newmode, --addmode, and 
--output commands again but they didn't work the same:

martin at newton:~$ gtf 1920 1440 60

   # 1920x1440 @ 60.00 Hz (GTF) hsync: 89.40 kHz; pclk: 234.59 MHz
   Modeline "1920x1440_60.00"  234.59  1920 2064 2272 2624  1440 1441 
1444 1490  -HSync +Vsync

martin at newton:~$ xrandr --newmode 1920x1440 234.59  1920 2064 2272 2624  
1440 1441 1444 1490  -HSync +Vsync
martin at newton:~$ xrandr --addmode default 1920x1440
martin at newton:~$ xrandr --output default --mode 1920x1440
xrandr: screen cannot be larger than 1792x1344 (desired size 1920x1440)

Googling this error gave nothing but multiple-screen questions and 
solutions only involving setting Viewports in xorg.conf which I don't 
think is relevant to a single screen setup.  However as I was repeating 
this stuff one more time for the purposes of writing this e-mail, this 
was slightly different than earlier in the day, when the maximum cited 
was always 1600x1200.  So I repeated the xrandr command alone, and then 
the above --output command again, which gave a different error on the 
second attempt:


martin at newton:~$ xrandr
Screen 0: minimum 320 x 175, current 1600 x 1200, maximum 1920 x 1440
default connected 1600x1200+0+0 0mm x 0mm
    1600x1200      50.0*    51.0     52.0     53.0     54.0
    1600x1024      55.0
    1440x900       56.0
    1400x1050      57.0     58.0     59.0     60.0
    1360x768       61.0     62.0
    1280x1024      63.0     64.0     65.0
    1280x960       66.0     67.0
    1152x864       68.0     69.0     70.0     71.0     72.0     73.0
    1024x768       74.0     75.0     76.0     77.0     78.0
    960x720        79.0
    960x600        80.0
    960x540        81.0
    928x696        82.0
    896x672        83.0     84.0
    840x525        85.0     86.0     87.0     88.0     89.0
    832x624        90.0
    800x600        91.0     92.0     93.0     94.0     95.0     96.0     
97.0     98.0     99.0
    800x512       100.0
    720x450       101.0
    720x400       102.0
    680x384       103.0    104.0
    640x512       105.0    106.0    107.0
    640x480       108.0    109.0    110.0    111.0    112.0    113.0    
114.0
    640x400       115.0
    640x350       116.0
    576x432       117.0    118.0    119.0    120.0    121.0    122.0
    512x384       123.0    124.0    125.0    126.0
    416x312       127.0
    400x300       128.0    129.0    130.0    131.0
    360x200       132.0
    320x240       133.0    134.0    135.0    136.0
    320x200       137.0
    320x175       138.0
    1792x1344     139.0
    1920x1440      59.9

Somehow it also spontaneously added 1792x1344 although I had nothing to 
do with that, and the 139 Hz refresh rate in that row seems outside the 
specs.

martin at newton:~$ xrandr --output default --mode 1920x1440
xrandr: Configure crtc 0 failed

martin at newton:~$ xrandr --verbose --output default --mode 1920x1440
screen 0: 1920x1440 481x361 mm 101.26dpi
crtc 0:    1920x1440   59.9 +0+0 "default"
xrandr: Configure crtc 0 failed
crtc 0: disable
screen 0: revert
crtc 0: revert

I've been googling both these "screen cannot be larger" and "Configure 
crtc 0 failed" errors all day and experimenting with the various 
suggestions to no avail.  Anyone out there actually know what this all 
means and can get me over this problem?

Cheers.

Martin
--
The Toronto Linux Users Group.      Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists





More information about the Legacy mailing list