Posted by: VxJasonxV | July 21, 2007

WSXGA, I LOVE THEE

No less than a day after the last post (yes, I know, I’m damn behind) I was asking numerous folks all over IRC that I knew that X.org experience for help.

A lot of people gave me common answers (check your logs, check your modelines, check your HorizSync/VertRefresh values, use DDC, etc.).
I found a lot of cool tools, including a perl-based ModeLine calculator up somewhere on SourceForge, as well as plenty of guides as to how to do all the raw number crunching. That last part was the most fun at all!
Crunch these numbers! vim them in xorg.conf! Restart X!
Failure D=

I managed to hang around #xorg on Freenode IRC long enough to talk to “ajax”, and the following occured:

{VxJasonxV} Would anyone here be able to help me getting a true WSXGA resolution working? Best I can get is 1400×1050, and it’s so aggravating :(.
{VxJasonxV} WSXGA, on a radeon 7000 using theopen source radeon driver
{ajax} your X log file should tell you why it’s rejecting the mode
{VxJasonxV} no mode by that name
{VxJasonxV} (1680×1050)
{ajax} which i assume is 1680×1050. OMGWTFXGA means nothing to me.
{VxJasonxV} yep
{ajax} okay, so your X server has no mode built in for that size, and for some reason it’s failing to get that mode’s timings from the monitor
{ajax} vga or dvi connection?
{VxJasonxV} vga for the time being
{VxJasonxV} know where I Can find a cheap DVI KVM? 😛
{ajax} okay. so you need to add a modeline for that size to your Monitor section, and then adjust the sync ranges in that monitor section to be large enough to fit that mode
{ajax} you find the modeline by doing:
{ajax} $ gtf 1680 1050 60
{VxJasonxV} ummm
{VxJasonxV} damn
{VxJasonxV} that was easy.
{VxJasonxV} people were sending me to all these websites, doing the math, using xorgcfg, blah blah blah
{ajax} the first line in the gtf output includes the sync values for that mode
{ajax} the second is the modeline itself
{VxJasonxV} should I be worried that the HSync exceeds what my documentation says a valid range is?
{VxJasonxV} this says 65.22 kHz, while the manual goes from 64.674 to 64.8 kHz
{ajax} might be a problem, might not. try it first. LCDs are resilient, worst it’ll do is not sync.
{VxJasonxV} no kidding 😀
{VxJasonxV} ok, one last question: Should I comment out my set HorizSync/VertRefresh before restarting X?
{ajax} probably not. if it’s not getting the native mode from the monitor, it’s also not getting the sync ranges; and the default sync ranges are only large enough for like 800×600
{VxJasonxV} which is why whenever I used DDC, it would always drop me to 800×600
{VxJasonxV} at least that part makes sense
{VxJasonxV} ok, writing this out and restarting X. Thanks for your help thus far

*** This is where I gave X the four finger salute, and proceeded to log back in. ***

{VxJasonxV} ummm
{VxJasonxV} HOT DAMN
{VxJasonxV} dude. THANK YOU THANK YOU THANK YOU
{ajax} np

Needless to say I was just a little bit pleased that it was finally working. Not in 800×600, not in 1400×1050, but in full 1680×1050 glory.

That was shortly followed by some extra commentary that you Xorg Document Managers should probably take note of:
*JamesB192 thinks someone should hack the x timings howto to say roughly, ‘use gtf instead of all the outdated number crunching.’

Let this be a lesson to anyone with a new monitor, probably most specifically a Widescreen monitor:
gtf is the tool to use.
The usage is a very simple:

$ gtf horizonal-resolution vertical-resolution refresh-rate

You get an output similar to the following (in this case, this is what I get for my Gateway FPD2275W):

$ gtf 1680 1050 60

# 1680×1050 @ 60.00 Hz (GTF) hsync: 65.22 kHz; pclk: 147.14 MHz
Modeline “1680x1050_60.00” 147.14 1680 1784 1968 2256 1050 1051 1054 1087 -HSync +Vsync

You may then copy the Modeline line (comment line is optional), put it directly into the ‘Device “Monitor”‘ section of your xorg.conf, restart X, and away you go.

The best part of all this is I also recompiled my kernel to add in a 1680×1050@60 vesa-tng framebuffer, so not only X, but also the framebuffer virtual terminals output at my desired size/rate.
It’s beautiful. 🙂

And of course, the obligatory screenshot of my writing this post using this resolution:
WSXGA Resolution Screenshot

[…] and it was good…


Responses

  1. I have no need for a modeline this second but was not that long ago I was in your situation. Finally found a site to spit something like that at me. Wow gtf really rocks, was just reading the manpage. Thanks for spreading the word on this.

  2. When I first started with Linux I ran into the same problem (without the widescreen) and was given the same solution. Your right it is an awesome tool.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: