p1pkin / demul

Automatically exported from code.google.com/p/demul
97 stars 19 forks source link

Any hope to see this on linux ? #398

Closed barbudreadmon closed 5 years ago

barbudreadmon commented 7 years ago

Well, i know you guys don't have any interest in linux, and i can understand that, but is there any hope to see this project opensourced again ? Some people would gladly contribute in porting this to other platforms (i'm one of those people who port opensource windows emulators to other platforms, fbalpha to the libretro api to be more precise).

I also know you don't intend to add opengl support because directx is better, but what about vulkan support ? This successor of opengl is slightly better than directx performance-wise, and is cross-platform. Also, windows software with vulkan support run on latest wine.

So, is there hope in playing atomisware/naomi games on linux though demul in the future ?

Also, merry christmas.

p1pkin commented 7 years ago

well, this project is result of work of several people, so in theory it can be licensed under FOSS only then ALL involved people will agree with that. however, as far as I know few of authors against this, especially F(free) part of FOSS term, so this likely won't happen.

also, I cant see benefits for project from "Linux" port. making Demul really multiplatform, like Dolphin, PCSX2, etc projects - looks interesting, but just a porting it to Linux or that libretro-thing looks pointless.

Vulcan - may be interesting, but is it works well ? I followed few Vulcan-related gamedev topics at Russian game development forum and people have tons of issues or faced many bugs in it. besides of that, Demul already uses (DX11) compute shader-based renderer for the years, far before Vulcan was released. also, currently I don't own any Vulcan-compatible GPU (

in general: demul never was "for users who want to play teh games", but more like private sandbox of few persons interested in gaming or arcade hardware research. so it is not much "targeted for users" project...

barbudreadmon commented 7 years ago

libretro is multiplatform, my port of fbalpha to libretro run on windows, linux, android, ios, mac os x, consoles, ... Vulkan is still quite new, i know it really improved n64 emulation : https://www.libretro.com/index.php/nintendo-64-vulkan-low-level-emulator-parallel-pre-alpha-release/ Not sure it would improve anything for demul, but it sure would help for cross-platform compatibility.

Anyway, thanks for your answers :).

p1pkin commented 7 years ago

you didn't get my point - currently emulator fully depends on Windows APIs (win32, d3d, etc), so why exchange this to full dependency from another API (ie libretro) ? especially if that API is kindof "private" - controlled by very few people, if not single person.

Vulcan - is there was improvements ? correct me if I wrong, but I thought it is same Mupen64 + Angrylion's RDP softrender ported to use compute shaders, so yes - it faster on GPU, but not better than it was.

barbudreadmon commented 7 years ago

Well, i never asked you to move to libretro :). I'm not even sure you could with closed sources. And no, the api is not private, it is open source, you can submit changes.

About vulkan, what do you mean by improvements ? It is the first time a RDP LLE video renderer for N64 has been capable of running at fullspeed. It marks a shift away from decades of inaccurate high-level emulation of the N64’s RDP which made for buggy N64 emulation in general. I think this is a great improvement, and it's mainly thanks to the async compute of vulkan.

Lee91x commented 7 years ago

DX 12 supports Asynchronous Shading and Compute.

barbudreadmon commented 7 years ago

That's true, but it is slower than vulkan, and not cross-platform.

Eignar17 commented 7 years ago

@p1pkin is port to QT is very interesant port to QT in to windows and mac or linux is code in to QT is cool and view in to forums and code is easy port to directx 11 to vulkan is easy not complicate. is for directx 11 to opengl is hard

Formedras commented 6 years ago

So, when are we going to see GPL compliance in the form of releasing source for version 0.7?

p1pkin commented 6 years ago

why ?

ghost commented 6 years ago

Hi

I see here that demul is under GNU GPL v2 :

https://code.google.com/archive/p/demul/

What is the license now ?

p1pkin commented 6 years ago

full story: we wanted to use GoogleCode's Issue tracker since it was nice and everyone have Google accounts, but GC required project to be OSS. so we uploaded old code from sourceforge (btw, which had zero interest during all the years it was there) into GC repository, then picked random item from list of available licenses :p so, it became GPL v2...

Tabris666 commented 5 years ago

if is gpl v2 then is open source and cant be changed to private (read the license) source has to be published along binaries,any derivative change has to include source of those changes. sadly this wasnt the case since it became open source just in words no one released the source there is no code and they never intended to use google code tracker. if you manage to track the source then anyone can port it to linux and make the necesary modifications to the code to use vulkan and opengl. opengl was aborted because developers never learned how to optimize code for opengl since opengl on windows has more advantages then directx,according to some research and documentation opengl can achieve the same performance as directx 11 and vulkan has a higher performance then both but the advantages in performance are noted more in linux opengl has a 35% increased performance there and vulkan has an increased performance of 60% on linux. there is no way to return a gpl2 licensed project to shareware or freeware unless you make a new project without saying is a derivative work from demul source code

p1pkin commented 5 years ago

@Tabris666 are you sure you really understand how all this licensing things works ? all that licenses applied to the people who is NOT author/owner of the code, while code author can do whatever he want, because it is HIS code. so, if I created some code, I can publish it under GPL today, tomorrow add some more commits, days later relicense under BSD, and few more days later made it private or whatever else. because it is MY code and I'm as a author/owner can do all what I want with it.

add: same thing with private code - if some team member created some code while project was not public / private - only this person have rights to license his code under GPL or some other license, but no one else, because its his code.

Tabris666 commented 5 years ago

gpl2 fobids you to change the licensing all subsequent versions are to be released under gpl2 aking source code even if you are the developer of said software gpl2 forbids you to do that,the only way to bypass those is publishing the code on gpl3 or gpl3.1 which allows you to change anything you want even licensing,you are not forced to share the source code. gpl2 allows you to share,sell, distribute said software without paying anything to the author,you can change the code without consulting but you are forced to leave a copy of source code and changes you made in the distribution,you can´t change license type once your project has become gpl2 even if you are the owner of said code. even BSD licenses has some problems for example if you post something under bsd you arent allowed to make profit or take donations for your project otherwise your project will be terminated or open sourced under gpl2,if the intention was not sharing source code and keep everything either under freeware or shareware licenses they made a flop when they changed the license to gpl2 now everyone is the owner of demul code unless they thought there arent changes betwen gpl2 and gpl3 or 3.1

p1pkin commented 5 years ago

nope, you get it wrong. author of code have full rights to do with it everything. while other people restricted by license terms and conditions. simply speaking - author of the code is just gives to everyone permission to use his code on terms and conditions of license, GPL or whatever. but this code is still remains his personal intellectual property.

p1pkin commented 5 years ago

and btw, wtf are you talking about BSD ? you can make profit from someone's else BSD3 licensed work. moreover, unlike GPL you aren't forced to provide source code with your product or diff of your changes by request, afaik that's the main difference with GPL. in general, BSD 3 clause is more "freedom" license than GPL.

barbudreadmon commented 5 years ago

@Tabris666 To my knowledge, author can change license at any moment (that happened recently with another dreamcast emulator named "redream"). If a version of the code was published under GPL license, i think this version has to stay public (that's also what happened with this "redream" emulator), and i guess that's what the content of this repository is (an old version of the code when it was public).

@p1pkin i still hope i'll see demul somehow running on linux someday (even through wine), while reicast made a lot of progress in the past months through the work on the libretro version (especially on the renderer part), there are still a lot of bugs and missing features (especially the lack of support for windows CE games), feel free to help ;).

Tabris666 commented 5 years ago

@barbudreadmon Nope once licensed under gpl2 they are unable to change it back,think about this if what you claim is truth then google wouldnt need to release source code for google chrome or android OS since they just had to change license and make it private but they dont do it and is google,something made by a group or one person will have less chances.

Redream well is a weird case problem is is still under gpl2,most of the compatibility is from the older version source code (available online) but.. here is the big but since he didnt made any changes at all he just did what he is doing now and is sell it without saying is under gpl2 as most one one man projects,redream got hundred of improvements to reach the current point made by community but the author thought everything was going to be faster like the improvements from ppsspp but in redream case it didnt work as fast since most people just use either nulldc with reshade or demul with native shaders or demul with reshade not many people had interest on his project besides the few coders interested on improving the emu,sadly as most capitalists he took all the code and efffort from hundreds on developers and gave them the middle finger and started selling the emu without giving anything to them in return.

p1pkin commented 5 years ago

redream got hundred of improvements to reach the current point made by community

this is not true: redream as you may see, close to 100% of code was created by single person, Anthony.

in general you seems have no idea how things work. as was said many times - author may use his code in any way, for example publish it under some license. but no one besides author may change license.

so, if you have some for example GPLv2 licensed project, which is result of collaborative work of several people, and you want to change it's license, or made it private, you have an options:

that's it.