Show linux logo when user is playing from Linux (Steam Proton)

Hello, in the multiplayer when someone plays the game on Windows Or Android or iOS it shows an icon of the operating system but for linux it still shows windows logo.

I know that the game is not available on linux but with steam proton linux users still can run and play the game perfectly on linux so i think it will be a good idea to detect if the game is running on Steam Proton (Steam Proton is a wrapper for wine so technically the game is running using wine) to show linux logo.

I see some other games can detect if the game is running on Wine so I think it is possible to do it in CIU.

Hello.

First of all (I have to, sorry):
Wine Is Not Emulator

Second. Yes. It is possible for programs to detect that they are running inside Wine. Worms Armageddon does that and enables special tweaks.

However when I asked IA if he can detect that that is what was said:

Wow, I mean, I knew it’s not an emulator, but what a smart acronym.

1 Like

Ironically, if you set compatibility mode to Windows XP, it’ll report that you’re using XP, and that’s why iA was curious about how users are able to run CIU in Windows XP.

I heard from someone that it is an Emulator so I thought this was true thanks for telling me I searched about it and learned more about wine. Thanks

I’ll fix my grub and test this out k


At the time being feel free to test it yourself. Archive password is “mish”, because I know that Windows will try to kill it no matter what.
https://cdn.discordapp.com/attachments/294516698797703169/1088918516884836362/WineDetectionTest.7z

(Stolen) code listing
typedef struct IUnknown IUnknown; /*XP SDK fix*/

#include <windows.h>
#include <stdio.h>

int main() {
    typedef const char* wine_get_version_func(void);
    static const wchar_t* (CDECL * pwine_get_version)(void);
    HMODULE hntdll = GetModuleHandle(L"ntdll.dll");

    if (!hntdll) {
        puts("Not running on NT.");
        return 1;
    }

    wine_get_version_func* wine_get_version =
        (CDECL wine_get_version_func*)GetProcAddress(hntdll, "wine_get_version");
    if (wine_get_version) {
        printf("Running on Wine... %s\n", wine_get_version());
    }
    else {
        puts("did not detect Wine.");
    }

    fflush(stdin);
    getchar();

    return 0;
}

Ignore the 002c line, it’s by default.

1 Like

Turn it off, I’m living without an anti-virus, and I’m doing very okay.

First of all, 22H2 fights back way too much when I try to,
Second of all, introducing a password is easier than asking people to disable antivirus completely.

And that’s another reason I love Windows 8.1

Modded Windows is another plus point

(Why would you use win 8.1 and any modded windows if you want secure os, you need to have up-to-date programs and for example chrome already stopped supporting 8.1 and 7. Win10 at least has EOL set to 2025 which also isn’t far away. Also, windows is annoying)

Anyway, back to the original point of the topic. There is another problem there.
While yes, we can see the version of Wine you’re using (well, only the version number) there is a problem of guessing on what OS are you actually using Wine. Wine can be used on Linux, macOS, BSD. And also there are projects that let you use Wine on mobile ARM platforms (though that’s more complicated since you need to emulate there and it’s more demanding). So, what icon should it display?

What about showing wine icon? or make the user choose which os he use if wine version detected?

The whole point of Wine is to provide an emulation layer so that the game thinks it’s indeed running on Windows. Although, as @VerMishelb points out, it’s technically possible to detect this layer, it causes more problems than it solves (a new “Wine” platform would have to be added to the game’s codebase, which would be functionally identical to Windows and yet not really?!). All for something without real benefit except an icon.

1 Like

I have a feeling it would qualify for ESRB alcohol rating.

Nah, I don’t think it’s a good idea since people could lie.

Ok, but what about detecting that it is running in Wine so it can be counted for statistics? This way you could know how many people use it.

I’ve added code to detect Wine in v.134.

Looking at the hardware stats Steam itself provides, however, things are not looking good. Out of 2000 systems, only 6 are listed as Linux (plus another 6 for SteamOS Holo, what is that?)

1 Like

That’s an OS which will bring user have an close-to-official SteamOS experience

Of course SteamOS won’t be easy to install in every hardware, so I guess that’s why they used Steam Holo.

Woah, that’s many systems.

another 6?

Well not like the Steam is the only program that uses Wine. But we’ll see I guess.

Yeah, because it’s literally recovery image from Steam Deck with some hack works.

Actually it should be easy once Valve finally releases Steam OS .iso file. But thanks to ValveTime™ it’s still not ready, Gaben knows why.

This is also interesting because there is no clear confirmation if steam deck os shows in hardware survey. And I doubt 20% of Steam linux users would just install that distro on their PCs.

1 Like

Idk if there were anyone uses this OS to play steam games, or at least purchase an Steam Deck device, but yeah, Valve just had an interesting step to participate in OS development

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.