Interview with bumblebee devs
Introduce yourself....
Lekensteyn: I am Peter Wu, a 18y old Software Science bachelor student from the Netherlands. I started using (Ubuntu) Linux because my old XP machine was very slow even with a lot tweaking. The freedom and openness of Linux was very appealing, hence I chose for it. I am currently using Arch Linux because I like to live on the edge with things.
Samsagax: I'm Joaquín Ignacio Aramendía. I'm 25 years old, student of Mechanical Engineering in Argentina. I got interested to GNU/Linux because of freedom. I currently use ArchLinux as it's very simple, lightweight and suitable for development.
ArchangeGabriel: I'm Bruno Pagani. I'm 20 years old, student of Physics in France. The first computer we got at home, in 1999, was running Mandrake Linux, so I discovered Linux before Windows. Today I use both, because some programs I'm obliged to run don't on one or the other. But I prefer Linux, because I'm fighting for free and open access to culture, and I think computers should be following the same rules.
Did you ever get some help/hints from nvidia?
Lekensteyn: Not at all. Well, at most the README on xorg.conf options. But other than that, no specific help for getting Optimus to work
Samsagax: Never. And as that I really felt being used in the crappy statement NVIDIA made in response to Linus Torvald's middle finger incident.
ArchangeGabriel: Directly, never. However some changes in their driver show that they were aware of us, and trying to fix some bugs we faced. But that's all.
Was it hard work (reverse-engineering acpi-tables eg) creating bbswitch?
Lekensteyn: I must mention that Martin Juhl was the one that came up of the idea of using VirtualGL to copy frames from a second X server to the visible display (more details on our Wiki).
I did not discover that ACPI calls were possible to disable the video card, people like Michal Kottman created acpi_call which is a very useful tool for testing ACPI methods or getting the contents of those fields. Once I found out that ACPI methods can be used to save power, I started learning it by looking at the specification at acpi.info. The community was very helpful on submitting their machine information. That allowed me to confirm some existing ideas and build a nice tool that avoids manually passing the ACPI commands to acpi_call (which is a nice test tool, but not the complete solution for disabling devices). So after some testing and feedback, we could ship Bumblebee 3.0 with bbswitch and it works!
Why never considering accepting donation, you could be rich 😉 ?
Lekensteyn: We are all volunteers who had this "Optimus problem" and were happy enough that others found workaround for it. Initially, we did not think of accepting donations. Later, we discussed it too, but decided to leave it for now because it brings some practical issues which would not worth the time and efforts. Though I did get a donation a few times from people which I help by email.
Samsagax: Nothing to add here. We agreed not to accept donations as it would be more a pain to establish a structure for it than a benefit.
ArchangeGabriel: Nothing to add here. And indeed they were a lot of people waiting for being able to donate to us, at least on the french forum Ubuntu-fr, they were around 100. At some point we said to some people to donate to dcommander, the developer of VirtualGL, but we didn't choose that as a permanent solution, because we didn't do that too for this program.
Will bb get still maintained (eg off-bus-falling Kepler GPUs) now, or is -due to prime- "mission accomplished" ?
Lekensteyn: We are short on time due to other real-life tasks, but have no plans to quit Bumblebee because of PRIME at this moment. PRIME is great, but it is not ready yet. You need to run the latest development versions of the graphics stack which is also not suitable/available for everyone. Current shortcomings of PRIME are:
There is no way to make the card use less power when the DDX and kernel drivers are loaded.
The nvidia blob cannot work with it unless Nvidia makes modifications to their driver.
If you have time, love to break your machine and debug it, my scratch board is here.
Samsagax: Bumblebee is just a workaround to a Xorg server design problem, exposed by the new NVIDIA technology (dynamic switching + render offloading). As that problem goes away by Dave Airlie's work (just tested it and is really great), Bumblebee won't be needed anymore as it is now. Maybe it would become a PRIME helper of some sort. The only problem I see now is that PRIME is not stable nor mature yet. A solution like that would take a lot of testing and work. I'll try to help that if that is really definitive, clean and correct ☺
ArchangeGabriel: Samsagax and Lekensteyn have explained everything here.
Thank you for the Interview!