The Witcher 3 for Linux

+
Thanks for your answer, Gilrond.
@mairon: I doubt even latest mobile GPUs are capable of running demanding high end games like Witcher 3
I understand, but some iOS games, like Infinity Blade III, have beautiful graphics. On Android I know Mount&Blade: Warband, GTA: San Andreas, Gangstar Vegas, Portal from Valve and similar games have advanced graphic settings (for portable devices). For example, Unreal Engine 4 works with latest SoCs like Snapdragon 800 with Full HD resolution and NVIDIA Tegra 4 - http://youtu.be/LMcscM_Hogc
I think that CDPR can use textures with lower resolution, more simple models etc, without ubersampling and similar advanced effects.

but all Witcher games interfaces are designed either for keyboard and mouse or for controllers
Yep, but Nvidia SHIELD has integrated controller and MOGA made special controller for popular devices.

I'd be more interested in games for Sailfish, rather than for Android
Sialfish? What is it?

Android isn't really well suited for multithreading
AFAIK, Google introduced multicore support from Android 3.0 Honeycomb and multithreading was implemented from the first version of Android.
 
Last edited:
Android has multithreading of course, it's just has an inferior implementation, because bionic (which is the libc library that Android uses) didn't implement all pthreads functionality. glibc on the other hand implemented that normally without cutting features. Bionic was never intended to be a full featured libc, and Android wasn't intended to have good performance and parallelism because of that. Now it has grown to the point where it wants to have it, but the choice of their libc holds the system back. That's why I said that glibc based mobile Linuxes is a better alternative.

Sialfish? What is it?

That's a Mer Linux based mobile OS developed by Jolla. See:
https://sailfishos.org
https://jolla.com
https://wiki.merproject.org/wiki/Main_Page

Unlike Android it's based on conventional Linux stack (such as Wayland for example) and uses glibc.
 
Android has multithreading of course, it's just has an inferior implementation, because bionic (which is the libc library that Android uses) didn't implement all pthreads functionality.
I played GTA: Vice City and Modern Combat 4 on Android KitKat and I didn't see any performance problems with them, so I don't think that bionic is a serious problem for creating games with advanced graphics.

That's a Mer Linux based mobile OS developed by Jolla
Looks nice, but I don't see any games for Sailfish. They use Yandex store with Android apps. I found some benchmarks and in Sunspider Jolla scored only 1822 ms (http://www.ixbt.com/mobile/jolla.shtml#performance). For example, HTC One mini with the same hardware scored 1271 ms (http://www.pcadvisor.co.uk/reviews/mobile-phone/3461239/htc-one-mini-review/).
In Octane Jolla scored 824 points, and HTC One mini scored 1572 points (http://www.allround-pc.com/artikel/smartphones/2013/htc-one-mini).
One mini is faster than Jolla in Sunspider and Octane. I think that Jolla has problems with optimization.
 
Last edited:
I'm talking about the OS, not about the hardware that Jolla released. Sailfish has Alien Dalvik, but the system is not really intended for Android applications in general.

Sunspider is a browser test which is geared for WebKit browsers - it's not a measurement of OS capabilities. (And Sailfish ships Gecko based, not WebKit based browser).
 
I'm talking about the OS, not about the hardware that Jolla released.
Mobile OS without hardware can't engage developers.

Sailfish has Alien Dalvik, but the system is not really intended for Android applications in general
I read some reviews, and reviewers noted that Sailfish has a very limited number of native apps. I think that Jolla made a mistake with Dalvik integration. Who will spend his time with native SDK when Jolla supports more popular Android SDK?

it's not a measurement of OS capabilities
OK. But how we can compare Sailfish performance and Android performance on the same hardware? We can't launch Witcher on these devices, we can't launch more simple 3D games like Modern Combat, NOVA 3 or GTA.
 
@mairon: Hardware should not be locked to single OS. Current situation with ARM manufacturers which release only Android drivers (which are closed) is really sick, and reminds "Windows only" hardware situation of the 1990s. The biggest obstacle for installing other systems are GPUs - they rarely have open drivers, and closed ones are splitting the code into the kernel, and userland parts. Kernel part has to be open as per GPL, but not the userland part (that's how manufactures are keeping their drivers closed).

Userland part depends on libc, that's why Android GPU drivers are most of the time completely useless for regular mobile Linux, because they use bionic which is incompatible with glibc. However, Mer developers created a translation library libhybris, which allows translating glibc into bionic. It's a hack, but it allows reusing closed bionic blobs for glibc Linux. That's exactly how Jolla deployed Sailfish on their hardware, since Qualcomm didn't care of course to produce normal glibc drivers for Snapdragon. They just threw regular Android blob "over the fence" and that's it.

With libhybris, glibc based Linux can be installed on various "Android only" hardware. You can see the progress here:
https://wiki.merproject.org/wiki/Adaptations/libhybris

Ideally of course, in the future there will be hardware which won't need such translation. But now, only Intel makes open drivers for their GPU, so may be upcoming Moorefield chip will be a breakthrough on the mobile scene.

I read some reviews, and reviewers noted that Sailfish has a very limited number of native apps. I think that Jolla made a mistake with Dalvik integration. Who will spend his time with native SDK when Jolla supports more popular Android SDK?

Integrating Dalvik was a trade-off, to allow filling the gaps. The concern that developers won't develop native applications turned out to be false - their number is growing. Native applications are more performant, don't rely on any Java clutter and are better integrated with the system. Also, the sheer number is not an indication of quality - Android has tons of junk where it's hard to find anything of value.

OK. But how we can compare Sailfish performance and Android performance on the same hardware?

I'd say the same way you perform any OS benchmarks. Various stress tests (on CPU, on GPU, on I/O and so on). Sailfish already proved to have a better battery life than Android, as well as being less resource demanding (since it doesn't have any Java bloat by default). And the system is oriented for parallelism and concurrency (according to the authors). In contrast Android by design cripples multiprocess concurrency. Some comprehensive comparison would be interesting of course. I didn't see such thing published though.
 
Last edited:
@mairon: Hardware should not be locked to single OS. Current situation with ARM manufacturers which release only Android drivers (which are closed) is really sick, and reminds "Windows only" hardware situation of the 1990s.
I understand this situation. I have similar problems with NVIDIA Optimus on my Ubuntu laptop. I must use 3rd-party tool for automatic switching between Intel and NVIDIA GPUs.

With libhybris, glibc based Linux can be installed on various "Android only" hardware. You can see the progress here:
https://wiki.merproject.org/wiki/Adaptations/libhybris
Looks promising, thanks.

But now, only Intel makes open drivers for their GPU, so may be upcoming Moorefield chip will be a breakthrough on the mobile scene
I don't trust Intel. I purchased two years ago Megafon Mint on Intel Atom Medfield after our local Intel party. It was piece of laggy crap, it had locked bootloader, Intel didn't provide binaries, so community was unable to build AOSP or CyanogenMod. Then I had a Galaxy Nexus as a primary phone on OMAP4, and it was much faster than Megafon Mint. I had been cursing Intel for 1-2 month and then I sold this "smartphone". It was nightmare. =)
AFAIK, in smartphone version of Moorefield Intel will use PowerVR GPU, not their own GPU technologies, so we mustn't expect that Intel will be panacea.

BTW, I don't think that Android/iOS/WP-only situation will be resolved is 2-3 years. Carriers are essential for every OEM, and carriers hate free software and open devices. They love closed bootloader =(
Even Googlers can't change this situation. They open Android sources, kernel sources, they provide easy tools for unlocking, but they can't force SoC vendors to open their drivers. I don't think that Canonical, Mozilla or Jolla have more influence than Google.

Android has tons of junk where it's hard to find anything of value
Yep, I agree with you, but Android has much more AAA games than Sailfish: Need for Speed, FIFA, GTA III/Vice City/San Andreas, Dead Space, Bard's Tale, Mass Effect, Final Fantasy, Baldur's Gate etc. Only Steam OS have some of this games and some Valve's exclusives, but Steam OS is targeted for desktops, not phones and tablets. That's why I requested a simplified version of Witcher 3 for Android. Android is fully featured gaming platform with backend for sync, achievements, multiplayer, leaderboards, transactions, modern chips like Tegra 4, Tegra K1, Snapdragon 805 etc and controller support (Moga, SHIELD, Xperia PlayStation).
 
@mairon: Sure, Android has a lot of games - same as Windows. Gaming companies go after the market share, so even if the system isn't perfect, as far as they can sell something there it doesn't matter to them. Linux on the desktop is a minority, and only now starts getting games. Mobile Linux like Sailfish, Nemo or Ubuntu Touch is even a smaller minority (on mobile), so it's struggling with the same issues.

About Intel, while Merrifield indeed uses PowerVR, Moorefield will have Intel's GPU, so the driver will be open (see https://en.wikipedia.org/wiki/Atom_(system_on_chip)). May be Jolla will use it in their next device.
 
@mairon: Too bad. I don't expect anything like open drivers from PowerVR. You are right about OpenGL ES. Also, a lot of games use SDL, so it makes porting them even easier (SDL is available on Sailfish).
 
glibc on the other hand implemented that normally without cutting features. Bionic was never intended to be a full featured libc, and Android wasn't intended to have good performance and parallelism because of that. Now it has grown to the point where it wants to have it, but the choice of their libc holds the system back. That's why I said that glibc based mobile Linuxes is a better alternative.
BTW, Bionic becomes more POSIX-compatible. Look at these commits to AOSP:
1). https://android.googlesource.com/platform/bionic/+/58d9e280d459225aa8dc4533e883182b08215f7d
2). https://android.googlesource.com/platform/bionic/+/c2f082f65528a889aca7cde4b343aaf36199ba82
3). https://android.googlesource.com/platform/bionic/+/1e4378ea06d06f57027a97714f076ad4f417a705
4). https://android.googlesource.com/platform/bionic/+/152b9de19ade833ada124390ef153e53d3d3e2ed
 
Last edited:
@mairon: May be it does, and that's a right direction, but it's still not there. I think glibc based systems should get adoption on their own, instead of developers trying to squeeze their code into bionic (Collabora had a nightmarish experience doing that). It's one of the reasons I don't personally like Android. Aaron Seigo called it the "best friend and worst enemy": https://lwn.net/Articles/504865/
 
Last edited:
These are really breaking news! Witcher 3 is coming to Linux!



Source

Let's wait for the official confirmation from CDPR. When they'll confirm it, I'll preorder it on GOG right away.
 
Last edited:
This ad is still sitting on the Steam servers but it's gone from the front page. And so far neither Valve, nor CDPR or GOG commented anything on this issue. Notably, actual Steam preorder page lacks any information about Linux / SteamOS. Was it someone's bad joke?
 
What are confirmed technologies used in TW3? (PhysX is known for example). Analyzing their availability outside Windows would provide some idea how portable the game is.
 
This ad is still sitting on the Steam servers but it's gone from the front page. And so far neither Valve, nor CDPR or GOG commented anything on this issue. Notably, actual Steam preorder page lacks any information about Linux / SteamOS. Was it someone's bad joke?

Given that W2 is on Linux now, I doubt it. It was probably just used prematurely.
 
@didymos1120: GOG refuted the ad, saying that nothing else (besides Windows, PS4 and Xbox 1) is confirmed. And TW2 isn't really a good example here, because it uses eON wrapper, which uses DX9 - OpenGL 3 translation. With TW3 using DX11 that's not going to cut it. But besides, TW3 is supposedly using a load of other libraries. I'm not sure which (besides PhysX). If they aren't available anywhere except Windows for example, that would preclude any such port.
 
Last edited:
"Nothing else is confirmed" means very little. It's one of those handy phrases that's true even if you're planning on doing something.
 
@didymos1120: It was an answer to a question, whether preordering means getting the Linux version. GOG said no. It doesn't mean that nothing is going on there, but so far there was practically nothing said, besides that strange ad which popped up and disappeared.
 
When TW3 preorder had appeared on Steam there was a big poster at the store frontpage with "Coming to SteamOS" line on it. So, Linux support is kinda confirmed
 
Top Bottom