If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

NVIDIA's Working On A New Driver Architecture?

Phoronix: NVIDIA's Working On A New Driver Architecture?

When going over the mailing list messages from the past few days regarding concerns over NVIDIA's fence sync patches for X.Org Server 1.10, one of the statements by NVIDIA's James Jones indicates that they are working on a new driver architecture. What though could this new driver architecture hold in store?..

huh

I thought KMS was more of a religious or political issue than a technical one. I understand KMS to be something that nVidia simply cannot be reasonably expected to provide in the near future, given that probably 90% of all the IP used in their hardware and software probably isn't even owned by them, but people more like the team behind abominations like Poulsbo.

Sounds a lot more than they're just slowly refactoring their existing driver. Not at all uncommon in any large project. New "architecture" is implemented by writing the supporting code for the new design and then slowly switching over all users of the old APIs to the new ones, in as modular and piecemeal a fashion as possible. Just did something similarly over the last week for a game data serialization system, where the old version put too much logic into the area loader instead of in the game object factories. I didn't just drop in a whole new loading system; I added support and features and moved logic over the course of about 20 commits or so. Multiply the size of that little sub-project and the number of code commits by 100 (or more) and that's likely what the NVIDIA guys are dealing with.

Originally Posted by ethana2

I thought KMS was more of a religious or political issue than a technical one.

There are strong technical benefits to the idea of kernel mode setting. The specifics of how it is done is fairly irrelevant, though. So long as the kernel can trigger NVIDIA's mode setting without calling to user space, and so long as userspace apps like Plymouth can trigger the mode changes, everyone should be fairly happy. Everyone would be happier still though if NVIDIA could just fit into the existing infrastructure.

I thought KMS was more of a religious or political issue than a technical one. I understand KMS to be something that nVidia simply cannot be reasonably expected to provide in the near future, given that probably 90% of all the IP used in their hardware and software probably isn't even owned by them, but people more like the team behind abominations like Poulsbo.

Your understanding is severely lacking then.

KMS is necessary if you want to be able to have good performance, stable drivers, and get rid of the batshit insane X Windows driver model.

Sounds a lot more than they're just slowly refactoring their existing driver.

Sounds to me like they want to get away from maintaining a Linux drivers based on a old version of the Window's driver code base. So they have to pull down code from a newer verison of Windows, figure out how to make it compile in Linux, then shoehorn it into your kernel with a updated 'GPL shim'.

My guess is that this is related to how Microsoft forced Nvidia to stop putting their code into the NT kernel and forced them to move to a userland graphics drivers for Windows 7 and Vista. This required very substantial changes to the driver.

I expect that until recently they were backporting improvements from Vista to XP. And then from XP to Linux. Now they want to figure out how to get Vista's userland driver back into the Linux kernel with as little effort as possible.

I don't have the time right now to look it up. I would not be surprised that the hardware and features that the Linux driver lacks is very similar to what XP lacks versus Windows 7 in terms of support.

Sounds to me like they want to get away from maintaining a Linux drivers based on a old version of the Window's driver code base. So they have to pull down code from a newer verison of Windows, figure out how to make it compile in Linux, then shoehorn it into your kernel with a updated 'GPL shim'.

My guess is that this is related to how Microsoft forced Nvidia to stop putting their code into the NT kernel and forced them to move to a userland graphics drivers for Windows 7 and Vista. This required very substantial changes to the driver.

I expect that until recently they were backporting improvements from Vista to XP. And then from XP to Linux. Now they want to figure out how to get Vista's userland driver back into the Linux kernel with as little effort as possible.

I don't have the time right now to look it up. I would not be surprised that the hardware and features that the Linux driver lacks is very similar to what XP lacks versus Windows 7 in terms of support.

Just a guess.

That very well could be the size of it and hopefully this change will help bring the Linux nvidia blob on a par with Windows eventually

Perhaps I missed it, but does the current nvidia driver provide any facility for run-time resolution/orientation/multi-monitor adjustments? As a laptop user, lack of this feature alone makes the driver completely worthless to me.