How to get a romless MXM card to work without BIOS support in Ubuntu using Nouveau
I had bought a romless Geforce 9600M GT 1GB MXM II card by accident, and really wanted to see if I could get it to work on my Acer Aspire 7720G laptop.
In the past I have tried many times to integrate the vbios into the Acer bios of my laptop. Unfortunately, even though I am very sure I have used the correct vbios and also inserted it in a correct way, the laptop still wouldn’t boot with visual output.
Recently I retried this process, and it still didn’t succeed. Luckily I came across a bug report that showed that with Nouveau (the Linux Open Source Nvidia driver) it’s possible to specifiy the vbios that Nouveau loads. So basically you can start the videocard with any bios you supply from disk. This gave hope to be able to at least test the videocard before selling it to someone else who had a proper supported laptop.
Basically what I did was prepare a external harddrive with a ubuntu installation that had SSH enabled, so I could login to the laptop after it was booted (we have no graphics, so we can’t see anything otherwise). After booting up I copied the proper vbios file using WinSCP and then copied that file to
/lib/firmware. Then I removed the nouveau module and reinserted it into the kernel with the vbios file as argument.
sudo rmmod nouveau
sudo modprobe nouveau config=NvBios=vbios.rom
It did load! We still had no visual output, but
dmesg | grep nouveau did show that the card was detected, and everything was ok. The only thing left to do was to restart X11, which you can do by restarting lightdm on Ubuntu.
sudo /etc/init.d/lightdm restart. And wow, it just worked! Suddenly the mouse pointer came up and the ubuntu desktop loaded. Everything worked without problems, also lmsensors did display the temperature of the card etc. Really really great!
Still, you have no output in the bios/the boot process etc. But this way you can definitely test if a romless card works or is faulty.
Note that this ‘trick’ only works for Nvidia cards, since Nouveau is the open source driver for Nvidia cards. It might be that the open source AMD drivers have a similar option.