Thursday, February 08, 2007

Does Firebird run on Windows Vista ?

Yes, it does!

Of course, you want to know the details. Here they are.
I used Vista Business that I've got some days ago from Microsoft. First I tried to install Firebird 2.01 RC1 distributive, and it went fine. Sorry, I have not tested Classic yet, but at least there are no problems with SuperServer.
Since lot of public tests show that Windows Vista is slower than Windows XP at least for games, I thought that for the first time "backup test" will be enough to understand is there any performance loss.

My desktop system is:
AMD 64 3500+ (socket 939)
EPOX-9NPA3 Ultra (Nforce 4 Ultra chipset)
NVidia GF 7600GT

and 3 hard disks
system: HDS728080PLAT20, IDE, IBM/Hitachi, 80gb
second: ST3200827AS, SATAII, Seagate, 200gb
third: HDS728080PLA380, SATA, IBM/Hitachi, 80gb

Vista index of this computer is 4.2 (hdd and graphics are good - ~5.5, but processor and memory not - ~4.3).

I used 2gb database and run gbak -b -g using local protocol, tcp (localhost) and services api. Right now I don't want to go into test details, because it will be special article, not a blog record. So, here are just common results:
  • local protocol is not working on Vista, if Firebird runs as service. This is a classic error "unavailable database", which happens when program and Firebird works as service, sometimes when program runs as application, and in some other unknown conditions.
    Really this is not painful, because I think that Firebird (or InterBase) must not be run as service on developer's computer. If you run Firebird as fbserver -a, local protocol will work on Vista, but ~20% slower than on Windows XP. So, get into the way to use tcp (localhost) connection.
  • Backup using services and tcp show the same speed as on Windows XP.
  • Using -v (console output) gbak option makes backup process ~2-3% slower than on Windows XP. This is because console output on Windows Vista is made via 3D graphics (new Vista GUI interface).
So, you can move to Windows Vista and continue to use Firebird without any performance loss (excluding local protocol). Of course, you should not use Vista as "peer-to-peer" server, because it will be waste of new graphics user interface. If you have some dedicated, not powerful computer as Firebird server - use Windows NT, Windows 2000, and maybe Windows XP, but not Windows Vista.


Dmitri Kuzmenko said...

Seems that local protocol can be fixed as it is noted in firebird.conf for IpcName parameter.
Anyway, even if local protocol will work with FB running as service, it will be still slower than on Windows XP. Seems that I need to run additional little test....

Wonderbird said...

I have FB 2.0.1rc1 running as service with "Vista Ultimate" under vmWare. (Can confirm that running as service does not support local connection)

Also note that if you are using WIN32 API calls to confirm database server is running that you are likely not to be able to see all the running services. (Similar to the hassles we had under Citrix / Windows Terminal Server / RDP connections) Note that we also had problems trying to use local connection through a windows RPD style connection on other versions of Windows...

Crustyzz said...

Could you tell me more about the performances between a local access "C:\MyDatabasePath.FDB" and a local network access "\MyDatabasePath.FDB" on Win XP, and on Win Vista ?
Wich way is the most performant ?

antoo said...

im using firebird 2.0.1 on Vista
i changed to run it as aplication but i still get "unavaible database" message.
what should i do?

Dmitri Kuzmenko said...

antoo - open firebird.conf, and read note for section of IpcName parameter.
i.e. change IPCName=FIREBIRD to IPCName=Global\FIFEBIRD

crustyzz - please, read the post again: "If you run Firebird as fbserver -a, local protocol will work on Vista, but ~20% slower than on Windows XP. So, get into the way to use tcp (localhost) connection."
locahost =

p.s. soon there will be an article about backup using different protocols, at

Franjo said...

When I'm not connected on network my firebird work fine, but, when I connect on any network (and internet to) then program with firebird database work realy slow.