Adding a monitor to vgadb

If none of the monitors in /lib/vgadb fit your needs, you can create your own entry. Here, I'll go through the steps I used to make an entry for my Samsung SyncMaster 240T monitor. This assumes that you can boot Linux and get X running at a mode you like. I had mine running at 1920x1200 under X.

Run xvidtune and collect the data it shows. Here's what I got:

Vendor: SAMSUNG, Model: SYNCMASTER 240T(DIGITAL)
Num hsync: 1, Num vsync: 1
hsync range 0:  29.00 -  81.00
vsync range 0:  39.00 -  85.00
HSyncStart: 2048 
HSyncEnd: 2256
HTotal: 2592
VSyncStart: 1201
VSyncEnd: 1204
VTotal: 1242
Pixel clock: 193.15 MHz
H-Sync: 74.52 kHz
V-Sync: 60.00 Hz

Using these values and the comments in vgadb, I came up with the following entry:

sm240t=1920x1200
	clock=193.15
	shb=2048 ehb=2256 ht=2592
	vrs=1201 vre=1204 vt=1242

Look at those numbers. You'll see that "clock" corresponds to the "pixel clock" value from xvidtune; shb, ehb and ht correspond to HSyncStart, HSyncEnd, and HTotal, respectively; vrs, vre and vt to VSyncStart, VSyncEnd, and VTotal.

Once I had this entry added to /lib/vgadb, all that remained was to edit plan9.ini to say "monitor=sm240t" and "vgasize=1920x1200x32". This method should be applicable to most monitors.