
Flash Advertise
| Nouveau Driver Q&A | ||
| 摘自: www.phoronix.com 被阅读次数: 338 | ||
由 yangyi 于 2007-09-28 19:44:58 提供 | ||
lejocelyn: I would like to know if there is some list of cards that the driver will support? Actually, it's to know if the old cards like the GeForce 2 GTS will be supported and what these kind of cards will be able to do, if it will support for example compiz-fusion or not (yeah, I'm dreaming). We try to support all cards from NV04 (Riva TNT) up to the newest 8800 / 8600 cards. Obviously the older the card is, the more features will have to be emulated by software but accelerated 3D should be available in the end for all cards. Compiz and Friends need good texturing support. We know how to support it, but haven't implemented it yet. So yes, Compiz should work on all cards, but no ETA yet on when this will be possible. EXA does work though (see our Nouveau Feature Matrix) which does use texturing. Lejocelyn: Will Fedora 8 support by default the Nouveau driver? Fedora Core - well there is an old package available for Fedora right now, it is packaged by Adam Jackson (and in the future probably by Robert Hughes / hughsie). But we don't see it as default yet: - The kernel interface (DRM) is in flux and far from "in sync" with the Linux kernel one. Getting both to work is much work for the distro / packager. - Nouveau isn't really stable. Although 2D works quite well, we still often hit hangs (both soft and hard). - Our access to hardware is limited. We do have a bunch of cards available for development and testing but much more are missing. Setting nouveau as default would bury us alive beneath a heap of bug reports. Probably Fedora will offer us as an optional install, which would still increase the available testing base but prevent us from the mentioned heap of bug reports. - Nouveau is often perceived as OSS 3D driver for NVidia. If you set this as a bar for your expectation, our current version will fail miserably (some cards offer glxgears, that's all for now). So to avoid bad press / word of mouth we don't want them to set us as default. StringCheesian: What kind of official/corporate attention has the Nouveau project seen? Anything interesting or potential sources of manpower, info, or other help? nVidia, distros, etc? The very short answer: Not much. The more detailed one: We do have some support by Fedora who is taking extra steps to offer us as an optional install (as for the reasons, see first questions). Ubuntu offered help on a blog from Mark Shuttleworth but as far as I know he didn't contact us yet. Nothing from Nvidia neither supportive nor CoD letters. Their head of Linux development, Andy Ritger, said that they will neither help us nor hinder us (for the last part we are really grateful). Xorg sponsored the work of Arthur Huillet on Nouveau Xv support and he will stay with us after the summer too. Otherwise support from websites like Phoronix. To be honest though, what we need is support with testing, development, documentation. Getting capable Xorg driver developers is not an easy task, so that is a reason why we try to get a bit more publicity. Knuckles: Do you think it'll ever be possible to reach performance-parity with the closed-source nvidia drivers, or even with the windows nVidia drivers? Are there any cards you're missing that would help development (except the G8X, that are regularly mentioned)? Well the design of the NVidia cards is solid to good. For example, the NVidia cards were the first to include context switching at the hardware level, 10 years ago. Another example is the integrated debugging facilities that the hardware exposes. Each time you send an invalid value somewhere, the hardware will detect that and will notify you. Some of this functionality can sometimes be a little difficult to setup, though. Missing cards are the cards marked red in this Nouveau status list. We have at least one regular contributor / developer for NV0x, NV1x, NV2x, NV3x, NV4x and G84. Really missing are people who offer more than one time help with 8800 (NV50 or G8x) cards. Knuckles: What do you generally think of NVIDIA's hardware? Does it have ugly things that generally get masked by software and that you're uncovering now, or do you generally like their designs? Well, without specs we will never be able to know everything about nVidia's hardware. So they might always do some tricks to increase performance and we would try to catch up. However, we have advantages too. We are working with the both the kernel and dri / drm community to use the latest technology. We can adapt our sources to it. So we are future proof and we don't need to jump through hoops to avoid license infringement. This may even result in better performance. There are also a number of features that nVidia only enables on Quadro cards, that could be enabled on all cards. This could be another source of additional performance. In any case, reaching high levels of performance will require large amounts of manpower, which we might or might not have. Michael: Where do you see the driver in the next 6 months? Year? Two years? We'd love to have full 2D and focus on 3D in 6 months. Of course, that will require a fair deal of reorganization in the code. Adding proper memory management support will surely unlock a number of things. Michael: If there was one thing you wanted to tell NVIDIA aside from "give us the source code" or "give us the specifications", what would it be? We'd be very happy that they cooperate with us on an open source driver :) Michael: Are you confident that at some point in the future there will be Scalable Link Interface (SLI) support with the Nouveau driver? SLI is a feature of nVidia cards that we have not fully investigated yet. If it blends in well within the current code and we have the hardware available, we will surely implement it. That's not a high priority target at the moment though. That also requires developer access to SLI hardware, obviously. Michael: How many hours per day on average are the Nouveau developers working on the driver? That really depends on the person and on the task he is working on and whether help from other developers is needed. And of course there real life restrictions (like summer vacation, thesis work or school) which have a heavy influence on the time spent. Some examples: - Writing a TiNDC takes about 7 days of work with roughly 2 hours per day (if topics get complex there is peer review, which adds burden on the developers too). - I (marcheu) work a couple of hours on it each day, ranging from 0 to 5-6 hours. I wish I could do more, but hey I also have to work for a living. I also sometimes find myself spending lots of time in technical discussions on IRC, and not so much coding. Moustacha: What can those with minimal coding experience do to help out (without stuffing up their machine)? Generally speaking: testing and giving feedback to us. Please don't be discouraged if no one answers you (because the channel is silent or there is a heated discussion / testing spree on the way), your feedback won't get lost. And please: Don't come into our channel, report and vanish for ever. Lurk in the shadows and await sudden requests for either more data points or tests with patches applied. That is important to us so that we can verify our fixes work out ok. Remember: Your hardware and software setup may be radically different to what we have available. So you may be the only person who can reproduce your bug. Regenwald: Do you think that TV-Out, S-Video etc. will ever work? what do you think about the current performance? Do you think about releasing benchmarks? What about dual-screen? TV-Out is likely. Thunderbird (of NVClock fame) is looking into it and has identified some registers already. We think that will fit quite well within the randr-1.2 conversion that we're working on. Dual screen (randr1.2): Airlied is working on and off on this and got randr-1.2 dual screen working on a very specific hardware setup. Airlied wants to work again on it from September on last thing I heard from him but currently, work has stalled. Benchmarks: It's open source you know. We are really trying to get things working right now and are not so much interested in benchmarks yet. That said: 1. We did compare our Xv implementation to that of the blob's. It helped us determine whether we could still improve and we can now claim better performance there. Unfortunately that speed advantage is sometimes eaten by EXA doing too much synchronizations (forcing a wait), so there is still work to be done. 2. Hey, it's Open Source. Do it yourself and let us know. Benchmark pointing out large performance differences is valuable feedback for us too! Ssam: I have been using Nouveau on Ubuntu Gutsy with RAOF's packages for the past few days and they seem pretty stable on a 7300. At what point do you think Nouveau will replace nv? Is nouveau already as good as nv for 2D stuff? (have i been lucky)? If so why have none of the distros put it in as default yet? Well, cards from GeForce 6x00 to 7x00 are currently the best supported, they may even support "3D" (well, glxgears). We are quite sure that nouveau is mostly stable for 2D, and for all we know, it compares favorably to nv. We don't want to be default yet for reasons we detailed above. Just about two weeks ago we broke the binary interface yet again (see the latest TiNDC for a deeper explanation of why and what). So making us default is not a good idea yet. And yes, if you are tracking our progress with those packages, you have been a bit lucky in that we know how to init your card. Otherwise X wouldn't start up and you could rightly complain :) Hmmm: Once basic 2D/3D support and RandR is completed, what would be next on the agenda for Nouveau? Well, as already noted above, we really don't have a roadmap of what we do. It is up to the members of the project. They do what they are interested in. Generally speaking though, before we can do anything more complex, we will need to start using TTM. We did some preliminary work, but there needs to be done a lot more. After that we can start implementing advanced features like texturing, lighting and all we need for our next milestone after glxgears (Quake). Hmmm: Have you looked at trying to implement Pure Video? Pure Video consists basically in using the 3D engine to achieve video decompression. Although we mostly know how to make use of the 3D engine from nv04 up to nv40 cards, there is currently no suitable API to expose such a mechanism under X11. An interesting alternative would be to implement video decoding over OpenGL, which would be both driver-independent and very flexible for the video player. Hmmm: Have tried to approach NVIDIA to release the ancient Detonator drivers or older ForceWare drivers as opensource? Interesting question, the answer is no though. There are various reasons (to some degree already mentioned in earlier answers) but if you consider the fact that they even won't release any specs, I don't see them releasing driver sources. Furthermore driver source code would have even more data about their chips (and sources bought from other vendors too). Also, now that we've done most of the reverse engineering effort, the usefulness of having Nvidia release specs has become quite low. Hmmm: How does work done on the ATI open source & Intel open source drivers, Mesa, Randr, and X.Org influence your work? The DRI drivers all use a common code-base, which means lots of the code is shared. Obviously when improvements to common code happen, all DRI drivers take benefit from it. One such example is the work done on the VBO branch that helped all the DRI drivers on the performance side. Another example is the TTM, which will be used by all drivers once finished. As far as reverse engineering is concerned, we do share a number of tools with the Radeon developers and Xorg also does support us (they did sponsor Arthur's work on Xv as a Vacation of Code project). On the negative side, we also learn a lot from the mistakes we saw, or did, in the other drivers. For example, we are trying to avoid driver fragmentation as much as possible, since it makes maintenance a lot more difficult (an example of fragmentation can be seen with the ATI DRI drivers, and it has made maintenance more complicated in the past). Srouquette: I have a 8800 GTX and I'd like to help, but I don't have Linux installed yet. is there a Live CD with everything to test the drivers from the CD? The answer is no and there are mainly two reasons for that: 1. For the blob we can't redistribute it as a precompiled and automatically inserted module within a modified Live CD like Knoppix. Doing so would violate the GPL and thus is no real option. We could compile it at run time but that would need much system memory (to hold the read write filesystem, the compile results etc.). That would rule out smaller systems. Although the knowledge to do this is available, it is not worth the amount of work necessary. 2. For (re) nouveau creating a Live CD doesn't make much sense due to the fact that our code is highly volatile. Before you can burn a Live CD there is already a bug fix or a new bug added to our repositories. We need testers who grind through our latest offerings, the older the driver used, the less useful a bug report is. So again, a Live CD is not useful. Yoshi314: Are you having problems with insufficient user exposure/manpower, because NVIDIA blob is "good enough" for most people? The joint effort between Phoronix.com and our project is mainly due to us trying to get more contributors (writers, coders, tester). So in this way the answer is yes. Whether we miss people because the blob is "good enough" is hard to say. Personally I would have to say no. I do have no problems with the blob at all, but still I do help out a bit every now and then :) We do get some exposure on the net. When we spoke to several people at FOSDEM (be it Xorg, Suse...) and LCA earlier this year, all knew our project and wished us best of luck. At FOSDEM in the Xorg room our talk was one of best visited the whole day. But really, I don't know and we don't care. We are not on a crusade to burn all binary drivers. We do think however that people should have options and that other systems (like PPC) shouldn't be banned from 3D acceleration under Linux with NVidia. Regenwald: Are you looking forward for integration into the Xorg Server? License issues? Well our driver is under MIT license and thus shouldn't have any problem with licenses. Now that Xorg is modular, "integration" is as simple as making releases from time to time. We will probably start doing releases once the kernel/user space API is stabilized, which might not be too soon though. When we spoke with Egbert Eich on FOSDEM earlier this year, he indicated that Xorg is very interested in the success of our driver, something they underscored with their sponsoring of Xv in their Vacation of Code this summer. We would like to thank the Nouveau developers, especially KoalaBR and Marcheu, for taking the time to answer these reader questions. Should you have any other Nouveau-related questions or would like to share your opinions on X.Org drivers, be sure to stop by the Phoronix Forums. 原文链接: http://www.phoronix.com/scan.php?page=article&item=820&num=1 |