You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Suggestion - Please make a Linux native version #2862
Vortex Version: 0.16.15
Memory: 15.61 GB
System: win32 x64 (6.1.7601)
Please make a Linux native version so that I don't have to just run it through WINE.
Especially with Valve's Proton/Steam Play now getting so many games, including many serviced by Nexus' mods, running as or nearly as easy as on Windows. And for non-Steam games there's Lutris that takes a lot of the hassle out of managing Windows games on Linux.
Vortex is built on technologies that are also available on Linux (and MacOS), except for a few native libraries that would have to be re-implemented (stuff like reading the application version from a .exe file).
It's mostly a matter of investing the time, something we can't do at the moment.
Reacted by Don, ghostoverflow256, Legion495, Melchiorre Venturi, MathiusXII and James Guana
Vortex Version: 0.16.15
Memory: 15.66 GB
System: win32 x64 (6.1.7601)
I see Vortex is an electron app, with the improvements being made to Proton/Steam Play it would be incredible if there were a native Linux version of Vortex to use with Steam Play games.
Or at the very least some documentation put into getting every thing up and running under Linux, since Vortex does seem to run fairly well under WINE.
It works very well, actually. You can either install it directly in your game's prefix to manage that game (and subsequently install it in to each game's individual prefix that you want to manage), or set up it's own prefix and use symlinks to point it at each game install. I've currently got it managing Skyrim SE and installing mods is no problem. The only real issue is SKSE64 (and F4SE) doesn't work under Proton or Wine yet. There is a patch you can use and manually compile both Wine and Proton to get the script extenders working. But Vortex itself works pretty much flawlessly.
Since Vortex is using sym/hardlinks instead of MOs virtual file system, a native Linux version should just need to know where the games are installed and use Linux's link command instead of Windows' (ln vs. mklink).
Reacted by Matthew Khouzam, Fredrik Lindqvist, Sanaki, Darkborderman and Juri Weber
There's a magnificent individual that did this Nexus-Mods/node-wholocks#2 I got vortex working in wine, so it "works" but a native version would still be an interesting prospect for some.
Getting Vortex to work on Linux would really kick up Linux as a viable alternative for gamers who are tired of Windows.. of which there are many, myself included.
Reacted by Eduardo A Machado, FruityCoder, Centauri Soldier, Jonas Tobias Hopusch, Calvin, Brad Allred, Darkborderman, Emanem, Clara Grande, rysson and 20 more
I'd love to assist this issue and devote time to solving it but a hurtle I'd have to overcome that I'm not willing to do at the moment is going through the process of learning TypeScript. I'm curious as to why that was decided to be the base language of the project vs C/C++, C#, Java, Python ect?
TypeScript is a much easier language to learn than C++, C# or Java and less "unusual" syntax wise than python.
The decision was made
a) to encourage contributions from less experienced developers because if you already know one of the above mentioned languages you can start writing useful typescript code within hours
b) because a customisable UI was one of the top requirements for the project and HTML/CSS (vortex is based on electron) is more readily customisable and better known to more people than something like QML or XAML.
c) If this project had been written in C# (which was in fact an option we discussed), it would be using WPF and XAML and a Linux port would be entirely out of the question. If it had been written in C++ (another option) there would be a lot more code that would have to be ported for Linux (or MacOS). Java is never a good choice for UI-heavy, close-to-the-system applications (A lot of what Vortex does is managing files, creating symlinks, fixing permissions and such, I wouldn't want to do all that through JVM...). And python - what would be the advantage of python over javascript?
As far as python over javascript I'd think the syntax is easier for a beginner. (but I agree aside from Qt as of recently, there's no simple framework to write a GUI with python)
If the reason the project wasn't made in C# was because it'd be very hard to bring over to Linux why wasn't it designed with the intention of bringing over to Linux in the first place?
If the project is based off electron why is it using typescript instead of javascript? I thought all electron based apps used javascript for their UI and by their nature were cross-platform (for example slack) I even watched a youtube video a while back making it sound like the big plus to making an electron based app was that it would automatically be cross-platform. So you can imagine my confusion.
Update As far my third point I started going through the list on electron wiki of electron based apps and realized their not all javascript based. I'll add it to my to-do-list to try to help with making this project Linux native. :)
I'd also be interested in working on this; but unless I can figure out which components are os-specific without needing to read through the whole project; it'll be hard to prioritize.
If you can point out any of the relevant areas in the code; it'd greatly lower the barrier to contributing.
Or potentially add inline markers (e.g. //TODO: fix for linux) noting os-specific things as you run into them during the work you're already doing on the project. Or any other thing you'd prefer to do that'd achieve a similar result.
Man this is a long thread. So what exactly is the current barrier for having Vortex be native on Linux? The UX through WINE right now is utter pain, and the "demand" for this is only going to go up. Especially with the success of Steam Deck (and that's definitely not going away at this point).
Depends on who you ask. As you see in NicBOMBs reply, he spends a lot of time forking projects and rewriting the build configuration, none of which is necessary to get a native build going. He's just selling his preferences as a necessity.
In reality our build chain is largely up-to-date, we just avoided breaking updates (yarn in particular) that would cause a lot of transition cost with no practical benefit.
None of our build chain is actually deprecated.
There is no actual barrier to having Vortex build natively on Linux, I suspect that could be done in an evening if the person doing it would actually focus on that.
The main barrier is that that release would also have to be maintained, updated, tested every time Vortex is updated and we (official maintainers) don't have the time to do it.
Further, there is a lot of problems to solve that aren't purely about creating a native build, various parts of Vortex would require a complete separate code path to support games being emulated through wine/proton when Vortex itself is running native, e.g. because the paths Vortex sees would be in linux syntax (/mnt/e/games/foobar) whereas the game uses windows syntax (e:\games\foobar).
To support Steam Deck specifically you'd probably need a completely separate UI designed to be used with a controller and adjusted font size and layout, I don't think you'd have a lot of fun with the collections screen for example on a 720p screen.
Further, there is a lot of problems to solve that aren't purely about creating a native build, various parts of Vortex would require a complete separate code path to support games being emulated through wine/proton when Vortex itself is running native, e.g. because the paths Vortex sees would be in linux syntax (/mnt/e/games/foobar) whereas the game uses windows syntax (e:\games\foobar).
While I'm sure this is far from the only issue, I'm pretty sure WINE will translate paths on the fly with little-to-no issue. I'm pretty sure of this because the file picker in WINE supports both the Windows and Linux Syntax within Vortex under WINE, and plenty of non-native games will naively show or accept the non-Windows syntax.
To support Steam Deck specifically you'd probably need a completely separate UI designed to be used with a controller and adjusted font size and layout, I don't think you'd have a lot of fun with the collections screen for example on a 720p screen.
To be fair, this is not a Linux-specific issue and would largely apply to Steam Deck running Windows as well. It's a handheld and would need an interface accessible to a handheld. Whodathunkit
While I'm sure this is far from the only issue, I'm pretty sure WINE will translate paths on the fly with little-to-no issue. I'm pretty sure of this because the file picker in WINE supports both the Windows and Linux Syntax within Vortex under WINE, and plenty of non-native games will naively show or accept the non-Windows syntax.
The problem isn't just the syntax, windows itself supports both backslashes and forward-slashes, the problem is that the path is different. As in dir "/mnt/e" is a valid command in windows, it says "list the content of the directory mnt/e at the root of the current drive", so if you call it while the cwd is "x:\foo\bar", it will list the content of "x:\mnt\e". But that is not the directory as /mnt/e in the Linux host OS.
That translation can't possibly be done correctly and automatically by wine.
To be fair, this is not a Linux-specific issue and would largely apply to Steam Deck running Windows as well. It's a handheld and would need an interface accessible to a handheld. Whodathunkit
It's not a surprise to anyone but it's still time that someone would have to spend on it, time they're not spending on something that benefits the other 99.5% of our user base who are not modding on a handheld.
The problem isn't just the syntax, windows itself supports both backslashes and forward-slashes, the problem is that the path is different. As in dir "/mnt/e" is a valid command in windows, it says "list the content of the directory mnt/e at the root of the current drive", so if you call it while the cwd is "x:\foo\bar", it will list the content of "x:\mnt\e". But that is not the directory as /mnt/e in the Linux host OS.
That translation can't possibly be done correctly and automatically by wine.
I've yet to see an application actually have issues with this.
It's not a surprise to anyone but it's still time that someone would have to spend on it, time they're not spending on something that benefits the other 99.5% of our user base who are not modding on a handheld.
I personally don't think the current interface is so unfriendly as to be worth overhauling.
Reacted by Nils Fürniß, Nicolete, Victor Engmark, eddebc, Molly M.B. Maclachlan and Melchiorre Venturi
The problem isn't just the syntax, windows itself supports both backslashes and forward-slashes, the problem is that the path is different. As in dir "/mnt/e" is a valid command in windows, it says "list the content of the directory mnt/e at the root of the current drive", so if you call it while the cwd is "x:\foo\bar", it will list the content of "x:\mnt\e". But that is not the directory as /mnt/e in the Linux host OS.
That translation can't possibly be done correctly and automatically by wine.
I've run plenty of game installers and simply selecting the right folder allows them to run just fine. Unless the code is seriously spaghetti it shouldn't be more complicated than a single line change, or even just offload that work to the user and have them manually select the locations. While that route is suboptimal, it might simplify it a bit since IIRC steam does some weird shit with it's prefixes that might cause issues. It's still not toooooo hard to solve for, you'd just need to iterate through the possible steam prefix folders (ideally still allowing the user to say where the steam folders are just in case) and then search for games like is done natively on windows.
In other words, having used Wine/Proton extensively, the only issue that you're likely to have is locating the prefixes as every program I've ever used has been able to seamlessly operate inside of a wine prefix. (in terms of file operations I mean)
Depending on exactly what you mean here it could be a bit more complicated, but if I'm interpreting what you mean correctly it literally ought to be just finding the right offsets to apply (e.g : /home/user/.steam/~PathToPrefix/drive_c/~RestOfThePathLikeNormal) and then iterating through the prefixes to search for games. (and maybe adding a section in a settings window to let the user manually add additional prefixes to search through)
One thing to keep in mind though is that the steam deck DOES have a traditional desktop UI in the form of KDE. It's not ideal, but if focus is simply put on getting vortex to work on linux first, a steamdeck dedicated UI can come second. While navigating a traditional UI on a steamdeck sized screen isn't optimal, it's entirely possible, so if getting a dedicated controller friendly UI is getting in the way of having vortex be functional on linux at all, it definitely is better to just drop the UI. It's better to be able to mod your games, albiet through a big of a cumbersome UI, than to just not be able to. (and this is ignoring the fact that, with proton becoming as good as it has, many people are just switching their gaming computers to linux as well)
Reacted by Nils Fürniß, Jack Wilkinson, Victor Engmark, eddebc and Juri Weber
I think the solution at this point is probably going to be to just wait until Nexus-Mods/NexusMods.App is ready and then use that since it looks like it will support Linux in some shape or form from day 1 (even if it is only via CLI or something, see the issue). I think the work needed to bring Vortex to Linux is probably more than is needed for an MVP of the Nexus Mods App at this point (from the POV of an outside observer at least).
I think the solution at this point is probably going to be to just wait until Nexus-Mods/NexusMods.App is ready and then use that since it looks like it will support Linux in some shape or form from day 1 (even if it is only via CLI or something, see the issue). I think the work needed to bring Vortex to Linux is probably more than is needed for an MVP of the Nexus Mods App at this point (from the POV of an outside observer at least).
Thanks for pointing to that! I'll go sub to that ;)
Thank you for your contribution and patience relating to this request for Vortex. You may have seen our recent news post letting our users know that we are currently working on developing a successor to Vortex; Nexus Mods App which will deliver the next generation of mod management.
With this in mind, we are undertaking a review of all outstanding Vortex requests to determine their validity. As a result, this request will be closed here as we are implementing Linux support for the web app, see this linked epic within the web app teams backlog: Nexus-Mods/NexusMods.App#148 (comment)
Generally agree that a tracking issue will likely not gain anything here; however I do believe it may prevent duplicates from being opened, as Github defaults to only showing open issues in a search.
Reacted by Matt Sturgeon, Malik Mann, Pablo Bollansée, awsdert and PurplProto
Activity
8BitCerberus commentedon Jan 12, 2019
Especially with Valve's Proton/Steam Play now getting so many games, including many serviced by Nexus' mods, running as or nearly as easy as on Windows. And for non-Steam games there's Lutris that takes a lot of the hassle out of managing Windows games on Linux.
TanninOne commentedon Jan 14, 2019
Vortex is built on technologies that are also available on Linux (and MacOS), except for a few native libraries that would have to be re-implemented (stuff like reading the application version from a .exe file).
It's mostly a matter of investing the time, something we can't do at the moment.
TheMatthew commentedon Jan 20, 2019
I was looking through the code "lightly" I don't pretend to know what I'm doing/saying.
It appears as though the only "windows" dependency left is Nexus/wholocks which could be replaced by https://www.npmjs.com/package/@ronomon/opened or something similar.
Everything else at the moment looks OK.
I am not sure when I will be competent enough to make a PR. if there are any Node/typescript masters out there, this could be a cool feature.
VortexFeedback commentedon Feb 7, 2019
Vortex Version: 0.16.15
Memory: 15.66 GB
System: win32 x64 (6.1.7601)
I see Vortex is an electron app, with the improvements being made to Proton/Steam Play it would be incredible if there were a native Linux version of Vortex to use with Steam Play games.
Or at the very least some documentation put into getting every thing up and running under Linux, since Vortex does seem to run fairly well under WINE.
Reported by: Dreae
TheMatthew commentedon Feb 7, 2019
I doubt that steam play / wine would work well on vortex as it uses undocumented windows apis. Just a heads up.
8BitCerberus commentedon Feb 8, 2019
It works very well, actually. You can either install it directly in your game's prefix to manage that game (and subsequently install it in to each game's individual prefix that you want to manage), or set up it's own prefix and use symlinks to point it at each game install. I've currently got it managing Skyrim SE and installing mods is no problem. The only real issue is SKSE64 (and F4SE) doesn't work under Proton or Wine yet. There is a patch you can use and manually compile both Wine and Proton to get the script extenders working. But Vortex itself works pretty much flawlessly.
Since Vortex is using sym/hardlinks instead of MOs virtual file system, a native Linux version should just need to know where the games are installed and use Linux's link command instead of Windows' (ln vs. mklink).
TheMatthew commentedon Mar 3, 2019
There's a magnificent individual that did this Nexus-Mods/node-wholocks#2 I got vortex working in wine, so it "works" but a native version would still be an interesting prospect for some.
Mumrik93 commentedon Apr 9, 2019
Getting Vortex to work on Linux would really kick up Linux as a viable alternative for gamers who are tired of Windows.. of which there are many, myself included.
codeman101 commentedon May 5, 2019
@TanninOne
I'd love to assist this issue and devote time to solving it but a hurtle I'd have to overcome that I'm not willing to do at the moment is going through the process of learning TypeScript. I'm curious as to why that was decided to be the base language of the project vs C/C++, C#, Java, Python ect?
TanninOne commentedon May 6, 2019
TypeScript is a much easier language to learn than C++, C# or Java and less "unusual" syntax wise than python.
The decision was made
a) to encourage contributions from less experienced developers because if you already know one of the above mentioned languages you can start writing useful typescript code within hours
b) because a customisable UI was one of the top requirements for the project and HTML/CSS (vortex is based on electron) is more readily customisable and better known to more people than something like QML or XAML.
c) If this project had been written in C# (which was in fact an option we discussed), it would be using WPF and XAML and a Linux port would be entirely out of the question. If it had been written in C++ (another option) there would be a lot more code that would have to be ported for Linux (or MacOS). Java is never a good choice for UI-heavy, close-to-the-system applications (A lot of what Vortex does is managing files, creating symlinks, fixing permissions and such, I wouldn't want to do all that through JVM...). And python - what would be the advantage of python over javascript?
codeman101 commentedon May 6, 2019
A few things.
Update As far my third point I started going through the list on electron wiki of electron based apps and realized their not all javascript based. I'll add it to my to-do-list to try to help with making this project Linux native. :)
Patricol commentedon May 7, 2019
@TanninOne
I'd also be interested in working on this; but unless I can figure out which components are os-specific without needing to read through the whole project; it'll be hard to prioritize.
If you can point out any of the relevant areas in the code; it'd greatly lower the barrier to contributing.
Or potentially add inline markers (e.g.
//TODO: fix for linux) noting os-specific things as you run into them during the work you're already doing on the project. Or any other thing you'd prefer to do that'd achieve a similar result.146 remaining items
TanninOne commentedon Mar 13, 2023
Depends on who you ask. As you see in NicBOMBs reply, he spends a lot of time forking projects and rewriting the build configuration, none of which is necessary to get a native build going. He's just selling his preferences as a necessity.
In reality our build chain is largely up-to-date, we just avoided breaking updates (yarn in particular) that would cause a lot of transition cost with no practical benefit.
None of our build chain is actually deprecated.
There is no actual barrier to having Vortex build natively on Linux, I suspect that could be done in an evening if the person doing it would actually focus on that.
The main barrier is that that release would also have to be maintained, updated, tested every time Vortex is updated and we (official maintainers) don't have the time to do it.
Further, there is a lot of problems to solve that aren't purely about creating a native build, various parts of Vortex would require a complete separate code path to support games being emulated through wine/proton when Vortex itself is running native, e.g. because the paths Vortex sees would be in linux syntax (/mnt/e/games/foobar) whereas the game uses windows syntax (e:\games\foobar).
To support Steam Deck specifically you'd probably need a completely separate UI designed to be used with a controller and adjusted font size and layout, I don't think you'd have a lot of fun with the collections screen for example on a 720p screen.
Continous commentedon Mar 13, 2023
While I'm sure this is far from the only issue, I'm pretty sure WINE will translate paths on the fly with little-to-no issue. I'm pretty sure of this because the file picker in WINE supports both the Windows and Linux Syntax within Vortex under WINE, and plenty of non-native games will naively show or accept the non-Windows syntax.
To be fair, this is not a Linux-specific issue and would largely apply to Steam Deck running Windows as well. It's a handheld and would need an interface accessible to a handheld. Whodathunkit
TanninOne commentedon Mar 13, 2023
The problem isn't just the syntax, windows itself supports both backslashes and forward-slashes, the problem is that the path is different. As in
dir "/mnt/e"is a valid command in windows, it says "list the content of the directory mnt/e at the root of the current drive", so if you call it while the cwd is "x:\foo\bar", it will list the content of "x:\mnt\e". But that is not the directory as /mnt/e in the Linux host OS.That translation can't possibly be done correctly and automatically by wine.
It's not a surprise to anyone but it's still time that someone would have to spend on it, time they're not spending on something that benefits the other 99.5% of our user base who are not modding on a handheld.
Continous commentedon Mar 13, 2023
I've yet to see an application actually have issues with this.
I personally don't think the current interface is so unfriendly as to be worth overhauling.
ranenvious commentedon Apr 22, 2023
I've run plenty of game installers and simply selecting the right folder allows them to run just fine. Unless the code is seriously spaghetti it shouldn't be more complicated than a single line change, or even just offload that work to the user and have them manually select the locations. While that route is suboptimal, it might simplify it a bit since IIRC steam does some weird shit with it's prefixes that might cause issues. It's still not toooooo hard to solve for, you'd just need to iterate through the possible steam prefix folders (ideally still allowing the user to say where the steam folders are just in case) and then search for games like is done natively on windows.
In other words, having used Wine/Proton extensively, the only issue that you're likely to have is locating the prefixes as every program I've ever used has been able to seamlessly operate inside of a wine prefix. (in terms of file operations I mean)
Depending on exactly what you mean here it could be a bit more complicated, but if I'm interpreting what you mean correctly it literally ought to be just finding the right offsets to apply (e.g : /home/user/.steam/~PathToPrefix/drive_c/~RestOfThePathLikeNormal) and then iterating through the prefixes to search for games. (and maybe adding a section in a settings window to let the user manually add additional prefixes to search through)
One thing to keep in mind though is that the steam deck DOES have a traditional desktop UI in the form of KDE. It's not ideal, but if focus is simply put on getting vortex to work on linux first, a steamdeck dedicated UI can come second. While navigating a traditional UI on a steamdeck sized screen isn't optimal, it's entirely possible, so if getting a dedicated controller friendly UI is getting in the way of having vortex be functional on linux at all, it definitely is better to just drop the UI. It's better to be able to mod your games, albiet through a big of a cumbersome UI, than to just not be able to. (and this is ignoring the fact that, with proton becoming as good as it has, many people are just switching their gaming computers to linux as well)
jthoward64 commentedon May 30, 2023
I think the solution at this point is probably going to be to just wait until Nexus-Mods/NexusMods.App is ready and then use that since it looks like it will support Linux in some shape or form from day 1 (even if it is only via CLI or something, see the issue). I think the work needed to bring Vortex to Linux is probably more than is needed for an MVP of the Nexus Mods App at this point (from the POV of an outside observer at least).
BloodyIron commentedon Jun 1, 2023
Thanks for pointing to that! I'll go sub to that ;)
HawthorneK456 commentedon Sep 5, 2023
Hi all,
Thank you for your contribution and patience relating to this request for Vortex. You may have seen our recent news post letting our users know that we are currently working on developing a successor to Vortex; Nexus Mods App which will deliver the next generation of mod management.
With this in mind, we are undertaking a review of all outstanding Vortex requests to determine their validity. As a result, this request will be closed here as we are implementing Linux support for the web app, see this linked epic within the web app teams backlog: Nexus-Mods/NexusMods.App#148 (comment)
Once again, thank you for being an active member. If you missed the news post, you can read it here: https://www.nexusmods.com/news/14874
Continous commentedon Feb 5, 2026
Perhaps worth re-opening now the NMA has been dropped?
MattSturgeon commentedon Feb 5, 2026
Perhaps, but I'm not sure a tracking issue will gain anything here...
With the NexusMods.App team now working on Vortex, they have already announced that they plan to work towards SteamOS support.
Currently, Vortex builds and runs fine natively on Linux, but many features and games will obviously need working on.
Initial (very early) work to find and use Steam Proton was merged earlier today: #19381
Continous commentedon Feb 5, 2026
Generally agree that a tracking issue will likely not gain anything here; however I do believe it may prevent duplicates from being opened, as Github defaults to only showing open issues in a search.