x13pixels / remedybg-issues

Public repository for tracking issues (bugs and features) for the RemedyBG debugger
84 stars 0 forks source link

Linux Support #176

Open SamHSmith opened 3 years ago

SamHSmith commented 3 years ago

I would love to use Remedybg since it seems to be an amazing debugger. However I rarely work on windows as most of my development and general PC use is on Linux. How much of remedy is tied to Windows and would you consider porting it to Linux? I would love to help you do it!

x13pixels commented 3 years ago

After looking over the ptrace API the answer is probably a no for now. Maybe there is a less flaky API that is more reliable across multiple versions of the Linux kernel / distributions?

Here is one excerpt from the ptrace documentation:

       As of Linux 2.6.38, after the tracer sees the tracee ptrace-stop and
       until it restarts or kills it, the tracee will not run, and will not
       send notifications (except SIGKILL death) to the tracer, even if the
       tracer enters into another waitpid(2) call.

       The kernel behavior described in the previous paragraph causes a
       problem with transparent handling of stopping signals.  If the tracer
       restarts the tracee after group-stop, the stopping signal is effec‐
       tively ignored—the tracee doesn't remain stopped, it runs.  If the
       tracer doesn't restart the tracee before entering into the next
       waitpid(2), future SIGCONT signals will not be reported to the
       tracer; this would cause the SIGCONT signals to have no effect on the
       tracee.

       Since Linux 3.4, there is a method to overcome this problem: instead
       of PTRACE_CONT, a PTRACE_LISTEN command can be used to restart a
       tracee in a way where it does not execute, but waits for a new event
       which it can report via waitpid(2) (such as when it is restarted by a
       SIGCONT).

I read this as "after so and so version of Linux the functionality is hosed but it works again in 3.4!". This kind of thing appears all throughout the documentation. It might just be that I am not familiar enough with the API. My apologies if my understanding of ptrace is incorrect.

Then there is the problem with multiple distributions. Even if the API was stable would I have to worry about each of these distros to create a robust product?

And finally, there are less than 1% of people that use Linux (at least according to latest Steam Survey) and less than 1% of those willing to pay any money for software tool...

SamHSmith commented 3 years ago

You are right that the api changed a lot up until 3.4. However that was 8 years ago. I would say that almost all desktop users are on kernel 5.0 or later. So you wouldn't have to worry about that at all I don't think.

The answer to your second question is no. The API is stable and the interfaces for creating a gui application are distro agnostic. Ptrace goes directly to the kernel. I assume that your using software rendering in which case nothing changes on windows vs any linux distro. If you are not using software rendering, access to vulkan and opengl are the same across all distros. To interface with the window system you need to communicate to an X server over the X11 protocol. This is standardized across all distros. And even people like myself who are running the new protocol, wayland, can still use X11 apps because we have the compatibility layer called xwayland.

Now normally you don't interface with Xlib directly. You use a toolkit/library like SDL/GLFW/GTK/QT.

And about the money. It's not that Linux users don't like paying for things. It's that they don't like having to pay for things. They will happily donate money often out paying what you could have charged for the software had you wanted to sell it to them. However, Linux and the free-software movement has it's roots in broke teenagers who develop software in a garage. Many of us have been in a situation where we didn't have money to pay for tools. But we were able to make things using free-software. Linus Torvalds started working on the linux kernel because he could not afford a desktop OS. And for that reason linux people get very nervous around paywalls. They are however very open to donating money so that the software can be worked on full time.

If you only depend on libc, sys/ptrace.h, and SDL or GLFW I guarantee you it will work on every desktop Linux distro out there. And considering you'll be the best debugger the linux world has ever seen I don't think you'd have a hard time finding a considerable amount of customers. Linux developers are willing to spend money on tools. Especially since your tool is not made by some big corporation. And you can definatly count every single windows based dev who has to work on linux stuff will come running for remedybg on linux.

Have I succeeded in impacting your thoughts?

tdgroot commented 3 years ago

Also interested in seeing Linux support. When that support hits, I'll switch over from gdb guis and buy Remedybg!

As for the market share argument: I think the steam survey is not representative of the Linux community market share in developer space, for obvious reasons.

SamHSmith commented 3 years ago

Good point. I would point aswell that google pushing stadia, Linux being the number one server platform, are reasons why a lot of developers and a lot of companies would pay good money for better tools on Linux.

jcalabro commented 2 years ago

Hey there! Wanted to leave a note saying that I would also use this on Linux (though I'm already a paying Windows user 😄). I keep ports of my code going on both Windows and Linux, and it would be nice to have the debugger on Linux so that process is smoother. Huge fan of RemedyBG on Windows, and nothing even comes close on Linux.

Beyond just shipping games, I think it would be a boon to have over there as well for all varieties of software! Apart from games, I write a lot of stuff that runs on Linux servers, so it would be really helpful to have for sure. Definitely not a small undertaking to target this though, so totally understood if it's not something that's likely to come down the pipe.

Regardless, thanks for an awesome product!

Cthutu commented 2 years ago

Linux will definitely be a bigger player in the video games scene. I'm in the industry and we're already talking about Steam Deck, and I personally use Pop!_OS that runs most of my games so far. I've purchased this for Windows and I would love to see this on Linux too.

Also, many game servers are being developed on Linux to support multiplayer games.

ryuukk commented 2 years ago

Lot of programs / game server needs to run on linux boxes nowadays

Being able to have a good debugger not only is needed, but the market is quite empty on linux, despite the demand growing year after year

If we fed up with windows, and feel like linux is not quite there, then let's join hands in trying to make linux the best place for devs, i think it is personally, we just need to convince the doubters, let's all do our best, at least we should try, nobody will do it for us

--

Perharps contacting valve to sponsor a linux version could be a good idea, that would be a good opportunity for the Steam Deck

SamHSmith commented 2 years ago

That is all true. However I can not say in good faith anymore that I want Linux to become the best place for devs. Because that fundamentally limits how good things could be to kinda shitty. Linux is a bad place to be for more reasons then not having a good debugger. I think the collective effort should go into replacing Windows and Linux instead. That way we could have something truly good instead of less shit.

neonmoe commented 2 years ago

I would like to express support for this as well. I would buy RemedyBG in an instant, if I could use it. The only time I've used windows in the past few years has been building executables with msvc in a VM. On Linux, the debugger situation is horrible, basically the only one I've managed to find any value from is the Visual Studio Code CodeLLDB extension, which feels sluggish and doesn't have all the neat features RemedyBG has. There's also the Steam Deck, which could use a proper debugger for devs who want to support the platform. Sorry to just contribute yet another post just begging for this, but I hope this shows that there's many people who would like to buy the program, if it were on Linux.

kieranvs commented 2 years ago

The debugger situation on Linux is so awful - I would be happy to pay 10x the current asking price if it supported Linux... :(

Szwagi commented 2 years ago

With Steam Deck and systems such as Pop!_OS, I think it'd be amazing to see Remedy working under Linux.

Dom324 commented 2 years ago

I'm also currently considering buying RemedyBG, but I rarely (only when I'm forced to) use Windows for programming, so a Linux version would be a buy.

smslocum commented 2 years ago

Just tacking another vote onto the petition. I'd happily pay for such a tool.

RobertLemmens commented 2 years ago

as a paying windows users, I will buy remedy again if that can help towards making linux support happen. I develop cross platform and find myself not wanting to debug in linux 99% of the time.

TheGag96 commented 2 years ago

Ever since I heard about RemedyBG, I've really wanted to try it out, but nowadays, I run Linux only at home... On Windows at work, I have a limited set of tools, constantly being frustrated that my only choices are the primitiveness of GDB on the command line or abysmal, buggy, crashy GUI wrappers for it written in Python. At the very least, I can say that I would absolutely pay full price for a Linux version. I love buying great software - I've paid for Sublime Text (twice because my license expired lol), Sublime Merge, and Beyond Compare.

The use of the Steam Survey as reasoning for lack of interest seems very strange to me because - aside from the obvious fact that survey only serves to show the specific demographics for PC gamers - as far as I know, there are a lot of people out there developing native software for Linux. Especially given the high amount of bugs in Linux software, the ecosystem could certainly use a strong, sane graphical debugger!!

ryuukk commented 2 years ago

@TheGag96 exactly, it is a mistake and a missed opportunity to not target Linux

Even Epic is now looking at expanding their tools to Linux https://www.unrealengine.com/en-US/linux

Don't miss out on the opportunity

mgarcia-org commented 1 year ago

+1 linux

marvhus commented 1 year ago

I would too buy it in an instant if it got Linux support.
The Linux space really needs some good debuggers.

hsnyder commented 1 year ago

+1 request for linux support. I bought RemedyBG and use it on Windows. I love it. I would love to be able to use it on linux too, I would even purchase the Linux version separately.

smari commented 1 year ago

+1 on this request. Would love this on Linux.

TheEmeraldFalcon commented 1 year ago

Leaving my two cents, I for one would really appreciate something like this, the debugger situation on linux is a horrible mess at the moment. There are some really good, also paid options, but those aren't nearly as mature as Remedy, nor are they as cheap. Honestly, there's likely quite a number of people who'd be willing to port Remedy to linux, all you'd have to do is ask.

hsnyder commented 1 year ago

+1 to the above. I would volunteer some time to help with the port, if it would help make it happen. I'd also sign an NDA.

marvhus commented 1 year ago

+1 to the above. I would volunteer some time to help with the port, if it would help make it happen. I'd also sign an NDA.

I would also be willing to volunteer some time if that means we would get a Linux Version

kdkopx commented 1 year ago

Same as the others, I'd also definitely buy this if I could use it on Linux. I've been looking for a nice debugger like this for so long, but all of them just suck and in my experience make development much more annoying lot of the time. From what I seen online, this looks like what I want and I assure you, I am more than willing to give you 30 bucks. Good luck and happy hacking!

Devastus commented 1 year ago

Just adding my voice here, the moment RemedyBG would get a Linux version would be a 100% guaranteed instant buy. The only reason I haven't already done so yet is because I generally mostly use Linux, rarely do I use Windows especially for any coding tasks.

I most likely will end up buying it regardless at some point (if I happen to do more serious gamedev on Windows some day), but for my personal usage Linux support would be a monumental feature.

0xd61 commented 1 year ago

+1 for a Linux Version. In the meantime, I can recommend the GDB frontend by nakst: https://github.com/nakst/gf. But not having to deal with GDB would be awesome!

kuripa commented 1 year ago

+1 Linux support. Working full time Linux now and really missing Remedybg. Would buy another License if this is happening 🫡

Ddystopia commented 1 year ago

I saw the features of this debugger and was shocked! I'm really looking forward to the port to Linux, even if the license costs 10 times as much.

igaryhe commented 1 year ago

i use windows at work and use linux at home. the only thing i miss on windows is remedybg. really wish we could have this available on linux. i would also love to pay again!

mwcz commented 1 year ago

Another +1 from me. :dollar:

kw3rk commented 1 year ago

I've already paid, and would pay again for this. +1 from me.

sayakbiswas commented 10 months ago

Another vote from me!

Dom324 commented 10 months ago

This issue is by far the most popular request considered both number of comments and number of upvotes. @x13pixels could we get an update whether you have reconsidered this? :slightly_smiling_face:

image image

tdgroot commented 9 months ago

With gdb 14.1 now supporting debug adapter protocol, does linux support for remedybg become more likely?

krux02 commented 1 month ago

I just want to leave my comment here to mention that Linux support is still very desirable. Pretty please 🥺

davidhaley commented 2 weeks ago

+1