6104 comments
2357 subscribers
6264 on Twitter
Subscribe! Feed reader E-mail

On this page:

Cintiq 12WX, OpenSuse 11.0, and much pain and suffering

Let that be a lesson to me: Always blog solutions to problems. The cost of doing so is not just time wasted solving things again, but also the frustration of knowing I’d solved the problem before and if I had just taken a few extra minutes to share what I knew… GRR.

When I upgraded to OpenSuse 11 on the desktop at home, I forgot to back up my X11 configuration files: the Nvidia-Twinview-Cintiq12WX configuration I’d laboriously pieced together from fragments on the Internet and lots of troubleshooting.

ARGH.

Anyway, here it is, so I don’t lose it again: my xorg.conf:

Section "ServerLayout"
    Identifier     "Layout[all]"
    Screen         0 "Screen0" 0 0
    InputDevice    "Keyboard[0]" "CoreKeyboard"
    InputDevice    "Mouse[1]" "CorePointer"
    InputDevice    "stylus"   "SendCoreEvents"
    InputDevice    "eraser"  "SendCoreEvents"
    InputDevice    "pad"
    Option         "Clone" "off"
    Option         "Xinerama" "off"
EndSection

Section "Files"
    InputDevices   "/dev/gpmdata"
    InputDevices   "/dev/input/mice"
    InputDevices   "/dev/input/wacom"
    FontPath       "/usr/share/fonts/misc:unscaled"
    FontPath       "/usr/share/fonts/local"
    FontPath       "/usr/share/fonts/75dpi:unscaled"
    FontPath       "/usr/share/fonts/100dpi:unscaled"
    FontPath       "/usr/share/fonts/Type1"
    FontPath       "/usr/share/fonts/URW"
    FontPath       "/usr/share/fonts/Speedo"
    FontPath       "/usr/share/fonts/PEX"
    FontPath       "/usr/share/fonts/cyrillic"
    FontPath       "/usr/share/fonts/latin2/misc:unscaled"
    FontPath       "/usr/share/fonts/latin2/75dpi:unscaled"
    FontPath       "/usr/share/fonts/latin2/100dpi:unscaled"
    FontPath       "/usr/share/fonts/latin2/Type1"
    FontPath       "/usr/share/fonts/latin7/75dpi:unscaled"
    FontPath       "/usr/share/fonts/baekmuk:unscaled"
    FontPath       "/usr/share/fonts/japanese:unscaled"
    FontPath       "/usr/share/fonts/kwintv"
    FontPath       "/usr/share/fonts/truetype"
    FontPath       "/usr/share/fonts/uni:unscaled"
    FontPath       "/usr/share/fonts/CID"
    FontPath       "/usr/share/fonts/ucs/misc:unscaled"
    FontPath       "/usr/share/fonts/ucs/75dpi:unscaled"
    FontPath       "/usr/share/fonts/ucs/100dpi:unscaled"
    FontPath       "/usr/share/fonts/hellas/misc:unscaled"
    FontPath       "/usr/share/fonts/hellas/75dpi:unscaled"
    FontPath       "/usr/share/fonts/hellas/100dpi:unscaled"
    FontPath       "/usr/share/fonts/hellas/Type1"
    FontPath       "/usr/share/fonts/misc/sgi:unscaled"
    FontPath       "/usr/share/fonts/xtest"
    FontPath       "/opt/kde3/share/fonts"
EndSection

Section "Module"
    Load           "glx"
    Load           "type1"
    Load           "extmod"
    Load           "dbe"
    Load           "freetype"
    Load           "vbe"
    Load           "ddc"
    Load           "i2c"
    Load           "bitmap"
EndSection

Section "ServerFlags"
    Option         "AllowMouseOpenFail" "on"
    Option         "Xinerama" "0"
    Option "AutoAddDevices"  "False"
EndSection

Section "InputDevice"
    Identifier     "Keyboard[0]"
    Driver         "kbd"
    Option         "Protocol" "Standard"
    Option         "XkbLayout" "us"
    Option         "XkbModel" "microsoftpro"
    Option         "XkbOptions" "ctrl:nocaps"
    Option         "XkbRules" "xfree86"
EndSection

Section "InputDevice"
    Identifier     "Mouse[1]"
    Driver         "mouse"
    Option         "Buttons" "9"
    Option         "Device" "/dev/input/mice"
    Option         "Name" "Razer Diamondback Optical Mouse"
    Option         "Protocol" "explorerps/2"
    Option         "Vendor" "Sysp"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    Driver         "wacom"
    Identifier     "cursor"
    Option         "Mode" "Absolute"
    Option         "Device" "/dev/input/wacom"
    Option         "Type" "cursor"
    Option         "USB" "on"                  # USB ONLY
    Option         "ScreenNo" "0"
    Option         "TwinView" "horizontal"
    Option         "TVResolution"  "1280x800,1600x1200"
EndSection
Section "InputDevice"
    Driver         "wacom"
    Identifier     "stylus"
    Option         "Mode" "Absolute"
    Option         "Device" "/dev/input/wacom"
    Option         "Type" "stylus"
    Option         "USB" "on"                  # USB ONLY
    Option         "ScreenNo" "0"
    Option         "TwinView" "horizontal"
    Option         "TVResolution"  "1280x800,1600x1200"
EndSection
Section "InputDevice"
    Driver         "wacom"
    Identifier     "eraser"
    Option         "Device" "/dev/input/wacom"
    Option         "Type" "eraser"
    Option         "USB" "on"                  # USB ONLY
    Option         "ScreenNo" "0"
    Option         "TwinView" "horizontal"
    Option         "TVResolution"  "1280x800,1600x1200"
EndSection
Section "InputDevice"
    Driver         "wacom"
    Identifier     "pad"
    Option         "Device" "/dev/input/wacom"
    Option         "Type" "pad"
    Option         "USB" "on"                  # USB ONLY
    Option         "ScreenNo" "0"
    Option         "TwinView" "horizontal"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "DELL"
    ModelName      "D1626HT"
    DisplaySize     388    291
    HorizSync       30.0 - 96.0
    VertRefresh     50.0 - 160.0
    Option         "dpms"
EndSection

Section "Device"
    Identifier     "VideoCard"
    Driver         "nvidia"
    VendorName     "NVidia"
    BoardName      "GeForce 6800 GT"
    Option "TwinView" "true"
    Option "MetaModes" "1600x1200,1280x800"
    Option "SecondMonitorHorizSync"   "31-107"
    Option "SecondMonitorVertRefresh" "50-75"
    Option "TwinViewOrientation" "LeftOf"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "VideoCard"
    Monitor        "Monitor1"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
    Option "SecondMonitorHorizSync"   "31-107"
    Option "SecondMonitorVertRefresh" "50-75"
    Option "TwinViewOrientation" "LeftOf"
    Option "MetaModes" "1600x1200,1280x800"
    Option "TwinView" "on"
EndSection

Getting back to the xorg.conf above was a bit of a pain. First I needed to get the nvidia drivers working again, which was a matter of adding the repository and downloading the RPMs. Then I needed to get the dual-monitor setup. I was running into all sorts of problems with it, and I must’ve tried configuring TwinView from scratch at least five times. Then I noticed I had an xorg.conf.twinview in my home directory, so I copied that and used it as a basis. Progress! The screen on the Cintiq started working as a proper screen again.

I had been having problems with the wacomcpl in OpenSuse 11 (Error: unknown device “stylus” or it is currently a core device), so I recompiled the drivers from the Linux Wacom Project. While trying to recompile the driver, I discovered that the kernel-source installed on my system… didn’t have the source files. Pfft.

After much poking around, I threw up my hands and downloaded the kernel source code that matched my system, copied the appropriate config file from /boot as the kernel source code directory’s .config, and started “make oldconfig; make”.

After make had set up the directory tree, I switched back to the linuxwacom drivers and ran “./configure –with-kernel= –enable-wacom –enable-hid –enable-evdev –enable-usbmouse –enable-modver –enable-xsetwacom > log”. Fortunately, make and make install proceeded without incident. (After all the false starts I’ve had today, I was glad at least something worked.)

Then it was a matter of more TwinView poking around to get the tablet confined to just one screen instead of being mapped to two. With a lot of fiddling, I finally got it to work.

Now it’s Sunday evening and I’m grumpy from an entire afternoon spent dealing with hardware issues, so I’m in no mood to write our annual updates. I’ll probably feel much better after the Chicken Maryland we’ve planned for dinner, though. =) And after some cat cuddling. Cats are nice and warm.

All that griping aside, I’d still rather use Linux than Microsoft Windows for stuff like this. =)

Short URL: http://sachachua.com/blog/p/5433

TCP window scaling, or zomg the Internet works for me again

Sites such as aircanada.com, pcfinancial.ca, and (horror of horrors!) torontopubliclibrary.ca had gotten _unbearably_ slow on Linux.

Here’s how I fixed it (as root):

echo 0 > /proc/sys/net/ipv4/tcp_window_scaling

I love you, Ubuntu forums.

Short URL: http://sachachua.com/blog/p/5346

Rumor has it that Dragon NaturallySpeaking works under WINE

That would be _just_ awesome. Wine Application DB – Viewing App: Dragon Naturally Speaking 9

I wonder if it will let me program in Emacs through dictation?

UPDATE: Darn! I have Dragon NaturallySpeaking 9.5, which does not work. Boo. Back to VMWare, then…

Short URL: http://sachachua.com/blog/p/4754

Getting sound to work again

Things to remember when setting up sound in Ubuntu Linux on a Sony Vaio U1:

  • modprobe trident
  • modprobe snd_trident
  • Be very very thorough with alsamixer settings. For some brain-dead reason, all the important stuff is muted.

On Technorati: , ,

Short URL: http://sachachua.com/blog/p/3860

Linux Device Driver Kit

Always wanted to write a kernel device driver but never got around to it? Now you have no excuse! Check out the Linux Driver Development Kit, which includes:

everything that a Linux device driver author would need in order to create Linux drivers, including a full copy of the O’Reilly book, “Linux Device Drivers, third edition” and pre-built copies of all of the in-kernel docbook documentation for easy browsing. It even has a copy of the Linux source code that you can directly build external kernel modules against.

Totally cool.

E-Mail from Don Marti

On Technorati:

Random Japanese sentence: ネコはネズミを捕まえる。 Cats catch mice.

Short URL: http://sachachua.com/blog/p/3527

Linux Caffe

I’m sitting in the Linux Caffe working over a wireless connection, having just polished off another cup of their excellent hot chocolate. And it’s not just any hot chocolate, mind you. It’s open source and version-controlled through an internal Subversion repository.

It’s really a geek haven. Computer books fill the
windows and the shelves. Laptops are out, open, and plugged in.
Assorted penguin buttons are on sale.

It’s a great place to run into people. On the way in, I chatted with a
biologist who’s working on bringing the ideas of open source to genome
research. I’m sitting across a geekette with mad AIX skills. David,
the proprietor, is always fun to chat with about everything from the
local geek scene to the latest chocolate concoctions.

I think I’ve found a good home for my get-togethers. I want to get to
know a lot of people, and I want them to get to know each other, too.
It’s difficult to entertain at the Graduate House because of the
security restrictions and the way our suite is laid out; I don’t have
enough space to entertain. Hosting get-togethers at the Linux Caffe
promotes something I believe in, offers people more variety and
choice, and makes it easier for me to focus on people.

Let’s make that happen. Next Friday, I’ll have a get-together here. I
hope to eventually turn that into a lecture series, so that I get to
learn about interesting things from very interesting people. Perfect… =)

On Technorati: , ,

Short URL: http://sachachua.com/blog/p/3464

Deskbar applet – GNOME coolness!

If you’re on the GNOME windowing environment, check out nafai77′s blog entry about Deskbar. Totally cool. It’s almost like Quicksilver for non-Macs.

On Technorati: ,

Random Japanese sentence: 猫はテーブルの上で眠った。 The cat slept on the table.

Short URL: http://sachachua.com/blog/p/3404

Get the highlights as a PDF!

Stories from my Twenties: Highlights from a Decade of Blogging

Free sample!