Jump to content

ONI + Linux + Wine status


Recommended Posts

Hello, trying to make it work with PlayOnLinux but didn't have a way to compile wine for now.

Seems that the device.c file is used to create the wined3d.dll, can you share it to try an in place replacement ?

Link to comment
Share on other sites

Thx tsuna, indeed I doubt too. Just the size of the files seems so differents, my 2.3-staging version is 1.5mo when your is 6.4mo.

So I tested and it did'nt works. Will have to find a way to compile my own version of wine ;)

Will try to inform you about my tests.

Link to comment
Share on other sites

@tsuna87 

Hi, thank you for explaining! But at risk of sounding stupid here...

I've always found wine difficult to understand and use because it's wiki is not beginner friendly. I do know programming, but I don't know command line well, nor am I familiar with a lot of the terminology they use in their wiki. They also give lots of options at every step and I'm not sure which ones to take to get the desired result.

I don't want to waste your time, and don't feel obligated to help me if you don't have the energy for it. But if you or anyone in this thread has the time and energy to do so, I would very very very much appreciate a step by step guide to getting wine put together properly, and patched to download and run ONI, seeing as Mac Steam doesn't even want to let me download the game. I'm also assuming that I'm not the only mac user who is not a Wine or command line expert and could really use some help with this!

Link to comment
Share on other sites

11 hours ago, Taryn said:

Mac

Apple's shipped version of OpenGL is not new enough to be able to run DirectX 11 in Wine. You'll need to use Boot Camp, or if you'd like to participate in the Linux discussion, you could dual-boot Linux. I would recommend Manjaro Linux https://manjaro.org/


For anyone getting a pink screen, try setting MaxVersionGL to 0x30002, this registry key as well as others can be found at https://wiki.winehq.org/Useful_Registry_Keys

Wine takes quite a while to compile, I'll update with results on how the patch works when it finishes.

Link to comment
Share on other sites

[Sorry for the double post, It doesn't seem that I can edit my last post.]

Anyway, I can confirm that the patch does indeed fix the missing graphics and upside down graphics.

QmVZzSS9CxzLr4rcYBgfrskThypxf6Mj8N9NUfbq

[Ignore the tearing along the dialog, that's a side effect of the screen capture tool I used]

Link to comment
Share on other sites

On 12/03/2017 at 4:42 PM, Bes said:

Hello, trying to make it work with PlayOnLinux but didn't have a way to compile wine for now.

Seems that the device.c file is used to create the wined3d.dll, can you share it to try an in place replacement ?

Try using just wine-staging instead of PoL, maybe.

Also, I'm on wine-staging so my files may work for you. (Arch Linux package) I zipped everything that seems to be related to DX11, both 32 bit and 64 bit versions with directory structure preserved.

wine-staging-patched.zip

Link to comment
Share on other sites

You have to manually apply the patch in the device.c, after ./configure file in dlls/wined3d by deleting two lines as indicated in the patch. The code has too much changed to apply this diff. Good Luck, I'm having issues removing the multiple wine installs (POL, Crossover, wine apt, custom build lmao).

Link to comment
Share on other sites

On 3/14/2017 at 11:00 AM, Nyghtbrynger said:

You have to manually apply the patch in the device.c, after ./configure file in dlls/wined3d by deleting two lines as indicated in the patch. The code has too much changed to apply this diff. Good Luck, I'm having issues removing the multiple wine installs (POL, Crossover, wine apt, custom build lmao).

Try this:

git clone https://github.com/wine-compholio/wine-patched.git
cd wine-patched
curl https://ipfs.io/ipfs/QmeVHyhGJ5VXMaAu1B1hNmZgkU3suDhyQ8CzB1RrmYiRDB | patch dlls/wined3d/device.c
./configure
make CFLAGS="-mtune=native -march=native -O3 -pipe" -j$((`grep -c ^processor /proc/cpuinfo`*2+1))

One-line version:

curl https://ipfs.io/ipfs/QmZjzoS65yMpUFv48HED5evxd3fcWnfFqvRDPS2wGyPTvH | bash
Link to comment
Share on other sites

2 hours ago, walle303 said:

Does only that line solve the problem or we need more step, because I 'solved' your problem by simply changing the screen size of the game but my problem is that he takes more and more ram untill my computer just can't do anything (Yay magic keys) I'm on antergos and tryed the game with a swappiness 5,1and 0 and when I limit the game with "$ ulimit -v 4000000000000" he just crash when he use it's maximum ram :mad:

Link to comment
Share on other sites

On 3/14/2017 at 3:35 AM, StormHUN said:

Try using just wine-staging instead of PoL, maybe.

Also, I'm on wine-staging so my files may work for you. (Arch Linux package) I zipped everything that seems to be related to DX11, both 32 bit and 64 bit versions with directory structure preserved.

wine-staging-patched.zip

So I'm on mac, downloaded and installed wine-staging. Replaced the files you provided in the correct folders ( I assume ). Steam starts up, the game updates to the latest version as well.

 

On starting it says, 

Quote

Failed to initialize Direct3D.
Make sure you have at least DirectX 9.0c installed, have drivers for your
graphics card and have not disabled 3D acceleration
in display settings.
InitializeEngineGraphics failed

 

Link to comment
Share on other sites

Hi everybody,

As a lot of you, I tried to get ONI working on linux... I tried PoL, Wine directly, Virtualbox (do not even think of it...).

I saw some of you managed to get it working well, could one of you please summarize what to do ?

I'm quite familiar to linux use and command line, but not really to building source... I'm loosing myself into Wine wiki. Don't know which packets to install and which build options to use...

I'm stucked at ../wine-source/configure (of page https://wiki.winehq.org/Building_Wine ) which complains about missing library:

configure: error: X 32-bit development files not found. Wine will be built
without X support, which probably isn't what you want. You will need
to install 32-bit development packages of Xlib/Xfree86 at the very least.

I'm on ubuntu 16.04 - x64 with a descent computer (i5 - 4GB, which should be enough for ONI).

Thanks a lot for your help. I really don't want to put this computer under windows just to play a game =).

Link to comment
Share on other sites

3 hours ago, mutrised said:

Hi everybody,

As a lot of you, I tried to get ONI working on linux... I tried PoL, Wine directly, Virtualbox (do not even think of it...).

I saw some of you managed to get it working well, could one of you please summarize what to do ?

I'm quite familiar to linux use and command line, but not really to building source... I'm loosing myself into Wine wiki. Don't know which packets to install and which build options to use...

I'm stucked at ../wine-source/configure (of page https://wiki.winehq.org/Building_Wine ) which complains about missing library:


configure: error: X 32-bit development files not found. Wine will be built
without X support, which probably isn't what you want. You will need
to install 32-bit development packages of Xlib/Xfree86 at the very least.

I'm on ubuntu 16.04 - x64 with a descent computer (i5 - 4GB, which should be enough for ONI).

Thanks a lot for your help. I really don't want to put this computer under windows just to play a game =).

sudo apt-get install xorg-dev

And you may need

sudo apt-get install build-essential

Link to comment
Share on other sites

Hints for futur readers for manually pathing wine:
About applying the patch manually, it is simple to find the lines to be removed. Simply search the file for "Resource formats", there are only two occurrences into the files, which are right before the two return statements you must remove.

 

Thanks ozymandias_3. I couldn't ask for more than a step by step video for what I needed =).

I followed the steps, but:

- I have a (quite bugged) windows intall on another partition. I tried to start ONI from this install (as descripbed in the video), but it can't.

  1. If I try to start steam, it complains about missing 32bits wine (wine32, and ask for apt-get install wine32, which doesn't work - unsatisfied dependencies trying to install wine1.6).
  2. If i try to start directly ONI as the man did in the video, I got this error:
Failed to initialize Direct3D.
Make sure you have at least DirectX 9.0c installed, have drivers for your
graphics card and have not disabled 3D acceleration
in display settings.
InitializeEngineGraphics failed

How do I "install" directX so wine can use it ? I tried to download a setup and run it through wine, but it drops me with an error (wine32 missing - wrong .exe format).

I must be missing something here, but I can't figure out what it is...

Thanks AlexRou, I'll try this solution aside the previous one to try to get my previous wine compilation working.

Anyways, thanks for your help =). I see I should be able to succeed, so it worths trying !

Link to comment
Share on other sites

Hello!

I've just started my quest on this graphics issue and I have a bit of problem. I've managed to build Wine with the instructions from WineHQ (the WoW64 one) and so far the build has succeeded as planned. However, I still don't have any difference compared to plain regular Wine. I only get the purple background and I can't see the title screen at all. I've tried to understand the steps required but am I missing something specific in the process? Here's what I've done:

1. I installed Wine deps with WineHQ instructions, no complaints from deps.
2. I cloned the Git repo from WineHQ.
3. I modified the device.c by removing the two lines of code.
4. I configured the Wine build per the WoW64 instructions.
5. I compiled Wine with the WoW64 method, first the 64-bit then the 32-bit.
6. Installed Steam and the game, everything went smoothly.

Now, when I start the game either through Steam or using my built Wine with the "wine64 ~/.wine/path/to/game.exe" or starting Steam with my built Wine, the result is always the same. If I understood this Direct3D issue correctly, the black/purple background just means that DX11 wasn't loaded/found correctly or something similar. This is the part to which I haven't found much information from the Internet which is understandable, since this is such a new issue.

My question is that is there something still missing from the process that I've made that prevents my built Wine to work properly? I'm using Ubuntu 16.04 and I have Intel i7 6700 CPU with Intel HD 530 so at least according to requirements, I should be able to get this to work. If you could share some light on this matter I would appreciate it a lot. I hope we could collect a very thorough step-by-step guide for others as well on this matter.

Link to comment
Share on other sites

Hi and sorry for the second post but I was able to get this to work also, so another +1 for fixing the graphics issue with the Wine patch. There was that small detail what walle303 had mentioned and that really was the deal breaker. So here are the necessary steps to fix this issue:

1. Install Wine dependencies with WineHQ instructions and follow them very carefully. If necessary purge all previous Wine installs and dependencies in order to start from scratch.
2. Clone the Git repo.
3. Modify the device.c file and remove the two lines of code.
4. Configure Wine and build according to WoW64 instructions (only the basic part, not the chroot)
5. Install Steam and ONI
6. Use the wine64 regedit and add the key MaxVersionGL with value 0x30002
7. Start the game with the built wine64 binary: /your/build/path/wine64 /path/to/ONI/OxygenNotIncluded.exe

After I added that missing registry key I got the game to work. Hopefully this guide helps others.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...