Display fps with WINE and osd_cat

When adjusting performance settings of Windows games run in Linux with WINE it would be very handy to see the actual fps (frames per second) on the screen like FRAPS for Windows does. WINEDEBUG=fps can do that on the command line. But it can’t be seen if the application is running in full screen.

A combination of osd_cat and a short bash function does the trick.

sudo apt-get install xosd-bin

then add the following line to your .bashrc

winefps () { WINEDEBUG=fps wine "$1" 2>&1 | tee /dev/stderr | grep --line-buffered "^trace:fps:" | osd_cat -c white -s 1 -l2; }

and finally run

. ~/.bashrc

I use the WINEPREFIX a lot, so my command to start e. g. ExampleGame.exe would be

WINEPREFIX=~/.wine/ExampleGame/ winefps ExampleGame.exe

which is equivalent to

WINEPREFIX=~/.wine/ExampleGame/ WINEDEBUG=fps wine ExampleGame.exe 2>&1 | tee /dev/stderr | grep --line-buffered "^trace:fps:" | osd_cat -c white -s 1 -l2

and displays your current fps on screen. osd_cat options like colour can of course be adjusted. See man osd_cat.

2 Responses to “Display fps with WINE and osd_cat”

  1. […] with osd_cat. It works only with wine (only Windows games). Found from reading this discussion and this article. It shows FPS during play but the output is definitely wrong – 0.15-0.18 fps. And it […]

  2. […] with osd_cat. It works only with wine (only Windows games). Found from reading this discussion and this article. It shows FPS during play but the output is definitely wrong – 0.15-0.18 fps. And it […]

Leave a Reply