Dolphin, the GameCube and Wii emulator - Forums

Full Version: Stereoscpic 3D Side by Side OGL
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
You can enable this feature in the Video Config INI by setting StereoMode to 1. However please do not submit bug reports about this feature as it's not officially part of Dolphin yet. At this point we're solely looking for regressions with stereoscopic 3D being disabled. Also note that it's not feature complete yet, enabling features like the XFB or Anti-Aliasing will break the 3D effect.

(11-30-2014, 04:46 PM)CarlKenner Wrote: [ -> ]Does anyone want to merge Dolphin VR to prevent conflicts in the future? Because we keep getting conflicts where we implement something, and then Dolphin reimplements it in a different incompatible way. For example, 3D, freelook hotkeys, 10-bit accelerometers.
It's not ready for merge yet, I have to get your single-pass 3D working on the Rift.

As you already know, as much as I'd like to we can't merge DolphinVR because the Oculus SDK is not compatible with the GPL license despite being open-source. It's all because Oculus reserves the right to cancel the license in case there are health risks in the application. Jasper tried to contact them before, but they were not willing to take that out of the license nor release the SDK under a GPL-compatible license.

About the incompatible changes, for stereoscopic 3D we chose single-pass as opposed to a multi-pass approach because it's easier to maintain and more efficient for an emulator bottlenecked by draw calls. I was already aware of your efforts regarding stereoscopic 3D, we don't do it differently just because we can. If you'd like to I could contact you earlier next time so you are aware when I'm working on a feature that's incompatible with DolphinVR.
(11-30-2014, 08:31 PM)Armada Wrote: [ -> ]As you already know, as much as I'd like to we can't merge DolphinVR because the Oculus SDK is not compatible with the GPL license despite being open-source. It's all because Oculus reserves the right to cancel the license in case there are health risks in the application. Jasper tried to contact them before, but they were not willing to take that out of the license nor release the SDK under a GPL-compatible license.
I don't think it's violating the GPL by linking to it, because regardless of whether they are in source code form or not, and regardless of whether they are part of the Kernel or not, standard operating system components such as hardware drivers are specifically exempted by the GPL.

GPL v2 Wrote:However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

GPL v3 Wrote:The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.

The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work.

It's no different from linking to XInput or DirectX or Visual Studio 2013, or any standard hardware driver, like thousands of other open source projects do without a second thought.

And Dolphin VR doesn't necessarily link to the Oculus SDK anyway (or Visual Studio, etc.). When you compile it, it detects whether or not the Oculus SDK's LibOVR folder is present and will build without Oculus Rift support if the SDK is not there.

I don't think it would violate the GPL, at least not the way the GPL is ordinarily understood.
(12-01-2014, 12:06 AM)CarlKenner Wrote: [ -> ]I don't think it's violating the GPL by linking to it, because regardless of whether they are in source code form or not, and regardless of whether they are part of the Kernel or not, standard operating system components such as hardware drivers are specifically exempted by the GPL.
The Oculus SDK is not a driver and is not distributed with major components of the operating system. GPL also does not allow you to add features that require the user to supply a library that is not GPL compatible, as it would encourage the user to violate the GPL. Even for things like a closed-source GPU driver you're only allowed to communicate with it because you can do so through an open standardized API.

I recommend that you look for a VR library released under a compatible license like GPLv2, LGPL or MIT/BSD, VRUI is a good example: http://idav.ucdavis.edu/~okreylos/ResDev/Vrui/ (Here's a pre-release of VRUI with DK2 support: https://github.com/Doc-Ok/OpticalTracking ). If you decide on a library to use please discuss it beforehand, preferably on IRC, so we can make sure we can integrate the proposed library.

IIRC you also use the closed-source Sixense SDK, I've been working on an open-source implementation for that myself: https://github.com/Armada651/dolphin/com...fe0979dc51. But VRUI may also already add support for that.
I disagree.
(12-01-2014, 02:22 AM)CarlKenner Wrote: [ -> ]I disagree.

That's okay, I guess.

However, you were asking whether we were going to merge VR things into the official Dolphin tree, and to our understanding the Oculus SDK is not GPL-compatible. Hence it's unlikely to be merged as it is.
(12-01-2014, 02:22 AM)CarlKenner Wrote: [ -> ]I disagree.

I don't like the situation any more than you do, if it were up to me everyone in open-source would be using an MIT license and we'd be able to implement all those nice features that rely on proprietary code. However for large open-source projects a healthy open-source ecosystem is important and that's what the more restrictive copyleft licenses like GPL are trying to protect.

I find the DolphinVR branch very cool and I hope we'll be able to integrate VR support in Dolphin at some point, but as it stands it's just not possible.
(12-01-2014, 03:09 AM)Armada Wrote: [ -> ]I don't like the situation any more than you do, if it were up to me everyone in open-source would be using an MIT license and we'd be able to implement all those nice features that rely on proprietary code. However for large open-source projects a healthy open-source ecosystem is important and that's what the more restrictive copyleft licenses like GPL are trying to protect.
GPL does allow you to rely on proprietary code under certain circumstances. Which is good because Dolphin already very heavily relies on proprietary code.
There's nothing healthy about trying to force everyone who wants to work on a certain platform to go fully proprietary because you don't understand that GPL allows open source applications running on proprietary platforms.
(12-01-2014, 04:41 PM)CarlKenner Wrote: [ -> ]
(12-01-2014, 03:09 AM)Armada Wrote: [ -> ]I don't like the situation any more than you do, if it were up to me everyone in open-source would be using an MIT license and we'd be able to implement all those nice features that rely on proprietary code. However for large open-source projects a healthy open-source ecosystem is important and that's what the more restrictive copyleft licenses like GPL are trying to protect.
GPL does allow you to rely on proprietary code under certain circumstances. Which is good because Dolphin already very heavily relies on proprietary code.
There's nothing healthy about trying to force everyone who wants to work on a certain platform to go fully proprietary because you don't understand that GPL allows open source applications running on proprietary platforms.
You are talking about DirectX, XInput and Visual C++, these are all major components distributed with the operating system as required by the System Library exception. The Oculus SDK is not a major component nor is it distributed with the operating system, the GPL license is very clear about the limits of the exception. Even if I go along with your broad interpretation of it, you'll have a hard time convincing anyone else on the Dolphin team.

If GPL allowed users to supply the proprietary libraries the exception would've said that it was okay to link to any library as long as it is not distributed with the source code. Instead it only says you're allowed to link to the major components distributed with the operating system.
Pages: 1 2