Saturday, February 05, 2005

Finally! Video!

Wow! This has turned out to be a huge problem, but I think I've finally got it fixed. First the solution: a script that gets run at boot time at priority 19. Here's the script:

#!/bin/sh modprobe rivafb rmmod rivafb modprobe nvidia

Not much to it, but it gets the job done. I created the file, called it local, and copied it to /etc/init.d/. Then I did the command:

update-rc.d local start 19 2 3 4 5 .

to make it run at boot time in runlevels 2-5. (Note the period on the end. It's syntactically important.)

One question you might be asking yourself is, "Why does he run modprobe rivafb before rmmod rivafb?" Great question. When I tried it without modprobe-ing first, it just puked and whined about there not being any such module loaded. I'm definitely no kernel expert, but it appears that some config or config check is broken and reporting to the nvidia module that rivafb is loaded, even though it's not. Cycling the loaded-ness of the module seems to get things working. Whatever the cause, this kludge fixes it.

Whew! It's been a long day.

0 Comments:

Post a Comment

<< Home