Oblivion mods on Linux

Post » Wed Mar 30, 2011 12:15 pm

Hey all.

I'm a long time forum lurker and mod user. I'm also a Linux system admin and software engineer. I have absolutely no talent for artistic type things, and could never dream of creating anything comparable with the fantastic mods that have been created for Oblivion.

I finally figured out how to get oblivion running correctly in Linux (Ubuntu, for those interested), and I want to flex my sysmin and software dev skills for the betterment of the community. Specifically, I am thinking about packaging some fine oblivion mods as dpkg installer packages. I'm going to do this for myself, regardless of if anyone else is interested in having them, but I figured it wouldn't hurt to ask about interest from the community.

That being said: I DO NOT INTEND TO REDISTRIBUTE ANY MODS WHATSOEVER. I have no intention of modifying any mods, providing mod compilation packs, hosting mod downloads of any kind, and so on. I know that the people on this forum have a very specific opinion of people who do that, and I don't want to put myself on anyone's bad side. While our philosophy might be different (specifically, I am a free-software junky, and release next to all of my hobby software as GPL, while the mods here are released under closed source liscense's), I still respect you and your wants. To reiterate, NO STEALING WILL OCCUR.

What I do intend to do, however, is this: The creation of scripts that will automate the process of packaging already downloaded mods into installer packages. The person wishing to use my scripts must already have any mods they intend to use with my scripts on their computers. My scripts will do no downloading, and will not modify any files unless absolutely necessary. All they will do is put the mods into what amounts to a ZIP file, just like OMOD's and similar, that can be used by the debian package installer system.

Is there any interest in this? If there is, I'd love to collaborate with anyone interested
User avatar
Breautiful
 
Posts: 3539
Joined: Tue Jan 16, 2007 6:51 am

Post » Wed Mar 30, 2011 12:13 pm

That sounds awesome! Time to get oblivion on my linux.
User avatar
Beat freak
 
Posts: 3403
Joined: Thu Dec 14, 2006 6:04 am

Post » Wed Mar 30, 2011 5:45 am

I finally figured out how to get oblivion running correctly in Linux (Ubuntu, for those interested)

Personally very interested in that bit right there.

I have both our machines dual booting (one with XP SP3 the other Win 7) and Linux Mint x64 ( tried fedora once but the update frequency was a bit demanding :) )

Not having a 64 bit OS in windows would love to give this a go on Linux, but I have never seen any kind of guide on the subject.

Anyway, good luck with the project - Bookmarked, pulls up a seat and popcorn :)
User avatar
Amy Melissa
 
Posts: 3390
Joined: Fri Jun 23, 2006 2:35 pm

Post » Tue Mar 29, 2011 10:37 pm

Are you saying that you're somehow running OB on Ubuntu without Wine? I'd think so, because otherwise why would you need to turn mods into dpkges? I'm currently (in fact, at this very moment, elsewhere on my LMDE Openbox desktop), installing the last of my current proposed load order using BAIN via Wine 1.3.17. In a minute I'll BOSS everything and start playing. Amazingly enough, everything (meaning not only Oblivion itself with my ~150 mods, but also the utilities I use) works, except for TES4Edit (which did work, but broke for unknown reasons and will not start anymore) and Construction Set Extender (which does work, but the script window does not display properly, making it not worth the trouble for me as opposed to just the regular CS with OBSE. Haven't tried the newest 0.51 yet, which, from the changelog, may behave differently). But WB works, OBMM probably works (I don't use it anymore, but last time I checked the most recent entry in the Wine AppDB for OBMM was from me and it worked almost perfectly), BOSS works, TES4Files works, even BSA Commander works.

Now I'm by no means claiming that this is not a worthwhile project-- it is, even though having just got off the Ubuntu boat in favor of true Debian (LMDE stands for "Linux Mint Debian Edition", for those interested), I'm not about to start mixing packages from different base distros. So even though it seems that it will not benefit me personally, I would like to understand what you're doing, how and why ;) is all.
User avatar
courtnay
 
Posts: 3412
Joined: Sun Nov 05, 2006 8:49 pm

Post » Wed Mar 30, 2011 4:51 am

mmmmmm you don't need to do that , you allready can play most mods that not use obse on linux.
have no idea if obse is gone work tho but i don't see why not.

now am not really up to date anymore on linux and wine, but the last i have see you can instal almost anything with wine.
and if you have very good rig you dont even have to install but play from your windows instal directly :)
User avatar
victoria johnstone
 
Posts: 3424
Joined: Sat Oct 14, 2006 9:56 am

Post » Tue Mar 29, 2011 8:52 pm

Hmm, it sure sounds interesting, but I question the viability of this as an actual system. I don't see why you need dpkg installer packages for mods, that's basically just like creating a .exe installer on Windows, which is a pointless and annoying thing. We have mod managers and installer utilities to deal with mods, and getting the system involved is just messy.

I know people run Oblivion under Wine, and I know Wrye Bash runs under it too. BOSS will run fully-featured either through Wine or compiled as a native Linux application, thanks to myk002's input. I don't know about OBSE, but if that works too, then you've got all you need for modded Oblivion right there. Use Wrye Bash to install and manage all the mods as you would on Windows, sort them with BOSS, then play with Oblivion+OBSE.

dpkg'ing everything sounds like an interesting experiment, but it's not something I'd consider using day-to-day.

EDIT: And to the best of my knowledge, wmj, it's impossible to run a program compiled for Windows as a native application on Linux. That's why cross-platform coding is something you have to think about when you program. If someone managed to do it without any sort of emulation or interpretation layer, they'd probably win the equivalent of a Nobel prize in the computing field.
User avatar
Je suis
 
Posts: 3350
Joined: Sat Mar 17, 2007 7:44 pm

Post » Wed Mar 30, 2011 5:23 am

Are you saying that you're somehow running OB on Ubuntu without Wine? I'd think so, because otherwise why would you need to turn mods into dpkges? I'm currently (in fact, at this very moment, elsewhere on my LMDE Openbox desktop), installing the last of my current proposed load order using BAIN via Wine 1.3.17. In a minute I'll BOSS everything and start playing. Amazingly enough, everything (meaning not only Oblivion itself with my ~150 mods, but also the utilities I use) works, except for TES4Edit (which did work, but broke for unknown reasons and will not start anymore) and Construction Set Extender (which does work, but the script window does not display properly, making it not worth the trouble for me as opposed to just the regular CS with OBSE. Haven't tried the newest 0.51 yet, which, from the changelog, may behave differently). But WB works, OBMM probably works (I don't use it anymore, but last time I checked the most recent entry in the Wine AppDB for OBMM was from me and it worked almost perfectly), BOSS works, TES4Files works, even BSA Commander works.


I am using Wine, of course. That would be very silly to claim otherwise. I am also not claiming that the other tools don't work, or don't do the job. My real goal here is to provide a more native experience for myself. I've used both OBMM and WB in Windows, and found them to be both extremely powerful, and obnoxious to use. They certainly get the job done, but I once I have my game working I tend not to change it much. The problem I run into is that I tend to reformat my machine often and dislike having to rebuild my oblivion install again every time. Having a set of packages that can be re-installed in a single cmd with proper order checking, WB integration (As in, calling the WB functions through Python), and real dependency checking, would be quite nice.

It would also be nice to have these packages on an apt repository somewhere... but, I've already addressed that in my first post.


Now I'm by no means claiming that this is not a worthwhile project-- it is, even though having just got off the Ubuntu boat in favor of true Debian (LMDE stands for "Linux Mint Debian Edition", for those interested), I'm not about to start mixing packages from different base distros. So even though it seems that it will not benefit me personally, I would like to understand what you're doing, how and why ;) is all.



I've used Ubuntu, Debian, CentOS, RedHat EL, Fedora, Gentoo, LinuxMint, and have tried several others, http://www.stormos.org/, for instance, is quite interesting.

I don't intend to do any work in an Ubuntu specific fashion. The only thing these packaging scripts would end up doing is simply repacking the files into a .deb installer package, after all. So long as I, or someone else, tests them on Debian regular, theres very little risk that they wouldn't work on other debian based platforms. In otherwords, I am moving parts of the work that are currently handled by WB, OBMM, and others, into the plumbing layer of the OS, instead of having them done in userland. Different utilities, same amount of power.
User avatar
Alexandra Louise Taylor
 
Posts: 3449
Joined: Mon Aug 07, 2006 1:48 pm

Post » Wed Mar 30, 2011 2:48 am

Hmm, it sure sounds interesting, but I question the viability of this as an actual system. I don't see why you need dpkg installer packages for mods, that's basically just like creating a .exe installer on Windows, which is a pointless and annoying thing. We have mod managers and installer utilities to deal with mods, and getting the system involved is just messy.


Well, dpkg isn't exactly .exe installers in windows. dpkg tracks all of the changes that a given installer makes, ensures no file conflicts, ensures proper dependencies are handled, handles updates in a very graceful way (including dependencies, file conflicts, etc), allows for pre and post installation actions, and so on.

The mod managers that currently exist are leaps and bounds better than installing mods by hand, but they are entirely unsatisfactory to use. Perhaps using dpkg itself is the wrong avenue, but I don't have enough free time or interest to create a dpkg anolog that has all of the special features of OBMM, WB, BAIN, etc. As WB is written in python, it can be interfaced with by these packages through pre/post installation actions, which allows for the automatic creation of bashed patches, in fact ALL of the functionality of WB can be automated in this way.

I know people run Oblivion under Wine, and I know Wrye Bash runs under it too. BOSS will run fully-featured either through Wine or compiled as a native Linux application, thanks to myk002's input. I don't know about OBSE, but if that works too, then you've got all you need for modded Oblivion right there. Use Wrye Bash to install and manage all the mods as you would on Windows, sort them with BOSS, then play with Oblivion+OBSE.

dpkg'ing everything sounds like an interesting experiment, but it's not something I'd consider using day-to-day.


You are absolutely right. All of the tools needed for modded oblivion on either Windows and Linux are there. There is no NEED for a different set of tools. That being said, my person experience using the existing tools has been unsatisfactory and I think that the proper application of a package installer to the current oblivion modding systems can provide for a less stressful experience for users (specifically, this user).
User avatar
TIhIsmc L Griot
 
Posts: 3405
Joined: Fri Aug 03, 2007 6:59 pm

Post » Wed Mar 30, 2011 3:11 am

Well, dpkg isn't exactly .exe installers in windows. dpkg tracks all of the changes that a given installer makes, ensures no file conflicts, ensures proper dependencies are handled, handles updates in a very graceful way (including dependencies, file conflicts, etc), allows for pre and post installation actions, and so on.

The mod managers that currently exist are leaps and bounds better than installing mods by hand, but they are entirely unsatisfactory to use. Perhaps using dpkg itself is the wrong avenue, but I don't have enough free time or interest to create a dpkg anolog that has all of the special features of OBMM, WB, BAIN, etc. As WB is written in python, it can be interfaced with by these packages through pre/post installation actions, which allows for the automatic creation of bashed patches, in fact ALL of the functionality of WB can be automated in this way.



You are absolutely right. All of the tools needed for modded oblivion on either Windows and Linux are there. There is no NEED for a different set of tools. That being said, my person experience using the existing tools has been unsatisfactory and I think that the proper application of a package installer to the current oblivion modding systems can provide for a less stressful experience for users (specifically, this user).

Well, so long as you don't distribute the mods themselves, which you've already said you won't, nobody is going to stop you. If you want to do it, you might as well. :) :shrug:
User avatar
Stephani Silva
 
Posts: 3372
Joined: Wed Jan 17, 2007 10:11 pm

Post » Wed Mar 30, 2011 12:16 pm

EDIT: And to the best of my knowledge, wmj, it's impossible to run a program compiled for Windows as a native application on Linux. That's why cross-platform coding is something you have to think about when you program. If someone managed to do it without any sort of emulation or interpretation layer, they'd probably win the equivalent of a Nobel prize in the computing field.



Actually, as a software developer myself, I have to point out that the intention of your statement is correct, but you've got a couple of things mixed up.

When you run a program in linux through wine, you ARE running it as a native application. The actual code of the program gets run directly regardless of if you run it on Windows (well, assuming we are talking compiled languages, and not .net or "managed" stuff) or on a Linux OS.

All the wine project is doing is re-implementing some (all) of the closed source system libraries that are provided on a Windows machine for the programs to make use of. In most cases, with the wine project, those re-implemented libraries tend to be simply wrappers around other linux code, but there isn't a hard and fast reason for that to be the case. There isn't anything stopping the wine project from reimplementing the libraries in such a way that they provided the desired functionality entirely independently of the rest of the Linux OS. (In fact, there are people working on that. See http://www.reactos.org/)

If a given program makes absolutely no use of system libraries, and is 100% self contained with the binary arranged in the proper format for the OS to interface with, theres no reason why a given app couldn't run on different OS's without a recompile. Most people just think this isn't worth the time needed to do it, so they don't.
User avatar
Adam Kriner
 
Posts: 3448
Joined: Mon Aug 06, 2007 2:30 am

Post » Wed Mar 30, 2011 10:45 am

Well, so long as you don't distribute the mods themselves, which you've already said you won't, nobody is going to stop you. If you want to do it, you might as well. :) :shrug:


Right. Even though I really would prefer the community for oblivion modding follow the open source communities philosophy more closely, I have no intention of pissing anyone here off.
User avatar
Raymond J. Ramirez
 
Posts: 3390
Joined: Sun Oct 14, 2007 8:28 am

Post » Wed Mar 30, 2011 4:24 am

Actually, as a software developer myself, I have to point out that the intention of your statement is correct, but you've got a couple of things mixed up.

When you run a program in linux through wine, you ARE running it as a native application. The actual code of the program gets run directly regardless of if you run it on Windows (well, assuming we are talking compiled languages, and not .net or "managed" stuff) or on a Linux OS.

All the wine project is doing is re-implementing some (all) of the closed source system libraries that are provided on a Windows machine for the programs to make use of. In most cases, with the wine project, those re-implemented libraries tend to be simply wrappers around other linux code, but there isn't a hard and fast reason for that to be the case. There isn't anything stopping the wine project from reimplementing the libraries in such a way that they provided the desired functionality entirely independently of the rest of the Linux OS. (In fact, there are people working on that. See http://www.reactos.org/)

If a given program makes absolutely no use of system libraries, and is 100% self contained with the binary arranged in the proper format for the OS to interface with, theres no reason why a given app couldn't run on different OS's without a recompile. Most people just think this isn't worth the time needed to do it, so they don't.

I didn't realise you were going to nitpick my asides. :rolleyes: Perhaps my terminology is wrong, but that's what I meant by interpretation: Wine is interpreting what the Windows libraries do in Windows in a way that makes sense on Linux. There's a reason why people do use external libraries though, and that's because there is little point in reinventing the wheel. For all realistic intents and purposes, what I stated holds true, I'm not trying to provide a set of notes on cross-platform programming.

Also, in relation to your post above, pretty much all the community generally frowns upon here is redistribution and alteration of mods. It is because having multiple versions of a mod floating around with modifications by several different people makes supporting that mod a total pain in the ass. I don't have the sort of time to waste on that, I haven't even managed to play the game for 25 hours in 4 years. Modders don't own the rights to their mods, gamesas does. Mods are also open source, you just need to load them up in the CS. The only closing off we choose to do is so that we can actually provide any sort of meaningful support for our work.

In fact, if you look at what modders have been able to decide the licenses for, you'll find that it's pretty much all open source: Wrye Bash, OBMM and BOSS are all open source utilities made by modders for modders and mod users alike.

/off topic, sorry.
User avatar
jess hughes
 
Posts: 3382
Joined: Tue Oct 24, 2006 8:10 pm

Post » Wed Mar 30, 2011 7:15 am

wrinklyninja

I'm sorry. I hope you don't think I was being rude. I didn't intend that to be nit picking. You got the explanation right for the most part. I was only trying to be informative.

I hope no hard feelings?
User avatar
Lisha Boo
 
Posts: 3378
Joined: Fri Aug 18, 2006 2:56 pm

Post » Wed Mar 30, 2011 8:23 am

I honestly don't care either way what you do; it sounds like an interesting project if nothing else. What I'm curious about is specific gripes about Wrye Bash or improvements that would make it easier. It's likely some of your gripes could be fixed or ideas implemented.
User avatar
Lisa
 
Posts: 3473
Joined: Thu Jul 13, 2006 3:57 am

Post » Wed Mar 30, 2011 5:11 am

Also, in relation to the above, pretty much all the community generally frowns upon here is redistribution and alteration of mods. It is because having multiple versions of a mod floating around with modifications by several different people makes supporting that mod a total pain in the ass. I don't have the sort of time to waste on that, I haven't even managed to play the game for 25 hours in 4 years. Modders don't own the rights to their mods, gamesas does. Mods are also open source, you just need to load them up in the CS. The only closing off we choose to do is so that we can actually provide any sort of meaningful support for our work.


EDIT: wrinklyninia cleared some stuff up for me in a PM, and I realized that this paragraph that I am replacing here made me look like a complete ass. I hope anyone that I angered can look past my blunder here. Ignorance + enthusiasm sometimes looks a lot like being a jerk.

I'm not trying to be challenging. I'm simply confused. Maybe you can clear it up for me, if you want to spend the time explaining.

I fully understand the sentiments behind not wanting to support multiple versions of mods that you didn't create, in addition to the single version you DID create. I understand this from the software world, so there isn't exactly a 1-1 comparison, but I imagine its close enough. But that being said... from the end users perspective, its a damn nightmare to get these things installed. The last time I went through the process of installing all the mods, patches, texture packs, etc, that I had selected and decided to use for my game, it took me 3 solid weeks at 3 hours a day. I wasn't even trying to do anything that complicated, just QTP3 and the bare minimum FCOM installation. Once I managed to get it all installed, the gameplay was fantastic, but by then I was already back at school and could only play for an hour or two a week.

This is what having dpkg installer packages can solve. Once I've gotten the installer packages set up the way I want, all I'll ever have to do to bring my game from a fresh install, to a fully modded experience is "sudo dpkg -i ~/mods/*". Assuming that I do things correctly, if I don't want a specific mod, I just uninstall that mod package. The load order, WB stuff, various compatibility patches, basically all of the headaches, disappear. If I want to install another mod, its a simple solution. But that only solves the problem for my specific list of preferred mods. I'm not the one who understands various mod compatibility problems. I don't have any idea how BSAs work. I've never made a mesh or a texture in my life. So I can't expand this system to EVERY mod. I can only expand it to those mods that I identify as wanting to use on my own install, and then expend the massive effort of figuring out how to package them for.

Linux distributions have solved this problem years ago. A given disto has a single official source for software packages. If you aren't getting those packages from that single source, they don't support you. But that single source, in the debian world, the apt repository, has all of the special knowledge about how to install, where to install, compatibility libraries, dependencies, cross package conflicts, file placement, so on, so on, so on. Say that such a repository existed for oblivion mods, and someone wanted to install a mod, modX, that required COBL as a hard dependency, but another mod that was installed has a conflict with COBL that's been patched. The user probably wouldn't realize there was a conflict unless they already did all of the research about everything related to modding. That research is time consuming, and wouldn't even be possible unless the patch writer had already done the research needed to create that patch in the first place. With an apt-repo for oblivion mods, all this end user would need to do is "sudo apt-get install modX". This would detect that COBL was needed, and that COBL and modY had a conflict. apt would automatically resolve all of those problems. A short download later, and the game has the new mods in their proper places, proper load order, proper patching, and so on.

If the oblivion modding community has such a central location to retrieve mods from that automatically detected when a specific combination of mods wouldn't work, and that automatically did all of the installing for the user in a "which mods" agnostic way, then I am attempting to re-invent the wheel here, and I'll feel like a fool. If the community does NOT have such a system, what are the thoughts about creating one?
User avatar
claire ley
 
Posts: 3454
Joined: Fri Aug 04, 2006 7:48 pm

Post » Wed Mar 30, 2011 3:23 am

I honestly don't care either way what you do; it sounds like an interesting project if nothing else. What I'm curious about is specific gripes about Wrye Bash or improvements that would make it easier. It's likely some of your gripes could be fixed or ideas implemented.


Lojack, I've been following you and the other Wrye Bash devs on SourceForge for about a year and a half now, I'm subscribed to the committers mailing list. Really, I have no specific complaints about the tool itself. You are tackling a very complicated problem in a way that dramatically reduces the burden faced by the end user. The problem you are addressing, mod management et al. is so complex that no tool can provide a push button solution all by itself. There is information that the tool simply doesn't have.

I am trying to address the same problem that WB addresses. There is a need to manage mods, and combinations of mods installed in a given game. WB manages those mods through a very large list of functionality that provides a swiss army knife mod management tool. When I said in one of my first posts in this thread that WB and OBMM are obnoxious to use, I didn't intend for that to be taken as an insult against WB or OBMM. I just feel that the problem of mod management can be addressed at a lower level than WB and OBMM (and others) currently address. In the Windows world, there is no good package distribution / dependency resolver / updater tool. Attempts have been made by a couple of OSS groups, and now Windows 8 is apparently going to have its own app store. However, in the Linux world, package managers are one of the central most important parts of the users experience with the operating system.

Installing mods in a game is functionally no different than the problem solved by linux package managers. If one could either adopt a Linux package manager to oblivion, or adopt the oblivion mod management tools to the Linux package manager, I feel that a significantly more satisfactory experience could be provided to the user than with the current tools by themselves, with or with out a central mod package repository.
User avatar
Scared humanity
 
Posts: 3470
Joined: Tue Oct 16, 2007 3:41 am

Post » Wed Mar 30, 2011 12:22 am

Right. Even though I really would prefer the community for oblivion modding follow the open source communities philosophy more closely, I have no intention of pissing anyone here off.

The main reason that doesn't happen as often as some folks might like is because the EULA for the game doesn't allow for it. Plus all the stuff Wrinklyninja said about support and keeping track of variations. We've also had a huge problem with outright theft in some of the less honorable communities. Not the least of which has been a rash of unauthorized mod mega-packs.
User avatar
sarah simon-rogaume
 
Posts: 3383
Joined: Thu Mar 15, 2007 4:41 am

Post » Wed Mar 30, 2011 1:53 am

The main reason that doesn't happen as often as some folks might like is because the EULA for the game doesn't allow for it. Plus all the stuff Wrinklyninja said about support and keeping track of variations. We've also had a huge problem with outright theft in some of the less honorable communities. Not the least of which has been a rash of unauthorized mod mega-packs.


Wrinklyninja has cleared up a lot of my misunderstandings related to this in a PM. Thank you for further elaborating for me. It isn't always clear what the reasons for things are when dealing with this type of stuff.
User avatar
Eoh
 
Posts: 3378
Joined: Sun Mar 18, 2007 6:03 pm

Post » Wed Mar 30, 2011 5:20 am

NP, it's also worth keeping in mind that the EULA only applies to things generated by the CS. Original models and textures will fall under whatever licensing the creator wants.
User avatar
Amy Masters
 
Posts: 3277
Joined: Thu Jun 22, 2006 10:26 am

Post » Tue Mar 29, 2011 11:45 pm

Thanks for the reply, Mishtal. If you ever do have something specific, feel free to bring it up :) The other devs and myself can only think up so many things by ourselves.
User avatar
Greg Swan
 
Posts: 3413
Joined: Tue Jun 05, 2007 12:49 am


Return to IV - Oblivion