Archive for February, 2008

Artrage on Linux

Sunday, February 17th, 2008

I’ve blogged about the Wacom with excitement and the about the ‘joys’ of getting it running on Linux too. While the tablet is useful in GIMP & Inkscape (still have to try the sculpt mode in Blender), there seems to be a general lack of sketching apps on Linux which is where the device shines. There’s Krita and … that’s about it.

Since the first thing I did was hook it up on my macbook, garrett suggested I try Artrage. A great sketch & paint app that costs a fraction of the Corel Painter or Autodesk Sketchbook. It is just multiple levels better when the pencil behaves like a real pencil on a real paper, rather than just having GIMP’s default paintbrush tool support pressure.

Artrage
Artrage under OS X

Somewhat positive news – it runs under wine and supports tablets fine (pressure, tilt…). Wine from openSUSE 10.3 works just fine. Grab the starter edition windows installer. To install the msi file, you need to pass it as a parameter to msiexec which comes with the wine package. Once installed, you also need to grab gdiplus (you may be able to grab it form MS directly, but I’m not sure if you can get past the genuine windows validation under wine. I snarfed it elsewhere). And that’s it. If you have set up your wacom properly, it will work in Artrage too.

Wine has matured considerably since I last tried, so you don’t only get a working app, it also registers its launcher into GNOME (and runs Firefox when clicking on links, yay). To have it at your fingertips, just open up the app-browser with the ‘More Applications…’ button in the main menu, query for artrage, and pick ‘Add to Favorites’ in the context menu of the tile. It’s now in your Slab.

So now obviously I regret buying it for Mac OS and wonder if I should buy it for Windows too, or stick with the crippled version. I really only use the pencils anyway…?

Update: Not liking the default wine icon for Artrage, I hacked up this non-icon which at least doesn’t look like 1990. Untar to /usr/share/icons/hicolor.

*

Joy of FAT

Sunday, February 17th, 2008

Darn, another lazyweb question time.

I was excited to see the photos I shot today. I had my desktop running when I came home, so I quickly took out a CF2 card from the USB reader which was likely mounted on a running system (had the monitor switched off) and quickly shoved the one from the camera in. No photos, only the DCIM folder appeared as a file. Unmounted, shoved it into the camera, no content. Eeeek! The empty space shows there is data on the card. So I dd the device into a file (`dd if=/dev/sdd1 of=backup.vfat`) and begin experimenting with fsck.vfat. It gives me 4 combinations of the following choices:

dosfsck 2.11, 12 Mar 2005, FAT32, LFN
FATs differ but appear to be intact. Use which FAT ?
1) Use first FAT
2) Use second FAT

#and

/DCIM  and
/.Trashes
  share clusters.
1) Truncate first to 0 bytes and restart
2) Truncate second to 0 bytes

None of the combinations end up having any files. The card is 1G and surprisingly doesn’t compress with bzip at all, but I would be thankful for any suggestions on how to get the rather fab photos back. I can’t imagine how I’d feel if this happened on my New Zealand trip for example.

Update: After some more googling (should have looked at the moderated comments here for some hints ;) I found an awesome free software recovery tool, called Photorec (packaged for opensuse even). It supports multiple filesystems and is able to recover images even on a completely hosed card or image. Man I’m so happy. PhotoRec deserves to do much better on a photo recovery linux query on google.

openSUSE 11 Installer

Thursday, February 14th, 2008

hackweek

I have spent most of my hackweek mocking up and styling the new Yast installer for openSUSE 11. Coolo’s implementation of the old mockup I made for 10.3 really showed things can be done.

I must say I am very impressed with Qt CSS-like styling (yea, proper documentation ;) . It felt very refreshing compared to the usual minor gtkrc tweakage I need to pull off from time to time. The stylesheet remains very readable to people with web experience. You can do funky things on top of the common CSS attributes – use gradients on fills and borders, RGBA colors (yea, things really composite well), and combination of both. Coolo also added scalable backgrounds hack for the extra abuse we might need.

.
Work in progress – avoid color banding. I know, it’s GREEEEEEN.

The slight limitation is 16bit color, so all the gradients needed to be dithered, but I’m quite fond of the result (still WIP, mind you).

.
Not a mockup, this is an actual rendered YCP template.

You can see some scaling artifacts which should be gone with smooth filtering enabled now. Now on to fix some of the sucky images of the slideshow. openSUSE 11.0 is gonna rock.

No Analog Output

Monday, February 11th, 2008

Dear Lazyweb,
I failed to figure out why I get no signal out of my DVI port with a DVI>DSUB dongle and a CRT attached when using Linux on my Macbook Pro. It works fine with a DVI cable, but on my CRT it’s blank. Xorg feels like everything is fine and I have a big framebuffer, my mouse is happily moving around the dead space. “Option” “WasteMoreTime” “off” didn’t seem to do the trick.

No surprise OSX works fine on that setup.

Joy of the Wacom Cintiq

Saturday, February 9th, 2008

Today I enjoyed being 6 year old again as I opened up a huge package revealing the godly Wacom Cintiq tablet.

Tilted

To install the device in Mac OS X, you need to put the CD in, run an installer and eject the CD. Setting it up in Linux is just as easy … NOT! But the most important thing is that is works and works impressively well.

What follows are the steps I needed to take to get this thing running on openSUSE 10.3 on a macbook pro using the binary blob from ATI.

The good online documentation for the wacom driver and its manpage should give you good guidance if your setup differs.

Kernel

The kernel bits worked without any tinkering. You may want to ignore the suggestions to use the /dev/input/eventX devices as those change depending on what you plugged in and in what order. Some people suggest creating an alias for udev, but I’ve found using /dev/input/by-id/ more straight forward.

Joy!

Xinput

The documentation of the wacom drivers is very nice and explains things well and provides examples. Essentially you need to provide input section for the stylus, and the eraser in the xorg.conf:

Section "InputDevice"
  Driver        "wacom"
  Identifier    "stylus"
  Option        "Device"        "/dev/input/by-id/usb-Tablet_DTZ-2100-event-mouse"
  Option        "Type"          "stylus"
  Option        "USB"           "on"
  #additional options for dualhead needed. See below.
EndSection

If you add a pad device, you will be able to use the buttons and trackpads on the tablet too. More on that later.

Dualhead

The issue I had initially was that the tablet mapped the combined screen estate of my two screens into its drawing area. First, I have experimented with the xsetwacom utility to set it to TwinView mode:

xsetwacom set stylus TwinView "horizontal"

This seemed to have worked, but only for the cursor, GIMP and Inkscape remained to take ‘screen’ as the combined area of my two monitors when painting. The trick seems to be the ScreenNo option in the InputDevice section of the xorg.conf, where you specify the index of the screen the tablet should be using.

Buttons and Scrollpads

The Cintiq has 8 buttons and two scrolling trackpads on the sides. Fullscreen editing is a kick arse feature of GIMP so I wanted one of the buttons to toggle fullscreen and the other to toggle the docks (F11 and Tab by default). If you set up the pad xinput device, you should be able to map the pad buttons to regular keystrokes like this:

xsetwacom set pad button8 "core key F11"

The really slick thing is that you can make the sliders/trackpads on the sides send these events too. I wanted the left slider to zoom in and out and the right one to control the size of a brush in GIMP. Both GIMP and Inkscape use + and - by default for zooming. As a bonus, I can now easily create ascii rulers in my email by swiping the trackpad :) . Make sure you have the pad device disabled in GIMP’s xinput preferences, otherwise it will start changing the active tool when you swipe the trackpads.

To see a list of all events you can generate, do a xsetwacom list mod. You can get my .xinitrc to see all the mappings I set up.

Calibrating

There is a utility called wacomcpl (Wacom Control Panel). If it actually works I don’t know, as my environment appeared calibrated by default and I didn’t want to try my chances. Don’t fix what’s not broken applies very well in Linux.

cow

Conclusion

The device is extremely fun to use, everything feels very physical (although you can probably get the same sensation on the iphone for quite a bit less ;) . GIMP is keeping up in drawing, the device is very responsive, you get visible jaggies only when doing really fast movements. The pressure sensitivity is very fine. I may even use some other drawing tools than the beziers in Inkscape now :)

Czechnologist

Wednesday, February 6th, 2008

My most recent applied czechnology: the CPU heatsink on my desktop is held by 4 clip-on curtain holders after the original plastic broke on transport.

Clipperz

Friday, February 1st, 2008

This password store service is truly amazing. It took quite an effort to google it out, but it’s precisely what I imagined would exist. Encrypted data stored remotely, javascript client in the browser, offline mode (r/o for backup), JSON export, printable sheet, you name it. The big thing missing is search.

A firefox extension instead of the clumsy bookmarklet and possibly a gnome client (in the gnome online desktop sense) would be a wet dream :) .