hello all,
don't bother on this message if you feel it has nothing to be here.
But I rencently read a whole lot of MSDN documentation about the LDDM infrastructure. The new Windows graphics vista driver model.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/Display_d/h...
And what made me think we could have support for it in linux.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/Display_d/h...
It seem to me that having the most important parts of the driver being in user mode would really help to use it on other systems.
From what I read, the user mode driver would create the command
buffer that would need to be uploaded to the GPU and a kernel module would need to schedule GPU access handle memory of the GPU and send the command buffer to it.
This would need the Wine Expertise of DirectX reimplementation as well as some good kernel hacker, but in the end maybe the struggle to have linux specific support from Graphics adapter vendors could be one for all removed if we had LDDM driver support and then and X build on top of it (same philosofy as Xgl).
it could also benefit to the wine project itself as we would have really windows driver being used, it should help to increase compatibility.
sorry if it sound crazy...
Hello,
This would need the Wine Expertise of DirectX reimplementation as well as some good kernel hacker, but in the end maybe the struggle to have linux specific support from Graphics adapter vendors could be one for all removed if we had LDDM driver support and then and X build on top of it (same philosofy as Xgl).
I haven't looked at the tecnical side of this, but while support for LDDM drivers might bring the advantages above, it also has drawbacks:
* It might be a part of Wine functionality that is limited to Linux. * It will always be limited to X86 and X86_64 architectures only.
The Linux graphics driver situation is not bad, in my opinion. The nvidia driver is good, some say it's better than the windows driver. The ati fglrx driver's quality isn't that shiny, and I have a lot of problems with it, but it's getting better and better. The intel graphics chips have Open Source drivers, as do the ATI radeon chips, and the nvidia chips(2D only).
The bigest problems are Linux specific graphic functionalities, like Xinerma, and Windows drivers will never ever help with this - Look at the ndiswrapper project, it will never be able to provide a master mode, because ndis doesn't support it. One thing that could improve is the 3D acceleration speed, but I doubt it will be much better. Take the ATI cards: The Linux driver is slow compared to the Windows driver. But when I played some games in Windows on my notebook(Radeon 9000 Mobility) the last time(1 Year ago, approximately), this was true for DirectX games only. A friend of mine, who has the same hardware, still has problems with OpenGL games like Half-Life 1 and Jedi Academy in WinXP, games that perform really fine with fglrx in Wine.
Implementing a wrapper for windows graphics drivers is surely technically interesting, it's an unnecessary effort, which is better invested elsewhere(For example in making the native Linux drivers better). And it is definitly a thing that ReactOS should have.
Stefan
Stefan Dösinger wrote:
Implementing a wrapper for windows graphics drivers is surely technically interesting, it's an unnecessary effort, which is better invested elsewhere(For example in making the native Linux drivers better).
Haven't I heard something analogical before?
That'd be... let's see... Wine myth.. #2?
There will always be some obscure cards whose manufacturers just don't care about Linux.
(-: Are you going to betray everyone that doesn't buy from Nvidia and ATI? :-)
Krzysztof
Haven't I heard something analogical before? That'd be... let's see... Wine myth.. #2?
I know of this, and I agree that Wine is a good thing(Otherwise I wouldn't read this list and do any development)
But in my opinion, there's a difference in that matter between Applications and Drivers. An application is just something, that sits on top of my Linux installation, while a driver is part of really low-level things.
There will always be some obscure cards whose manufacturers just don't care about Linux.
That is true, I cannot deny it. But how many Windows only applications are there, and how much Windows-only hardware is out there?
I have started a discussion like this on ndiswrapper-devel some time ago, it was about writing a general windows device driver wrapper. No one had a answer wheter such a thing was bad for Linux[1], but the suggestion was dropped because it was too much work for relatively few devices.
(The situation why ndiswrapper came into existance was that there was a really high percentatge of unsupported wlan cards, perhaps due to FCC regulations. The FCC states that those cards may only use a certain frequency with a limited power level. Many cards have this control implemented in the driver, so the manufacturers where not allowed to publish an open source driver or the cards specs. And writing a binary only Linux device driver is not comparable to writing a closed-source Linux app. For example, the madwifi driver is basically open source, but it contains a binary only HAL module. The author of the driver wrote this module, but he was told that he wasn't allowed to release the source.)
It is different on the application side: Publishing a binary-only app is not magic, you don't need some open-source glue around the binary module and partially recombile the driver against 1001 different kernel versions - So companies to not have the pressure to release their sources(which many do not like). And it's much more likely that you need one specific application, than to need one specific device. It's easier to change an unsupported graphics card than to find a 100% compatible program to Microsoft Access. Windows users often go to the shop and by a replacement device, if the one they have doesn't work out of the box, although they could just download a driver, which is faster and cheaper.
Furthermore there's a dependency problem: If I run a Windows application in Linux, there's no problem to terminate that application, the rest of the system will still run. If I have a device driver, I won't be able to use my Linux system without that piece of Win32 code. In such a situation Microsoft might argue that we aren't even able to boot our OS without their code.
(-: Are you going to betray everyone that doesn't buy from Nvidia and ATI? :-)
Just out of curiosity: Can you name any graphics card which doesn't have a Linux driver? I haven't seen such a device yet.
Relying on Windows drivers would, on the oder hand, betray anyone who is not using x86 hardware.
Stefan
[1]: It turned out that there are some Wlan device manufacturers which deny to write Linux drivers and tell Linux users to use the Win32 driver and Ndiswrapper. It was said that there was even one company which stopped their Linux driver development due to ndiswrapper. On the other hand, the Linux wlan driver situation is not as bad as it was 2 years ago: Drivers were released for the Intel pro/wireless cards(Centrino!), the realtek wlan chip and others. The only chip that needs ndiswrapper that I know is the broadcom chip, and there's a reverse engineering in progress. One curiosity about the broadcom chip: There is a Linux driver, it's used in a wireless lan access point which uses Linux. I don't know why Broadcom didn't release their driver.
----- Original Message ----- From: "Stefan Dösinger" stefandoesinger@gmx.at To: "Claude Mench" claude.mench@bio-rad.com Cc: wine-devel@winehq.org Sent: Saturday, 2005 October 22 19:47 Subject: Re: Wine project: Support third party LDDM graphic drivers
The Linux graphics driver situation is not bad, in my opinion. The nvidia driver is good, some say it's better than the windows driver. The ati
fglrx
driver's quality isn't that shiny, and I have a lot of problems with it,
but
it's getting better and better. The intel graphics chips have Open Source drivers, as do the ATI radeon chips, and the nvidia chips(2D only).
You are certainly right in the current situation, but like Microsoft points it out in their technical documentation, have you seen how well multiple 3d apps coexist ? launched several glxgears ? the LDDM adresses problem that would need to be adressed also under linux when the GPU will be used to render the desktop and support multiple direct rendering applications. So right now all this could seem overkill. But trying to bring the LDDM support infrastructure under Linux would help adress several real technical issues like memory management and multiple GPU support.
So beside having drivers support from all manufacturers it would give enhancement of the possibilities of full gpu utilisation.