New launcher... new Linux error?

Gather around the fire kids, Karak will tell you the story about EVE Linux Support. @CCP_Cemetery you too, since you didn’t get this right.

There was at some point around the Trinity release an officially supported client for Linux from CCP. It was based on Cedega, an ancient proprietary fork of wine from back in the day when wine wasn’t GPL. The MacOS port came from the same company Transgaming, with a similar fork called Cider (Apple wine, you know… haha… anyway)

This official client wasn’t very good. I probably only used it for a couple of days and so did most of the people playing on Linux. It only supported the “classic client”, which was a version of EVE without the Trinity graphics updates. It was also slow and crashed a lot. Meanwhile upstream wine could run the full Trinity Windows client without much issue and with much better performance.

There was just no good reason to use this client. So after only a year or so of supporting Linux, CCP canceled the support again. When they where asked about it at the fanfest, their response was that no one was using the client and that they actually saw that people used other means to play on Linux and that they could detect it. This was the end of the short period of official Linux support.

Some years went by, and along came a dev named @CCP_Snorlax who was from what I could gather mainly looking for a way to get rid of the pretty unstable Cider based client for MacOS. So after years, he did the sensible thing of Just coding wine support into the launcher and used just regular wine (maybe with a couple patches) to get EVE running on Mac. As a personal side project, @CCP_Snorlax created a Launcher version for Linux from this work, but always with the remark that this wasn’t official support.

tl:dr

  • There was official Linux support for a short while
  • There was an official Linux client, but it wasn’t native
  • The Linux launcher is a side project of @CCP_Snorlax
  • We always found ways to play this game on Linux without CCP support
6 Likes

On another note. Wine 5.0 seems to be not affected by the crash caused by DXVK, although there seems to be another problem as the launcher just hangs on startup. I’m currently trying to bisect the history to find the regression

For those wondering @CCP_Snorlax left in '18 sometime and went on to found a start up.

In June/July 2018 he was a speaker at WineConf. His talk was about how wine was being used for Eve Online. From what I remember his job at CCP at the time involved looking into the future of the Eve rendering engine together with platform support. From what I gathered talking to him, he was pushing for a switch to Vulkan for long term and cross-platform stability. Never said so directly or officially, but that’s what I gathered.

Then a few months after WineConf, September 2018, he leaves CCP. No reason given. What we do get however is the announcement in February of 2019 that CCP started work on upgrading their engine to DirectX 12. The push for open technology that works cross-platform obviously didn’t work and CCP decided to go all-in on proprietary Microsoft technology.

And then in December 2020 CCP starts work on a native MacOS client. One that uses the metal API. My sources say that CCP got a lot of engineering support from Apple to make the new client. And probably also a lot of money.

In reality all CCP needs to do for linux support is have a proper native launcher. Hell, make it open source and the community will help with the work. The game itself works fine with wine, and likely will keep working fine even with d3d12 features being used. Compared to the engineering effort required to create a whole new mac client, it should be a no-brainer to invest a tiny bit of time into the launcher.

Take out of this what you will, but from my perspective this thread has been coming for a long time. CCP is not yet at Epic Games level where they are actively opposing any way to use anything on linux, but it’s quickly going that way.

6 Likes

Indeed, when I made the permanent switch to Linux it was because I felt we at least had some kind of backing in CCP, albeit unofficially. I was also fully aware that it’d be some hardship here and there, but mostly that it’d work.

My issue here is that it isn’t the game that is causing upsets for compatibility, it’s the f… launcher. Although I do appreciate @CCP_Cemetery taking his time to comment, we’re lacking good c o m m u n i c a t i o n.

Mind you I’m also perfectly aboard changes that improve security and do understand the premise of token theft and support enhancements to prevent, but c’mon how hard could it have been to just add a -legacy_token_storage argument to the launcher, which does not use the new and improved storage? Or -no_auto_update so we can have some grace-time to resolve situations like these?

We are okay with us being non-supported (we’ll make it work anyhow), just don’t actively try to break it without at least being somewhat transparent.

For me personally, using Wine 5.0/no DXVK is not an option as I’ve worked quite a bit to get a good setup which doesn’t impact performance, as I multibox (up to 4-5 accounts) and manually pilot. Every single day. Bad performance means I might feed expensive ships or not being able to support other pilots sufficiently on-grid.

4 Likes

Hey all, CCP Bartender here!

There’s been a little bit of confusion about what’s happening with EVE and Linux. Let me do a little information dump and clarify some things.

Before we get to that, I want to reiterate that CCP discontinued official support for Linux in early 2009. A combination of some convenient early technical decisions and extra time by Linux-using devs has allowed Linux to remain surprisingly viable for the last decade, but it is not a supported operating system.

A forum post mentioned that the change yesterday would break how the launcher works on Linux. Our current business focus is on Windows and macOS. The change implemented is based on moving from storing tokens in our own home-rolled token storage mechanism to using secure credential storage on the OS itself. This is a significant boon to account security, and the safety of the accounts of our Windows and macOS users is simply a much higher priority than the ability to run on unsupported operating systems.

With that in mind, let’s talk about whether the EVE launcher works on Linux right this second. Because it is not a supported OS, we do not do QA on Linux machines. Occasionally, some ad-hoc testing on personal Linux machines, including my own, takes place, and the last time we did it, both the native and proton environments failed to launch clients.

Since that testing occurred, some fallbacks for credential handling have been implemented to allow for a more robust transition to OS credential storage while reducing the risk of mass-logout problems. By a happy chance, this means logins are still working under proton, which can run the Windows version of the launcher and has an up-to-date QT application binary. However, it is not working under the native launcher, which has not been updated for around a year, due to certain new dependencies that do not support Linux preventing compilation and thus has an outdated QT binary running the latest webUI.

Those using the native launcher should consider this the end of the road for that avenue of playing EVE under Linux. With the upcoming native port of the macOS client to Metal, once our Mac client does not require wine, that infrastructure will inevitably be torn down.

Fortunately for all Linux gamers, Valve has been doing a fantastic job with proton over the last few years, and at this time, you can use proton to play EVE (I certainly will be!). Key details of my currently functional setup are as follows:

  • Ubuntu 18.04
  • Proton 5.0-10
  • i7-4770-k
  • Nvidia RTX 1060
  • Kernel 4.15.0-147-generic

I hope this can act as a guide to help others who might be having issues get up and running again for now.

Let’s talk about the future, though. At some point, the transitionary code for the credential storage will be removed. When that happens, it is expected (but untested) that the same issue seen in the native launcher will express in the proton launcher too. There is some internal discussion about this, but at this time, Linux users should be aware that unless wine or proton adds support for the syscalls involved in the windows credential store, proton will eventually stop working too. The exact timeline for this is amorphous, and it is impossible to say whether that’s one month or twelve months. We might see support for the credential store land in upstream wine before that happens, but the matter is very much outside our scope for day-to-day work.

I hope it brings clarity to the discussion. Stay awesome, my fellow Linux nerds! o7

14 Likes

But don’t you think it’s a bit sad that the actual game would run perfectly well on Linux without any effort from you, and once again the part that breaks it is the f-ing launcher?

6 Likes

Are there any plans to make a native version of the launcher and/or client?

With the work towards making it work with Mac, I imagine it’d at least be closer to possible, since there’s many similarities there. Main thing would be a Vulkan renderer instead of Metal, although if you use MoltenVK, you can get both with some caveats.

For that thread about the old launcher, you may want to add a note that running the game on Linux through proton/wine will eventually fail with an explanation, so that people don’t get too invested.

I’ve been playing Eve with wine and then proton for many years and it’s worked great, but it looks like this is the end of road for that once this legacy mode is removed. My subscription expired at a good time I suppose. I do appreciate the work that was taken to make it work in the past, and would enjoy playing again if this ends up being improved (either by the community or CCP).

1 Like

Thank you very much for the detailed explanation! This should be helpful for setting expectations and figuring out how to move forward on the Wine side of things.

It’s not just CCP that has this issue. This is a trend in the gaming industry with all these companies for whatever reason needing to have a “launcher”. Several games have the same problem in common: the game itself works fine in Linux but the part blocking the game from being played is some odd crap in the launcher that prevents it from working.

3 Likes

The launcher uses Qt5 with Chromium Embedded Framework (CEF) from what I can tell, so it relies on Chromium to do the rendering. Qt5 tends to use newer platform features if it can; and hence tends to be on the leading edge of issues with Wine where it lacks support for some of Window’s newer features. Just check the number of Wine bugs for Qt5 Window programs. I suspect that because Qt5 has good support on Linux that not much effort is put into support for Qt5 on Windows on Wine on Linux.

Given the number of layers I suspect that supporting a native launcher with Qt5 (with CEF) directly on Linux would probably be less of a support hassle than supporting Qt5 on Windows on Wine on Linux.

But then the economics of supporting a small user base on a different platform (and probably a dose of fear and lothing of the unknown by devs) means they won’t support it. But it would be nice if they gave us a heads up or even just talked to us nicely rather than mustering up tautological circluar arguments (we don’t support it because it isn’t supported) served up with all the tact worthy of a dev.

The change implemented is based on moving from storing tokens in our own home-rolled token storage mechanism to using secure credential storage on the OS itself.

Can you confirm if you’re talking about using GitHub - frankosterfeld/qtkeychain: Platform-independent Qt API for storing passwords securely. for storing credentials using the windows credential manager? That would help us focus on the functionality that is currently missing that needs to be supported.

1 Like

If made right It could easily be recompiled to run on Linux, but from the comments above it looks like there is Windows platform specific code in there as well which is preventing that.

As far as the Qt5 Library is concerned QtKeychain works natively on Linux just fine (millions use it on Linux and probably don’t realise). But I suspect given @CCP_Bartender 's comments that dependency hell is killing the Linux build process; both Qt5 and CEF (even more so) have a large number of dependencies.

I do not want to trust Microsoft to store my passwords in plain text using their Windows Credential Manager. I wonder if this is a move to implement a more secure password storage or to relay to a more vulnerable system to malware attacks. Maybe corporations do a pretty good job to protect our privacy…

1 Like

This is one of the most disappointing posts I’ve read from CCP in a while. Just among my personal contacts, I can account for at least 100 Omega accounts depending on this fragile and regularly broken Linux ‘support’.

I never figured that it’d die off because of a tiny detail in the launcher. You could at least publish a list of syscalls which need to be supported in wine but aren’t, if you aren’t going to put in the effort to implement them yourselves.

You’re either completely oblivious to the fact that the current PTU figures make the Blackout era look like a Golden Age, or you don’t understand just how precarious the situation is. MMOs are incredibly sensitive to changes in population. Perhaps instead of thinking about which player bases you can cut loose, you should be thinking about how to avoid terminal decline.

6 Likes

For reference, WineHQ Bugzilla – Bug 51465 – EVE Online Launcher Crashes Due to Missing syscalls in Windows Credential Manager is the bug report upstream to Wine.

3 Likes

Do you realize that the launcher I linked earlier in this thread works and launches EVE just fine?

Yeah, as per the post I replied to it works for now.

Sigh…

Well at least thanks for the explanation, but I’m afraid it’s one launcher problem to much for me. Just cancelled my subscriptions.

Good luck and fly safe.