Sunday, September 30, 2007

Debain: Upgrading from xserver-xorg-video-i810 to xserver-xorg-video-intel

I have a Dell Latitude D620 laptop, and I run Debian testing on it. I've been running it this way for many years now. Every so often something changes and *poof* I've got to figure everything out again.

One of the things that changed over from Debian Etch to Debian Lenny (the current testing) was a new driver for the Intel 945GM card. The biggest bummer was that with my old config file the new driver would crash.

At any rate, lets go over this for anyone else who has to go through this:

The old package:
http://packages.debian.org/stable/x11/xserver-xorg-video-i810

The new package:
http://packages.debian.org/testing/x11/xserver-xorg-video-intel

From lspci:

00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03)

So, in the mix of the things that have changed is a completely different xorg.conf format.

The biggest shocker for me was the complete lack of Xinerama support. Turn it on and it crashes the driver cold. Since I use a monitor along with my laptop monitor, this was a problem.

Now its important to note that the old driver had two seperate xorg.conf devices, one for each "display pipe"... thus one per monitor. Xinerama was used to connect the devices back together into one display.

The new method stacks three concepts. To oversimplify: a screen can have one or many CRTCs (CRT Controllers) which can be hooked up to one or many outputs (monitors).

I have a DELL E228WFP monitor hooked to the DVI port on my port replicator, and I have the laptop monitor. The external monitor is 1680x1050 and the laptop is 1440x900.

So, to make one large display, you make a virtual screen that is 3120x1050 (the monitors sitting next to each other). You then configure a CRTC to be at offset +0+0 and another to be at +1680+0. It is a little strange that you can actually configure the CRTCs to overlap and you'll see the same image on both screens.

Now, theres a problem with having a 3120x1050 screen. "There is a known issue that DRI doesn't work on pre-965 if maximum is larger than 2048x2048." So, have it set up that way and no DRI (meaning crappy 2D and really crappy 3D support).

My hack around that was to logically stack my screens (i.e. up-down)... I tell X that my display is actually 1650x1950 even though the screens are left-right. The drawback is that I have to move off the bottom of my screen to go to my laptop (instead of to the right).

At any rate, here's my old config file. Do note there are issues with it even with the old driver (like, for instance, having to hit Fn-F8 on boot so the primary monitor will be the big one -- and not the laptop monitor).

# Jeff's old /etc/X11/xorg.conf

Section "Files"
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
# path to defoma fonts
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "Module"
Load "i2c"
Load "bitmap"
Load "ddc"
#Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "type1"
Load "vbe"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "Emulate3Buttons" "true"
EndSection

Section "InputDevice"
Driver "synaptics"
Identifier "Synaptics Touchpad"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "LeftEdge" "120"
Option "RightEdge" "830"
Option "TopEdge" "120"
Option "BottomEdge" "650"
Option "FingerLow" "14"
Option "FingerHigh" "15"
Option "MaxTapTime" "180"
Option "MaxTapMove" "110"
Option "EmulateMidButtonTime" "75"
Option "VertScrollDelta" "20"
Option "HorizScrollDelta" "20"
Option "MinSpeed" "0.6"
Option "MaxSpeed" "0.6"
Option "AccelFactor" "0.015"
Option "EdgeMotionMinSpeed" "200"
Option "EdgeMotionMaxSpeed" "200"
Option "UpDownScrolling" "1"
Option "CircularScrolling" "1"
Option "CircScrollDelta" "0.1"
Option "CircScrollTrigger" "2"
EndSection

Section "Device"
Identifier "Internal Video Card"
Driver "i810"
VideoRam 262144
BusID "PCI:0:2:0"
Option "FlipPrimary" "on"
Option "MonitorLayout" "DFP,LFP"
Screen 0
EndSection

Section "Device"
Identifier "External Video Card"
Driver "i810"
VideoRam 262144
BusID "PCI:0:2:0"
Option "FlipPrimary" "on"
Screen 1

EndSection

Section "Device"
Identifier "External Video Card FP"
Driver "i810"
VideoRam 262144
BusID "PCI:0:2:0"
#Option "MonitorLayout" "LFP,DFP"
#Option "MonitorLayout" "DFP,LFP"
#Option "FlipPrimary" "on"
Screen 1

EndSection

Section "Monitor"
Identifier "Internal FP"
Option "DPMS"
HorizSync 30-83
VertRefresh 56-60
ModeLine "1680x1050" 119.0 1680 1728 1760 1840 1050 1053 1059 1080 -hsync +vsync
EndSection

Section "Monitor"
Identifier "DELL 2007FP"
ModelName "DELL 2007FP"
ModeLine "1680x1050" 119.0 1680 1728 1760 1840 1050 1053 1059 1080 -hsync +vsync
Option "DPMS"
HorizSync 30-83
VertRefresh 56-60
EndSection

Section "Monitor"
Identifier "Tube"
ModeLine "1680x1050" 119.0 1680 1728 1760 1840 1050 1053 1059 1080 -hsync +vsync

Option "DPMS"
#HorizSync 30-183
HorizSync 30-183
VertRefresh 75-90
EndSection

Section "Screen"
Identifier "Internal LCD"
Device "Internal Video Card"
Monitor "Internal FP"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1680x1050" "1440x900" "1280x1024" "1280x768" "1024x768" "800x600" "640x480"
EndSubSection
EndSection

Section "Screen"
Identifier "External FP"
Device "External Video Card FP"
Monitor "DELL 2007FP"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1440x900" "1280x1024" "1280x768" "1024x768" "800x600" "640x480"
Virtual 1440 900
EndSubSection
EndSection


Section "Screen"
Identifier "External Monitor"
Device "External Video Card"
Monitor "Tube"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1680x1050" "1280x1024" "1280x768" "1024x768" "800x600" "640x480"
Virtual 1680 1050
EndSubSection
EndSection


Section "ServerLayout"
Identifier "external"
Screen 0 "Internal LCD" 0 0
Screen 1 "External FP" Rightof "Internal LCD"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "Synaptics Touchpad"
Option "Xinerama" "true"
EndSection

Section "ServerLayout"
Identifier "internal"
Screen "Internal LCD"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "Synaptics Touchpad"
EndSection

Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Internal LCD" 0 0
Screen 1 "External Monitor" Leftof "Internal LCD"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "Synaptics Touchpad"
Option "Xinerama" "true"
EndSection

Section "ServerLayout"
Identifier "Default Layout bak"
Screen "Internal LCD"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "Synaptics Touchpad"
EndSection

Section "DRI"
Mode 0666
EndSection




And now here's the new config file. I haven't yet applied my Synaptics tweeks to make the trackpad work better.

# The *NEW* xorg.conf dual monitor file
Section "Files"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
EndSection

Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizScrollDelta" "0"
EndSection

Section "Device"
Identifier "Intel 945GM"
Driver "intel"
Option "Monitor-TMDS-1" "TMDS Monitor"
Option "Monitor-LVDS" "LVDS Monitor"
#Option "ModeDebug" "true"

EndSection

Section "Monitor"
Identifier "LVDS Monitor"
Option "DPMS"
Option "Below" "TMDS Monitor"
Option "PreferredMode" "1440x900"
Option "Position" "0 1050"
EndSection

Section "Monitor"
Identifier "TMDS Monitor"
Option "DPMS"
#HorizSync 65-70
#VertRefresh 59-60
HorizSync 64-83
VertRefresh 56-75

Option "PreferredMode" "1680x1050"
EndSection

Section "Screen"
Identifier "The Screen"
Device "Intel 945GM"
SubSection "Display"
Virtual 1680 1950
EndSubsection
EndSection

Section "ServerLayout"
Identifier "Default Layout"
Screen "The Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "Synaptics Touchpad"
EndSection


Now there is one oddity which I wasn't able to find a way around other than the old school hack of specifying an overly-restrictive horizontal refresh rate: xorg wants to put the Flat Panel into 1280x1024x75hz mode and not 1680x1050x60hz mode. I ended up putting the slightly more restrictive HorizSync to make it so that it won't go into 1280x1024 mode.

For more information about setting up dual head under the Intel driver is available from their site.

Friday, September 28, 2007

Vehicles. Are. Not. Ads.

Madison Metro has recently begun selling ads that wrap the entire bus. Yay, nothing like seeing a Miller beer bus or a Dejope bingo bus. I find it disgusting that now pretty much anything is for sale. Just because someone will pay you a buck to put an ad somewhere doesn't mean you should.

Only worse are the Mobile Billboards. They do nothing but clog our streets, pollute our air and flash whatever ad is on them. TQ Diamonds: you listening? Your mobile billboard is now the sole reason I will not shop at your store. Just for that, let me share my favorite jeweler: BR Diamond Suite. Yeah, they don't advertise... because they don't need to. Folks, there's a reason TQ has to advertise so much.

Wednesday, September 26, 2007

Jeff:1 Charter:0

Recently I switched to Charter Internet. I'd have preferred TDS DSL but alas, due to a certain three-letter telephony company they cannot provide DSL service in my area. *sigh*

At any rate, I call up Charter and, since I needed to split the bill for my Internet Access off from the Cable, I end up having a long conversation with a representative.

All was good until she told me that she'd need to charge me $29.99 to have a technician come out. I reminded her that I'll be doing a self install so I won't need one.

It's to remove the cable modem filter, she replied.

When I asked for clarification, she relayed the story to me (approximately): Since you live in a technologically savvy area, when cable modems first came out we didn't have a way to block them, so we installed filters everywhere. Now, however, we have technology that doesn't require the filters... however, the filter needs to be removed otherwise your cable modem won't work.

So I reply, well the last guy had a cable modem and since I watched the installer hook my cable back up when I finally ordered cable, I'm pretty sure I don't have one.

Her reply: its company policy that I have to offer it.

Me: Do I have to take it?

Her: No. If it turns out you need it, call us back and we'll schedule it.


Then, I had to pick up the 'self-service installation kit' from the Charter storefront. The woman at the storefront gave me the kit and then said: but I don't see you on our schedule to have your filter removed.

I replied that I didn't need that.

She asserted that I did need that, and I would be back because my Internet access wouldn't work.

I declined again, saying that I know I don't need it. She was shaking her head as I left.

*sigh*

At any rate, no, I didn't need it. The cable modem linked right up. The self service install didn't work, however, that resolved easily by reading the MAC address of my cable modem to Tech Support and all now works fine. I actually got a Tech support guy who was remarkably cool with the fact that I knew what I was doing (as opposed to if you use the word Linux you get treated at as if you have a horrible communicable disease)


So, lets review:

  1. Charter installed filters in the past to prevent theft of service.
  2. Charter no longer needs such filters.
  3. Charter is now charging every new customer to have the filter removed, whether or not it needs to be. (either if it wasn't installed, or was removed in the past).

Well, that's lovely, isn't it.

Monday, September 10, 2007

Can you say Tohuvabohu?

KMFDM has a new album out: Tohuvabohu. Of course, if you want to know what that means, you could just ask Wikipedia.

Someone remind me... what was life before the Internet like again?

The BOFH Excuse Server rides again

Some time ago (in a fit of boredom in about 1994) I wrote a Bastard Operator from Hell Excuse Server. And life was good.

Alas, the world moved on and firewalls were added. I moved on and had way too much to do for a long time. As a result the telnet port of the BOFH Excuse server lapsed.

However, a new dawn has come. I'm finally getting things going on a server of my own

Regulators, mount up.

telnet bofh.jeffballard.us 666

Yeee...

Friday, September 07, 2007

A Guinness a day is good for you

I want to know why I wasn't involved with this study.

Monkey Island

Monkey Island

The wonderful thing about the Internets is that they allow pretty much anyone to make a movie. This one, for instance, is for those of you who've had too much espresso.

Wednesday, September 05, 2007

Switch to Linux

Yeah, its like from 4 and a half years ago, but its worth another play! :)


I'm all about open source...

Tuesday, September 04, 2007

The Guns... They've stopped.

If you're interested, you're welcome to attend:

Please join the Madison chapter of LOPSA, The League of Professional
System Administrators for our September talk and discussion:

When: Thursday, September 6, 2007
7:00 PM

Where: TDS Telecom, City Center West
RM 2510
525 Junction Road
Madison, WI 53717
[Park in the ramp in visitor stalls on the first level or on the
top floor. Enter the building near the front fountain in the
North Tower, which is opposite the Quizno's and not facing
Junction Rd.]

Topic: The guns... they've stopped: Extreme Spam Reduction

Jeff Ballard, University of Wisconsin Computer Aided Engineering
David Parter,University of Wisconsin Computer Sciences Department

"The guns... they've stopped." That is what one of our users
said after we improved our anti-spam configuration.

The UW College of Engineering and Computer Sciences Departments
have drastically reduced the amount of spam. This not only
pleases users, but has significantly reduced the load on mail
servers, mail gateways, and spam assassin servers. We have done
this through a method of demerits and aggressive greylisting,
implemented using the mailfromd package.

We will describe our configuration, lessons learned, and some
"gotchas". We expect everyone else to chime in for questions,
answers, and discussion.

Directions to TDS are on the web

Note: Our regular meeting time will be the second Thursday of each month
(but we had to move it to the first Thursday this time).

MR-T1




Ah, fond memories of 80s T.V. shows. All I need now is another program to chomp on a cigar and say "I love it when a plan comes together"...

Now, if it could tell me why its coming out at 550 kbps and not the 5 mbps that I should be getting, that'd be another story. But, I ain't messing with Mr. T1.