How does nvidia linux driver eula, especially sections 2.1.3 and 5. play with European Union Directive on the legal protection of computer programs? I think somebody would have already done that and uploaded to nouveau if it was legal in Europe. But I am not sure.
Up to my knowledge, reverse-engineering is possible in Europe if you need it to achieve inter-interoperability and that the maker of the software or the hardware refuse to do it.
It means that, if you cannot get a graphic card to work properly under your favorite operating-system and that the maker of this card does not want to make a support for it, then you are free to perform a reverse-engineering on it.
Beware, publishing publicly the (direct) result of a reverse is not allowed ! For example, you cannot publish a disassembly of a firmware. The thing is that I do not know if you can publish the API that you obtained by reversing the firmware... The API is somehow quite far from the original raw material... and publishing your code in open-source would be somehow the same as publishing the API... So, I do not know exactly where is the limit.
I remember a few years ago, with others, we sent a letter to Apple asking them to support Ogg-Vorbis format on their iPod Nano. They received the letter but did not dare to answer. Then, we started to reverse the Nano without breaking the law.
Another way to work-around the law against reverse-engineering in Europe is to be part of a laboratory. Then, you can do reverse for studying the software or the hardware that you are focusing on (beware, publishing is still tedious in this case also).