Why it may be difficult for opensource software in companies

In my projects, I pay more attention to using open source software (hereinafter OSS) whenever possible. Especially when it comes to server software, OSS is well and strongly represented. Apart from that, there is absolutely nothing wrong with hosting the services yourself.

Why? A few important aspects:

  • Nothing disappears in ominous, bloated cloud infrastructures.
  • You know what happens to the data.
  • “Self-hosting” gives you full control over the server without “big players” like Microsoft, Google and the like having access to the services (and the data).
  • The above, in turn, has a positive effect on data protection (GDPR) if implemented correctly.
  • You save costs and still don’t have to do without services that are up-to-date.
  • Mostly better -because shorter- update supply (security).
  • One is “less” affected by the blatant security gaps of the big players. This comparison may be a little lame, since there are security gaps in OSS and “Linux”. Yes, even blatant, dangerous ones.
  • However, such gaps are mitigated more quickly than with proprietary software. When I think of the Exchange security gaps of the last few months, I remain completely relaxed because I don’t use MS Exchange, but an alternative.

 

Approach – a fictional digression

As an IT professional, you try to find the optimal platform for a company according to the requirements profile, compare various providers, always keep the GDPR in mind and yes, you may come to the conclusion that, due to the field of activity, open source alternatives are available for 95% of all [online] activities (video meeting, mail, contacts, calendar, active sync, cloud storage) are sufficient and are also cost-saving.

Important: OSS is not free in the corporate environment if you value professional product support from the manufacturer!

Unfortunately, it’s still the case that as an “IT person” you’re often the sole entertainer [SoHo area].

In other words, you cover everything from project management to user and hardware support, security, server administration, support for specialist applications and organizational activities. Due to the priority that IT has nowadays and of course also because of the complexity of the systems, the responsible admin (whether open source or not) has additional support (a service provider) up his sleeve! Because what if you don’t know what to do anymore?

Thank god there are many companies nowadays that a.) offer OSS and b.) also support this software! That wasn’t always the case!

Structure of an OSS communication solution

Anyone who thinks that Microsoft (with Windows, Office [365], Exchange etc.) is not part of the standard these days has slept through the last 25+ years. For example, if you plan to put an existing system based on Microsoft solutions on an open communication platform (server & client), it will certainly be difficult. User acceptance is of immensely high priority!

Phased plan

Step 1: Commissioning of an OSS communication platform (server-side) while retaining the desktop applications (Outlook).

Goal: The user should not notice anything about the change. The usual email client remains in use. It is connected to the Active Directory (user/group administration).

Possible problem: In order to be able to continue using Outlook, an Outlook connector is installed on each client. This connector ensures that all functions (shared calendar, e-mails, contacts, notes, etc.) are available as usual, although no MS Exchange Server is [any longer] running “in the background”. From time to time, however, an Outlook update on the interface (= communication with the connector) changes a small thing, which in turn can mean that some functions (e.g. the shared calendar) do not work out of the blue more are available.

In such a case, the connector must be adapted (updated) by the provider. The admin then has to roll out this connector again.

This game is repeated again and again and of course (apart from the displeasure of the users) is an effort for the admin. At some point the connector could be discontinued!

Step 2: Switch to a “native” client = a “desktop mail client” with the OSS solution / replace MS Outlook.

Yes, MS Outlook will be “taken away” from users. Sounds easy, but it is not… 😉

Such a step must be taken very carefully. The users are to be trained and taken by the hand before the exchange. Ultimately, however, this milestone is also successful if you have done enough persuasion (and have a lot of patience). The Outlook Connector is – like the synchronization problems with Outlook – history!

Step 3: Integration of mobile devices (e.g. via Activesync — zpush)

An additional service (e.g. ActiveSync) will be put into operation so that “mobile end devices” can also have a say.

The system is running

Over time – years later – (and I can only speak for myself here), you learn to appreciate the platform more and more.

  • The system is stable
  • The problems are extremely limited
  • No failures due to software updates
  • Minimal hardware requirements (compared to the business products of the big players)
  • Low running costs compared to current standard products from other suppliers
  • In the worst case: A local contact person who is also available

The demands are increasing

  • A cloud service wouldn’t be bad? But data sovereignty should not be given up?
  • How about a video conferencing solution, but please without chasing the data over X servers that are outside of your sphere of influence?
  • A ticket system is also on the agenda!
  • A company-wide chat platform is also planned…

No problem

  • Why not Nextcloud to be able to paint clouds in the digital sky like the big ones?
  • Video conference… hm, how about BigBlueButton, or – a little less complex – with Jitsi Meet?
  • The ticket problem could be solved with an OS ticket, among other things…
  • You could “chat” with Rocket-Chat…

Everything is possible – of course with a one-off effort. But if it works, then it works.

high noon

With all the efforts that you may have put into a functioning OSS solution over the years, it can almost always happen that suddenly a different wish is on the agenda of the decision-makers. This applies to all software products that do not correspond to the usual standard.

Statements like: “Why don’t we actually use solution X everywhere?”, “…can’t we use what everyone has?”, “…so software X is crap because everything looks different from software Y from that time”, “program X does not work” (often an operating error) etc. etc.

are probably known to many.

Once these phrases have manifested themselves in people’s minds, it becomes difficult to argue against them – regardless of whether the above statements arose from solvable problems or have other reasons. Using the example of  the “LiMux” project in munich you can see how tricky it can get. The Limux project was started in 2004, after which there was back and forth (Linux installed – “Microsoft” gone, Linux gone – Microsoft “installed”… to be continued).

user view

From the user’s point of view, the matter (as already mentioned above) is of course difficult. Especially when the supposedly loved and familiar standard software is exchanged for another software product. Even if the new product is better. It doesn’t matter whether it’s proprietary or not. It is essential that a new platform looks fundamentally different and requires alternative operation.

We are bombarded with advertising every day that only has proprietary software solutions on the agenda. I would never have seen ads that talked about “Linux” or OSS.

Schools

Computer lessons – already in elementary school. Great! Which softwareplatform is preached? (I leave the answer open).

Which alternatives are shown? I have an answer ready: NONE!

This also applies to most secondary schools, by the way!

Corona and digitization

In the course of the corona pandemic, everyone became aware of how important digitization is. The intensification of the “home office” that had become necessary meant that technologies such as video conferences, online meetings, etc. had to be dealt with. Up to this point, many people had nothing to do with the topic of “video conferences and online meetings”. The infrastructure was missing. Of course, the big providers jumped on this bandwagon. There was a time window in which, for example, MS Teams itself was made available to companies free of charge.

Quite useful and a concession from Microsoft.

If you think about it further (assuming you don’t have an Office 365 subscription yet):

  • MS Teams is in use due to corona (due to the situation you have to deal with it every day, get to know and appreciate it).
  • Optimum compatibility with the MS Office track is only given if you use a complete MS Office (subscription) (Word, Excel, Powerpoint…) – including Microsoft Exchange.
  • Ultimately, in terms of productivity (and above all compatibility), you can jump on the Office 365 bandwagon if it is feasible with the existing budget.
  • This in turn makes all other products (mail solution, video conference solution, chat solution…) “incompatible” and obsolete on the server side, even if everything runs perfectly.

Specialist applications – There was something else…

I see all of the above as arguments that may pop up against using open source. Now there is one thing though. A killer argument – especially if you also use “OSS Office” on the desktop PC.

Companies often use so-called specialist applications. These applications use various interfaces, for example, in order to be able to exchange data with other programs. What counts is what is standard! On a desktop PC, the standard mentioned is “Microsoft Office”.

Another platform is not supported. I can well remember a discussion with a developer. When asked why not also e.g. Open-Office is supported, I got a dry one: “I DEFINITELY NOT support an additional platform!” That was the end of the discussion.

As a company, you are therefore bound to the Microsoft Office track. As they say in Austria: “The train goes over there!”

One leads to the other

Before the “cloud” was pushed from all sides, volume licenses for MS Office, for example, could be used without hesitation, which did not require an online subscription to various services. Depending on the license model, a one-time investment had to be made and “Office” was then in use until the end of support. A lot was (and is) still running “in-house” — including the communication infrastructure – maybe even on an OSS basis!

Today people are pushing into the “cloud”. Cloud subscriptions, paid according to the number of users and month are the hot topic. The “all-round carefree package”, exchange – online included and always up to date.

So now you have on the one hand an “MS Office on the desktop compulsion” and on the other hand Office packages that may soon only be offered as part of Office 365. Oh yes… you also want to use MS Teams (included in Office 365).

Summarized

  • Cloud solutions are being pushed
  • Mandatory MS Office due to lack of interfaces to alternative Office products
  • Desire for standard software for online meetings: MS teams should be used sensibly and productively
  • MS Exchange is a prerequisite for the intuitive use of all Office applications (reinforced by the MS Teams theme!)

All the facts of the entire article taken together: where do you think the path leads?

Conclusion

I want to make it clear that my article is not intended to criticize or pillory Microsoft or any other software vendor. But on the contrary. The Microsoft Office 365 platform is mature and unmatched in terms of cross-program collaboration and compatibility.

Nevertheless, I URGENTLY ask you to give OSS a chance! OSS can easily cover many requirements and helps to save costs.

Don’t give up and support (use) OSS solutions wherever possible and sensible. Displacing existing proprietary top dogs in the corporate environment from the desktop is difficult if not impossible without your own development department. On the server side, however, there are still many ways to build on OSS! Ideally self-hosted! Your data should be worth it to you.

Thank you for reading!

Running World of Tanks with Debian GNU Linux & Lutris

Many Windows games now also run under “Linux” thanks to Steam & Proton. Since I definitely want to “get away” from MS Windows at home, but can also be called a gamer, some of my games are quite important to me. In addition to many other activities, I occasionally need a game or two to “come down” after a stressful day at work.

Apart from that, it would be a shame if many of the games you bought could no longer be used. As such, many of the games work very well on Steam 4 Linux & Proton. (I will probably write a separate article on this).

Steam says “No!”

I have been indulging in this MMO game for 7 years now. From this it becomes clear that I probably already have a few rounds “under my belt” and have already researched and bought a lot in the game. You could almost think that all I have to do now is get “good at the game”. But that’s a different story ?

So far I tried unsuccessfully to get WoT to work via Steam. Basically, it always failed because WoT (and thus Wargaming) relied on their own launcher, the Wargaming Game Center. When starting WoT via Steam, it was criticized that the game center is not installed, although the necessary .EXE file has been downloaded.

Finally I gave up WoT on Steam under Linux.

Regardless, as it is not possible to link a not steam-wot-account to Steam! (If you ran WoT outside of Steam and you would like to switch to Steam, you have to start your tanking-career all over again!)

Requirements for WoT on Linux

Distribution

In terms of distribution, I use Debian Bookworm (testing). I added contrib and non-free to the Debian repository (/etc/apt/sources.list).
I’m sure that the distribution doesn’t make the difference, since you have to access additional “non-Debian” repos either way.

Important: The commands (below) are to be executed in the console. It is necessary to work with the superuser “root”!

Installation of Nvidia drivers (for NVIDIA-Card-owners)

It is important, that you use the mostly latest NVIDIA-Driver. At the time writing this, this was:

Installation of the necessary kernel headers and compiler tools

  • apt-get install linux-headers – $ (uname -r)
  • apt-get install build essential

Download the appropriate driver from www.nvidia.com. Then use the console to switch to the directory in which you downloaded the driver and make it executable:

  • chmod + x NVIDIA-Linux-x86_64-470.74.run
  • Note: The driver name can vary!

Note: If you have a different graphics card, you must of course install the appropriate driver for you!

Reboot (without GUI) and start NVIDIA driver installation

  • systemctl set-default multi-user.target
  • reboot
  • Change to the directory in which the download is located
  • Call ./NVIDIA-Linux-x86_64-470.74.run (Attention: Driver name can vary!)

The installation process now starts in the console. Please install the 32-bit libraries in any case (answer the query with “YES”). Overwrite existing files with the files of the installer and also start nvidia-xconfig.

Reboot into the GUI

  • systemctl set-default graphical.target
  • reboot

Lutris and Wine

It is important to include additional package sources. These are:

Wine  (/etc/apt/sources.list.d/wine.list)

  • deb https://dl.winehq.org/wine-builds/debian/ bookworm main

Apart from that, the architecture i386 has to be activated:

  • dpkg -add-architecture i386

And import the winehq key (apt):

  • wget -nc https://dl.winehq.org/wine-builds/winehq.key
    apt-key add winehq.key

Finally, wine has to be installed

I am going for the most current release possible and therefore install “wine-staging”.

  • apt-get update
  • apt-get install wine-staging

Lutris (/etc/apt/sources.list.d/lutris.list)

Additional package sources must also be added for Lutris:

  • deb http://download.opensuse.org/repositories/home:/strycore/Debian_11/ ./

Import key (apt)

  • wget -q https://download.opensuse.org/repositories/home:/strycore/Debian_11/Release.key -O-
    apt-key add –

Now we are installing lutris

  • apt-get update
  • apt-get install lutris

Version check

lutris:
Installed: 0.5.9.1
Installation candidate: 0.5.9.1
Version table:
*** 0.5.9.1 500
500 http://download.opensuse.org/repositories/home:/strycore/Debian_11 ./ Packages
100 / var / lib / dpkg / status

wine:
wine staging:
Installed: 6.19 ~ bookworm-1
Installation candidate: 6.19 ~ bookworm-1
Version table:
*** 6.19 ~ bookworm-1 500
500 https://dl.winehq.org/wine-builds/debian bookworm / main amd64 packages
100 / var / lib / dpkg / status

nvidia driver:
Type: Proprietary
Version 470.74
Source: www.nvidia.com

Start Lutris – install World of Tanks

I already had World of Tanks installed on Windows. My first thought was to copy the WoT directory onto my “Linux disk” in the directory structure of Wine. Then “install” the Wargaming Game Center in Lutris and after starting the Wargaming Game Center simply specify the directory in which WoT is located (import game). However, this project turned out to be problematic because an error message appeared when trying to import the game into the WGGC. Basically this was: “The specified file is not a directory” – although I had selected a directory.

Note: The Lutris Games (Wine) are usually located in the home directory of the logged in user. The directory itself is hidden.

Just to illustrate: I tried to copy WOT into the directory /home/gestl/.wine/drive_c/wot and then integrate it (without downloading) into the game center. Unfortunately, as mentioned, this did NOT work.

The solution

First download the World of Tanks installer (Gamecenter): https://eu.wargaming.net/de/games/wot

Then just start Lutris and add the downloaded file “manually” using the plus symbol (top left), choosing Wine as the starter.

Below you can see that I’m adding the installer (which I downloaded) via Lutris:

Then save, run the installer via Lutris and click on “INSTALL”.

WoT is usually installed in the directory: / home / <user> /.wine/drive_c/Games/World_of_Tanks_EU.

If you have already downloaded WoT under Windows

If you have already installed WoT on a Windows disk, you can shorten the download under Linux. Let the game center start the download of WoT and run it briefly so that the corresponding directories are created. Then you cancel the download and copy the contents of the WoT directory from Windows into the folder in which “Linux-WoT” is located. You just overwrite existing files.

Add World of Tanks Starter to Lutris

The WoT launcher can also be added manually to Lutris after downloading (or copying). The file is called: /home/user/.wine/drive_c/Games/World_of_Tanks_EU/wgc_api.exe.

Then your lutris should look like this. In my case the wgc_api.exe is hidden in the “Button” World of Tanks GC:

The start of WoT

If everything went well, the game center should now start, your login into the same should be successful and WoT should start.

Additional Information – Gamecenter interferes start of WoT

Since some updates of WoT, you may notice, that the game itself runs into a blackscreen when starting it via the WoT – Gamecenter. If so, use Lutris and add the executable of WoT directly bypassing the Gamecenter. Just use the Gamecenter if you get informed, that you need to update WoT. I also noticed, that WoT is not starting (even if you use the WoT executable) if the Gamecenter runs in the background. So make sure the Gamecenter is closed, before you go for a WoT-session!

The gaming platforms Steam-Proton Wine and Lutris

Bye, bye Windows – will Windows be important for gamers in the future

As some of the readers of my blog may have noticed, I want to get rid of the “Windows from Redmond” aka Windows in my private environment for good. Since I am also a “gamer”, it was quite difficult for me due to the lack of “Linux support” from the game developers. But there is definitely improvement in sight!

In my opinion, Steam has set a few levers in motion, not least because of the development of the Steamdeck, to teach the “penguin to play” (keyword: Steam / Proton). Apart from that, there is also Lutris, who in the team with Wine provides a tool to install Windows games under Linux and make them run. The trick is that with Lutris you don’t necessarily have to worry about the configuration (of Wine). Many games run out-of-the-box.

Pay attention to “Linux compatibility” when purchasing Steam

Optimal conditions for playing under Linux can be created by making sure when purchasing the game that it can run natively under Linux (Linux is supported as a platform).

So be sure to take a look at the system requirements in the Steam Shop the next time you buy. Ubuntu is usually listed there as a supported Linux distribution. That’s why you don’t have to smack Ubuntu for a long time. I use Debian Testing as a basis and it works perfectly.

Example: Steam – Systemrequirements in german  (SteamOS + Linux)

Steaminstallation with Debian GNU Linux

Since we are dependent on the software “Steam”, among other things, here are short installation instructions.

  • Add the branches contrib and non-free to the package sources in /etc/apt/sources.list
  • Run apt-get update
  • Activate multiarch (i386): dpkg –add-architecture i386
  • Run apt-get update
  • apt-get install steam
  • Start Steam, log in and check the options for Steam-Play

Only Windows supported?

It is perfectly clear that a lot of the games out there are still built exclusively for Windows. There is nothing nice to talk about! If your game is not running “out-of-the-box” with Steam / Proton it will be a bit more difficult. What options do you have?

Steam with “Glorious Eggroll / Proton” extension

The “Proton” compatibility layer is available in a wide variety of versions. Apart from the steam’s own developments, a resourceful programmer tries to make Proton “even more compatible”. The extension is called Glorious Eggroll and can be found on Github. Version 6.20-GE1 is currently available for download.

Installation takes place in a few simple steps:

  • Download the Proton * .tar.gz file via Github
  • Unzip the file in the folder: /home/<user>/.steam/root/compatibilitytools.d, whereby the folder of the Glorious-Eggroll version must be in the folder compatibiltiytools.d.
  • In Steam itself (in the game properties) – Steam-Play select the desired Proton version
  • start Game

Note: There would also be the option in the Steamclient to store a fixed Proton version (including the GE) under your settings (Steam-Play). Unfortunately, there is a bug here. As soon as you select the GE version and then restart the Steam client, Steam “forgets” the setting again. I have therefore switched to selecting the Proton version per game (via game properties).

Bug: Global settings are not saved (the checkmark for Enable Steam Play for all other titles in combination with Proton-GE is “forgotten” after restarting Steam).

Lutris

I only use Lutris for “non-steam” games. In my case, I am using it for World of Tanks. If you rely on Lutris, you have to do some preliminary work. Apart from installing the packages for Lutris, Wine (in the most recent version possible) must also be installed. Detailed instructions can be found on WineHQ.

“Wine-staging” works very well for me, which is why I can recommend this version to you.

A short summary of World of Tanks & Lutris can be found here.

Hardware, driver and additional packages

What use is the best compatibility layer if the hardware does not play along? Probably little to nothing 😉

It is extremely important to have the latest (proprietary) graphics card driver installed. However, as long as all games are running, I don’t see any need to always be at the forefront with regard to graphics card drivers. In my experience, this often causes additional problems. The procedure: “Never change a running system” should therefore be used here. I can only speak for NVIDIA cards here and not for AMD.

NVIDIA

The NVIDIA driver can be obtained from their website.

Before the actual installation, some additional packages have to be installed (you may have to add contrib and non-free to your /etc/apt/sources.list):

  • apt-get install linux-headers – $ (uname -r) build-essential libglvnd-dev pkg-config

Please do not forget (if you have not already done so) to activate Multi-Arch (i386), as 32-bit libraries from Wine & Steam are also required:

  • dpkg –add-architecture i386
  • apt-get upgrade

To install the NVIDIA driver you have to be outside the GUI. I usually do this by pressing the “e” key for Edit in the Grub boot menu and adding the kernel parameter “single” (without quotation marks) to the very back of the line in the line that also contains “vmlinuz”. Finally, press F10 to start the boot process. The system now only boots into the console.

After entering the root password, change to the folder into which you previously downloaded the NVIDIA driver (with the extension .run) and make the file executable with the command:

  • chmod + x NVIDIA driver name.run

Finally you start the installation by calling:

  • ./NVIDIA-driver-name.run

It is important that the 32-bit libraries are also installed (there is a query here) and that the xorg.conf is adapted (there is also a query here).

 

Blacklisting of the nouveau-module

If you have installed the so-called “nouveau” driver for the Nvidia card, it may be necessary to carry out a blacklisting so that there are no collisions. For me, however, this was not necessary for any installation so far.

  • echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf

Restart of the system

  • reboot

Conclusion

There is certainly still a long way to go before everything runs absolutely smoothly. But there is definitely a very bright light at the end of the tunnel. The development is going in the right direction. We, as end users, can support the development. When buying games, pay attention to “Linux compatibility” and use a Linux distribution if possible 😉