The downside of running Beryl alone as a window manager — particularly on this machine — is that there’s no alternative if you want to leave that graphic-intensive environment and start a game.
As an example, if I start Savage from the Beryl-only desktop, I get frame rates in the single digits (no joke). Beryl is still eating my CPU and GPU, and without an alternative window manager to switch to, I’m kind of stuck.
To solve that, I set up a dummy .xinitrc
file that triggers Savage without any window manager or desktop environment whatsoever. (Back up your original .xinitrc
before you alter yours to this. And make sure the path to your game is correct; I keep all my games in my home folder, which is why mine looks like this.)
exec $HOME/games/savage/savage.sh
That’s all that’s in the file. No window managers, no lxpanel, no conky, no feh — nothing. startx
triggers the X layer and then jumps straight to the game, without a hitch. Frame rates jump back up to 24+ at 1600×1200 and there’s no performance loss now.
Quitting Savage drops me back into the tty environment.
This isn’t a Beryl-only thing. I suppose you could conceivably kill X from any desktop environment and run a custom .xinitrc
from a terminal window. If you regularly use lightweight environments you won’t see that big an improvement, but I suppose Gnome and KDE users might try this for a slight boost on some games.
You can start any game running just in X from the commandline. It might be easier than setting up a separate .xinitrd for each game. I used to do it a lot back when my desktop was kinda lacking in resources. I used to do it by using something similar to the following:
xinit /usr/path/games/whatever/executable
hth.
Now that’s a much better idea. Thanks!