Run xscreensaver GL hacks only on one xinerama screen

I recently managed (accidentally, just by upgrading X.org) to get accelerated graphics working on my T43p Thinkpad running Gentoo. So now I get all the nice Xscreensaver GL hacks running at full speed – with one little problem: I have my system configured for dual-head mode (internal screen and external monitor) using MergedFB, with both screens at 1600×1200. At this resolution, the driver only manages to draw accelerated GL graphics up to about two-thirds of the second screen, with the rest of the screen showing garbage. It’s a cosmetic problem only, but it needed solving 🙂

So I patched xscreensaver to add a new configuration parameter “glScreenNumber”. If this parameter is set, GL screensavers will be run only on that screen, and only non-GL screensavers will be run on the other screens. So what I do is I set in my .xscreensaver:

glScreenNumber: 1

(screens are numbered starting at 1, so this means my left screen)

and now I get GL screensavers only on the left screen (where they can be drawn in full) and non-GL screensavers (which don’t suffer from the limitation) on the right screen, and both screens look nice.

You can get the patch for xscreensaver 5.00 here: xscreensaver-5.00-glscreencontrol.patch
If you use Gentoo, you can get the xscreensaver portage overlay (which also includes the fingerprint reader patch) here: xscreensaver-overlay.tar.gz

You need to use the “glscreencontrol” USE flag to enable the patch.

Advertisements

One response to “Run xscreensaver GL hacks only on one xinerama screen

  1. Pingback: BrT » Using the Thinkpad fingerprint reader on Linux (HOWTO)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s