Jump to content

Installing on Linux


Recommended Posts

Hello, some time ago as I remember it was required to create a case insensitive partition on linux and install the game there. Is this still the case?

I know how to do that, I am just wondering whether doing all that is still necessary, if anyone knows what I'm talking about.

Thank you

Link to comment
Posted (edited)
Quote

Is this still the case?

A stock (un-modded) installation will run fine from a Linux FS.  If you're going to install mods, you'll probably (will) need a filesystem that supports case-insensitive filenames (I recommend using something like JFS or an actual UNIX FS over NTFS).

A partition though can be in a file, so you don't need to actually create a separate disk partition.

 

Edited by Axatax
Link to comment

These are my old instructions, do you think they are still valid? I ask mostly with regard for example to renaming libstdc++, perhaps that's not needed anymore.

As you can see I was doing it with an NTFS partition, how would I go about doing it with the other ones, and most importantly why would it be better? Thanks for your help!


1) install skype (this installs some necessary packages)

2) make executable from properties:
gog_baldur_s_gate_enhanced_edition_2.2.0.4.sh

3) install BGEE:
sh gog_baldur_s_gate_enhanced_edition_2.2.0.4.sh

4) rename lib/libstdc++.so.6
libstdc++_.so.6

5) download weidu & scs
extract scs "stratagems" folder in /game
copy weinstall and weidu binaries to /usr/local/bin

6) copy all files in another folder (the game folder should be empty at this point - the loopback file will be mounted on it)

6) create loopback file (4gb)
dd if=/dev/zero of=./ntfs.loop bs=1K count=4M

7) make this file ntfs
mkfs.ntfs -F ./ntfs.loop

😎 mount ntfs loopback in case insensitive mode
lowntfs-3g -o windows_names -o ignore_case ./ntfs.loop ./Baldurs\ Gate\ Enhanced\ Edition

9) copy back the game's files into this folder

10) go to /game folder and run
weinstall ./stratagems/setup-stratagems_autoinstall.tp2


lowntfs-3g -o windows_names -o ignore_case ./GOG\ Games/bg2ee.loop ./GOG\ Games/Baldurs\ Gate\ 2\ Enhanced\ Edition
 

Link to comment

I recommend that you avoid NTFS, like Axatax said. It's been a while, but from the look of the commands that you wrote, this seems to be using the old implementation that uses FUSE. Any FUSE filesystem is very slow, by definition. You won't notice it during playing, but it is annoying (or even a deal breaker) when using other tools, like NearInfinity.

If you are going to use something FUSE based, you should use CIOPFS ("case insensitive on purpose file system"). I wrote a guide about it here: https://moebiusproject.gitlab.io/mods_on_linux

The way mentioned on that guide has the advantage in that there is a 1 to 1 mapping between the files created for CIOPFS, and the ones that the game/weidu/whatever will see. By that, I mean that you won't have to create a big file to act as filesystem, so it's less opaque, and you don't need to plan ahead the size of the big file.

That's not the optimal way, though. If you can use a native file system with case insensitive functionality, that's even better. It is covered in this forum post (but you'll have to find in which page it is done, as I don't remember where it was; the first pages shows the NTFS approach):

I am not using the native filesystem yet, though, and it's because it can't be enabled on the partition used for booting the system (grub doesn't support it). So be careful with that approach.

Link to comment
27 minutes ago, suy said:

If you can use a native file system with case insensitive functionality, that's even better. It is covered in this forum post (but you'll have to find in which page it is done, as I don't remember where it was; the first pages shows the NTFS approach)

The ext4 casefold method is described here:

 

Link to comment
Posted (edited)

1) I assume the Skype installation is to get the needed (ancient) libcrypto and libssl libraries.  I've attached these along with a modified start.sh.  You shouldn't trust what I've provided (cryptographic libraries from a rando on the internet), but I haven't gone out of my way to trojanize these, either.  It's your call.  If you choose to use these, the libraries should be placed under /lib64 where the start.sh resides.

2) Why you shouldn't use NTFS.  It may be fine for what you're doing, but the problems are going to become very apparent if you're going to install something like EET or large mods (think directories with 100,000+ files).  Something on Linux with NTFS runs out of resources - file descriptors, file count, I don't know, and it starts to thrash around and is very slow, and there's no reason to use this unless you need to access this FS on Windows.  You run a UNIX-like OS and there's no reason to use a Windows filesystem.

3) You can set up a JFS, ZFS, XFS whatever you want in the same way as the NTFS partition.  There's switches for these FS's to create a case-insensitive filesystem.

https://serverfault.com/questions/125347/linux-case-insensitive-filesystem

4) The casefold option described by argent77 sounds good, too (I've never used that).

 

update.7z

Edited by Axatax
Link to comment
Guest guest

can anyone CONFIRM that this is absolutely necessary for the LINUX NATIVE version of BG1/BG2EE?

From old threads, there is at least one poster here who seems to imply that all this is unnecessary with gemrb (which is what the linux native version of BG2EE is built on, I think) but frustratingly he doesn't clarify his comments.

All methods presented seem like an awful amount of screwing around.

Link to comment
  • You definitely do not need it to play BG(2)EE (or IWDEE) on Linux, without mods.
  • You definitely do need it to play the above with mods.
  • The Linux version of the EEs, is not based on GemRB. The two don't share code. GemRB has not yet full support of the EE games, but works well with the classics (see the details on the webpage: http://gemrb.org/Features.html).

The case insensitive file system is indeed, a bit annoying, but it's not that bad. The only issue is that there are a lot options to do so, so it's a bit of a mess to decide what you want to do.

Link to comment
Guest guest

Thanks.

So I decided to go with the ciopfs method outlined here https://moebiusproject.gitlab.io/mods_on_linux

It worked flawlessly... until this morning when I had done a hard reset. Now all the content in the ciopfs'd game folder is just gone - vanished, no trace, just an empty folder now. Can anyone help me understand what has happened here and how I can avoid it in the future?

I'm on endeavourOS if its relevant. Modified game folder that has now had its contents deleted was located in Games/Heroic/"Baldur's Gate II - Enhanced Edition"/    next to the unmodified game.original folder which still has the original game content.

Link to comment

If by hard reset I understand reboot your computer...

Have you re-run ciopfs after the reboot?

I'm sorry I'm not familiar with ciopfs (I prefer using ext4 with casefolding, I was put off by ciopfs being last worked on in 2011) but this seems to be a kind of mountable fs in userspace (https://www.brain-dump.org/projects/ciopfs/)

And the howto you are referring to has a section about auto-mounting at the end ? ( https://moebiusproject.gitlab.io/mods_on_linux#bonus_tip_auto_mount_the_file_system_when_starting_the_game )

 

Link to comment
Guest guest
1 hour ago, mickabouille said:

If by hard reset I understand reboot your computer...

Have you re-run ciopfs after the reboot?

I'm sorry I'm not familiar with ciopfs (I prefer using ext4 with casefolding, I was put off by ciopfs being last worked on in 2011) but this seems to be a kind of mountable fs in userspace (https://www.brain-dump.org/projects/ciopfs/)

And the howto you are referring to has a section about auto-mounting at the end ? ( https://moebiusproject.gitlab.io/mods_on_linux#bonus_tip_auto_mount_the_file_system_when_starting_the_game )

 

I have not and was not aware that I needed to. I think I understand what is going on now, the folder ci-data-game contains the modified BG2 + mods data and I then ciopfs'ing this into a mount point, which would be the game folder. Cant say that I like this, I might look into making formatting a flash drive into a sort of IE modbox.

Link to comment

Yes, it is explained (a bit roughly, perhaps), that the data is in the "ci-data-game" directory. That is where the real files are stored. After you run the ciopfs command, then another filesystem is mounted, and changes in "game" are stored in "ci-data-game", with the case information preserved.

BTW, I wrote that guide, and I don't claim to be awesome, but I'll look forward to improve it as I can. Since it's something to do on the console, I assume a bit of familiarity with "fancy Linux stuff", so to speak. Let me know if something is not clear enough.

Also, I'm still going by the ciopfs approach because I can't have the ideal solution which would be to enable the casefold option in ext4 that Argent77 explained in the linked post. But after looking again at the problem, I'm considering giving a try to use ext4 in a file, but using sparse files (which is something that I tried just recently after your question, and seemed to work). I'll surely update the guide if I manage to try this a bit more, and it works as I need.

Link to comment

I installed it with the casefolding method through a loopback file. It opens and all but I have no sound. Any clues?

I have installed pulseaudio and alsa. In pavucontrol there's no sound indicator at all. Sound works normally otherwise, outside the game.

Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...