Graphics cards with *extended* VESA modes

I noticed that a lot of graphics card vendors don’t know their product as good as they should, esp. since all modern graphics card have a resolution of >=1680×1050…
So you’ll have trouble to use a resolution of >1600×1200 when also using the linux framebuffer e.g. uvesafb.
The max. resolution defined by the VESA VBE is 1600×1200, I’m glad to have a XFXForce GF9600GT in my desktop which has a *extended* VBE which allows (take a loot at /sys/devices/platform/uvesafb.0/vbe_modes when using uvesafb) me to use a resolution up to 1680×1050 in my framebuffer.

Intel or other KMS users shouldn’t be affected at all, so mainly NVIDIA users are affected.

I also have a brand new card from Zotac but unfortunately limited to max. 1600×1200. I tried to get a new VBIOS from Zotac but they a) don’t have BIOS upgrades at all and b) they didn’t even get it at all.. So it seems there is no way to get a fixed version from Zotac.

Spock, the uvesafb author, had the idea to write a “patch” similar to 915resolution but my skills in this area are too weak :(.

So I’m writing about this because I’m looking for a new card atm but I do want to have high resolutions supported on the framebuffer as well. XFX doesn’t seem to have recent cards and I don’t know about the other vendors.

Do you guys know any other vendors besides XFX which have such a extended version of the video bios? It may be a good idea to start creating of a public list of such vendors…

Merge your old Bugzilla account with your new one

I noticed that we have a lot of “duplicate” accounts in our Bugzilla DB. Did you know that we can merge your old account with your new one?
That means the entire history of your old account will be linked with the new one, so that we can remove the old one later.

Just poke me (idl0r) in IRC (#gentoo-infra or #gentoo-bugs) or by mail idl0r AT gentoo DOT org.

I totally forgot this part…
It seems many users don’t even know that they can simply change their login name/mail address in Bugzilla.
Simply change your mail address in the Account tab of your Bugzilla Preferences. So there is no need to create a new account just because you have/want a new mail address for it. :) (gitolite) extra options

I bet the most of you didn’t know about those options at all so I’ll try to briefly explain some…

We can set a project name for your repository, useful mostly for In some cases the repository name differs from the project name so it would make sense to specify the right one.

Since notifications are enabled by default for almost all repositories it is also possible to disable notifications for your repository.

We can exclude some files for you to hide those in commit mails (e.g. or gentoo-commits). A good example are “Manifest” files.

If your commits will be send to gentoo-commits AT lists DOT gentoo DOT org and you don’t want them to be send to the list anymore then just poke us, we can disable it for you.

We can also add additional mail addresses to where commit mails will be send. (Please request this only for mailinglists or so if you and your teammates want to review your commits)

Last but not least: It is possible to ignore single branches from commit mails, neither notifications nor mails to gentoo-commits or additional specified addresses will be send at all.

The Overlays team can be found in IRC (#gentoo-overlays) or via mail overlays AT gentoo DOT org.
Also see Gentoo Overlays Team

Bugzilla feeds

If you ever wanted to use Bugzilla’s feed to get each bug since your last query? Read on…

Bugzilla has two interesting variables, “chfieldfrom” and “chfieldto” which can be a time value. It can be a timestamp like from: date -u "+%Y-%m-%d+%H:%M".

But a small script is needed to use them properly. Some feed reader may have own variables which you can use directly in the source URL.



if [ -f "${DATE_FILE}" ]; then

FEED_URL="$(echo "$FEED_URL"|sed "s/DATE/${LAST_DATE}/")"
#echo $FEED_URL

DATE_NOW=$(date -u "+%Y-%m-%d+%H:%M")
curl "$FEED_URL"


The script stores the date value of your last query and uses it later as “chfieldfrom”, “chfieldto” is always “now”.

To use it in e.g. Liferea:

Liferea->Subscriptions->New Subscription->Advanced, select Command and choose your script. That’s it.

Migrating from gitosis to gitolite

So we finally migrated successfully from gitosis to gitolite. I’ll try to explain how to do it easily.

Client side, part 1:

  1. Update your local gitosis-admin repository

Server side, part 1:

  1. Disable write access to your gitroot by either changing the “git” users homedir (I prefer this method) or by renaming the ~/.ssh/authorized_keys file. This is important to ensure gitolite gets a clean authorized_keys file
  2. Make a backup of your gitroot by using rsync, tar or whatever else..
  3. Cleanup/Remove your old gitroot
  4. Install gitolite
  5. Copy the example gitolite.rc into the git users homedir (e.g. ~/.gitolite.rc) and set your settings (Don’t forget to chown/chmod it later)
  6. Run “gl-setup /path/to/your/pubkey” as “git” user

Client side, part 2:

  1. git clone git+ssh://git.yourdomain.tld/gitolite-admin.git
  2. Grab my script
  3. cd /path/to/gitosis-admin
  4. perl ~/ [/path/to/your/gitosis.conf] >> /path/to/gitolite.conf
  5. Commit & Push your changes but DON’T add your old keys from keydir yet!

All repositories will be created after your push, ignore the pubkey warnings for now.

Server side, part 2 (Run commands as user “git”):

  1. Create a tmp directory and cd into it
  2. git clone -q –bare /path/to/your/gitroot/backup/repository.git
  3. cd repository.git
  4. GL_BYPASS_UPDATE_HOOK=1 git push -q –mirror /path/to/the/new/gitroot/repository.git

With clone and push –mirror we ensure that we don’t keep any old hooks or other stuff from gitosis.

In most cases it might be enough to simply remove the old hooks e.g. by running “find /path/to/gitroot/ -type d -name hooks -exec rm -f {}/* \;”, then you could skip the server part 2 and use your old gitroot instead.

I did part 2 to ensure we really have a clean new gitroot. So decide yourself.

If you need to push via ssh, create a migration user in gitolite.conf

repo @all
    RW+ = migration

and add the public key as well.

Then start a ssh-agent and ssh-add your public key. Now you don’t need to enter the passphrase for each push.

If you have a lot of repositories then just write a small shell script including the git clone/push stuff.

Once you’re done: Remove the migration user and its key.

Now add all your old gitosis keys to gitolite. That’s it!

If you need the post-update hook from git (update-git-server-info) then just link it into your ~/.gitolite/hooks/common dir.

ln -s /usr/share/git-core/templates/hooks/post-update.sample ~/.gitolite/hooks/common/post-update

Run gl-setup again (as user “git”) and you’re done.

Each time when you modify your .gitolite.rc, add/change hooks or update gitolite itself then simply run gl-setup. NOTE: Old hooks will not be removed by gitolite/gl-setup!

Gentoo user can choose between the upstream/vanilla version dev-vcs/gitolite or our own fork dev-vcs/gitolite-gentoo.

The “OpenPGP Card V2″ with authentication key

I recently bought two used(ebay) card reader, an SCM SCR243(PCMCIA) and an SCM SCR3310(USB), both together for about 14 Euro.

The SCR243 is currently not working due to incompatibilities between the vendor driver and the PCMCIA kernel stack (>=2.6.33 only) but I’ve already requested a driver update by SCM

thank you very much for bringing this to our attention.
I requested an adapted driver from development that incorporates the recent changes to the pcmcia API.
I will inform you when and if an updated driver will be available.

so lets wait and hope it doesn’t take too long. :)

The SCR3310 works out of the box as long as your kernel has USB support enabled.

To upgrade the reader’s firmware you have to select a windows 32bit OS in the download center otherwise you might not see any firmware upgrades.

You’ll get a OpenPGP Card either through donating the FSFE (Fellowship) or directly through the distributor Kernel Concepts. The cards are equal.

So for setup steps just follow the FSFE guide until “Generating subkeys for the card”. If you want to use your card for e.g. SSH authentication too, then you need to do some further steps before making the backup at “Save public and secret keyring”.

It seems to be important to keep the right order (First create the keys, then make a backup and then copy the key to the card) because the key will be associated with the card number! Otherwise it may cause some issues later.

To create an authentication key do the following: gpg --expert --edit YOURKEYID addkey

Please select what kind of key you want:
(3) DSA (sign only)
(4) RSA (sign only)
(5) Elgamal (encrypt only)
(6) RSA (encrypt only)
(7) DSA (set your own capabilities)
(8) RSA (set your own capabilities)
Your selection?

Now choose either 7 or 8 or whatever else has the “set your own capabilities” addition.

Possible actions for a RSA key: Sign Encrypt Authenticate
Current allowed actions: Sign Encrypt

(S) Toggle the sign capability
(E) Toggle the encrypt capability
(A) Toggle the authenticate capability
(Q) Finished

Your selection?

Note the “Current allowed actions: Sign Encrypt” line!

Now press S and hit enter, the same for E. Finally press A and hit enter until you see “Current allowed actions: Authenticate“, then press Q to finish the selection and create your authentication key.

You’ll now see a sub-key like “sub 2048R/A3773C83 created: 2010-08-17 expires: never usage: A“, note the “usage: A” that means Authentication. Save your changes and continue with the FSFE guide till the end

Once you’re done just export your public ssh key with the following command: [codespan]gpgkey2ssh A3773C83[/codespan].
NOTE: you need to select the authentication sub-key id!

That’s it! Enjoy your new toy! :)

Thanks to the FSFE guys who wrote the guide as well as Diego Elio “Flameeyes” Pettenò because I came to the SmartCard through his blog.

My new laptop

A few days ago I bought a used ThinkPad T60 and I’m really happy with my decision. My old Sony Vaio PCG-GRT915M was my first and worst experience with laptops also it was very expensive… but it wasn’t worth all the money. :/

It had an Intel Pentium 4 (NOT mobile!) which will be very hot if you compile something or play games. After several months even through usual use, the Fan became louder and louder, like a Jet.

I noticed later that the default clocksource didn’t work as expected, esp. in 2.6(iirc) versions of the kernel it hung during boot until I pressed some random keys, it was even unuseable. The boot progress took sometimes up to several minutes.

A workaround was to force jiffies as clocksource which is the fallback clocksource. Everything else didn’t work.

Another big problem (at least to me) was that just p4-clockmod was “working” so proper CPU Frequency scaling wasn’t possible at all. ondemand and other useful governors didn’t work, powersave and performance were the only working governors. As side-effect usability and battery life-time was bad. Battery time was between 1 hour and 30 minutes.

There were even more things, sonypi was buggy so Fn functions were b0rked and so on.
Several months later I was also pissed of due to the max. resolution of 1024×768…

Anyway… everything works fine now, with my T60.


loki ~ # lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA AHCI Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
02:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller
03:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)
15:00.0 CardBus bridge: Texas Instruments PCI1510 PC card Cardbus Controller

The battery (a used one as well) time is now ca. 3 hours +/- 1hour, depending on the usage.

The Fn functions are great! I use tp_smapi and thinkpad_acpi.

clocksource=jiffies isn’t necessary anymore, pit will now be used by default.

acpi-cpufreq is working fine as well as ondemand and other governors.

I believe WLAN (Intel 3945ABG) works better than the Atheros (don’t rember which one) in my old Sony. Might be driver related…

I’m glad about the Intel Graphics card, I can now use a resolution of 1400×1050 in X and console/framebuffer. I start loving KMS, its very fast when switching from/to console.

Bluetooth and everything else works as expected so I’m really happy and I’ll never buy something else than a ThinkPad.

So as hint I recommend you: Go and get a grml or other livecd and check all important things first before you buy a new or used laptop.