[HOW TO] How to get Windows Apps / Games working in Zorin OS 16

Today i create a nice tutorial for people who come from Windows to Linux. There are some poeple around here that don't get games to work. I managed to get alot of games to work with Lutris and Steam, so i share my findings (still new in linux as well).

  1. We download the latest Wine release
  2. We setup Lutris
  3. We setup Steam
    Naamloos1

Installing the latest Wine build

  1. Remove the current one in Zorin OS 16, to do so go to the software store search for wine and remove it.
  2. We are now going to install the latest stable Wine build in Zorin.
  3. In terminal write

sudo dpkg --add-architecture i386

  1. In terminal write
wget -nc https://dl.winehq.org/wine-builds/winehq.key
  1. In terminal write

sudo apt-key add winehq.key

  1. In terminal write
sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main'
  1. In terminal write

sudo apt update

  1. In terminal write

sudo apt install --install-recommends winehq-stable

Naamloos1

Install the latest Lutris build

  1. Remove the current one in Zorin OS 16, to do so go to the software store search for lutris and remove it.
  2. Download the .deb file from the official Lutris github, when downloaded double click on the .deb file and hit install.

Releases · lutris/lutris · GitHub

Alternative way:

  1. Install the latest Lutris build using the official ppa. In terminal write

sudo add-apt-repository ppa:lutris-team/lutris

  1. In terminal write

sudo apt update

  1. In terminal write

sudo apt install lutris

Naamloos1

Install the latest Steam build

  1. Go to https://store.steampowered.com/about/
  2. Download the .deb file
  3. Install the .deb file

winehq_logo_glass

Install a game using Wine
From here on i will explain step to step how to configure Lutris and Steam. First we install a game using wine windows installer. I use a gog.com installer for sample.

  1. Go to the setup file from a game, double click on the .exe file. If nothing happens right mouse click on the .exe file select open with and select Wine Windows Program loader.
  2. Now you see the setup screen like you see it in windows. You can change the path for the game where you want to install them. The default place is ./wine/drive_c/GOG Games/Star Trek Elite Force II/
  3. When installation is finished hit finish, don't use wine to run the game. We use Lutris for that
    *. Some games require DirectX and vredist installation, mostly they will auto install. You can check this to go to your cd/dvd and find a directx folder or vredist folder. To install those follow step 1.

Add a game in Lutris

  1. Open Lutris and on the very left you see Wine, click on the download icon.
  2. You see a whole list of runners, for this tuturoial i use lutris-fshack-6.14-4 because that one can be installed within Lutris (Picture shows something else, post 2 explains that runner). Click on lutris-fshack-6.14-4 and it will be downloaded and installed. After installation exit the runner screen.

  1. On the top left you see a + mark. Click on it.
  2. On the first page change the Runner to Wine also add a name (The name of your game you want to play). The grey banner you see there you can add a game banner. Mostly i download those from the lutris website.

  1. Hit the tab game options
  2. Click on the executable file and find your game .exe file. I use the game i installed with gog so my location "normally" would be ./wine/drive_c/GOG Games/Star Trek Elite Force II/EF2.exe but i did a custom install so the location is different now.

  1. Go to the Runner-Options tab
  2. Select Wine version, make sure you use the downloaded runner lutris-fshack-6.14-4
  3. Enable DXVK, VKD3D, Enable D3D extras, DXVK-NVAPI/DLSS and Esync.

  1. Save
  2. Now you see a grey banner (if not changed), click on it and hit play (or double click on the banner).
  3. It is possible that a game does not run at first startup, you can always check on the lutris site for tips. My Mass Effect game needed a exception (OpenAL32=B) to get the sound to work in Mass Effect. I could also rename the OpenAl32.dll file in the Mass Effect directory without adding the exception in Lutris. So there are options enough to get things to work.

Install a game using Steam

  1. Open the steam client and go to steam -> settings
  2. Go to Steam Play and select Steam Play for Supported titles.
  3. Go to your steam library, there you will see what games can be installed under Linux. I use Tiny Troopers now
  4. Install the tiny troopers game, after installation is complete steam will also install a Steam Proton build and Steam Frameworks.
  5. When installation is finished you can play the game, if there is not a play icon go to your library again. Find the game and right click on the game icon and select Settings. In settings select compatibility and enable the option that is turned off. When you turn it on select the Proton build that got installed with your game. The list with proton builds is long, but that list shows what steam can offer and did not install every proton build. Make sure you check this out.
  6. Run the game when proton is activated.

15 Likes

In Lutris and Steam you can install custom runners. Here i will show you how you can do this.

For steam

  1. Go to this page and download the latest proton build https://www.patreon.com/gloriouseggroll
  2. When downloaded, go to the downloaded file and install it in your steam directory. ./.local/share/Steam/compatibilitytools.d/Proton-6.20-GE-1
  3. Open steam, config the game you want to play with the new runner.

For Lutris

  1. Go to this page and download the latest wine build https://www.patreon.com/gloriouseggroll
  2. When downloaded, go to the downloaded file and install it in your lutris directory. ./.local/share/lutris/runners/wine/lutris-ge-6.20-1-x86_64.
  3. Open lutris, config the game you want to play with the new runner.
2 Likes

People keep in mind to read on ProtonDB about the game state. I noticed a game was lagging a bit and i could not figure out why it did that. Tried newer proton/lutris versions and nothing worked. So i went to ProtonDB and looked up for the game that lagged Star Wars Jedi Fallen Order. I have read the messages there and noticed i did not add DXVK_ASYNC=1 in my Lutris setup. After i added it my game was butter smooth and running between 50-60 fps.

There may be occasions where a game needs to be physically in the optical drive to work, e.g., Home world. What I did was note the label of the CD ROM and use the same name to create a folder in the fake C:\ drive, then copy all of the CDs contents into this folder. Next for speed I would select all of the contents in the newly created folder, right mouse-click to select properties and check the box about "enable to run as executable".
Next install gCDEmu (Gnome CD emulator). Next install K3b disc burning software, you need to use K3b to create an image file that gCDEmu can use to run the game after installation. I will update this post later as no power to house as Frankenstein isolation switch to mains electricity being replaced by Power Grid contractors.

OK, Let's play Homeworld!
/home/swarfendor437/Documents/Homeworld.jpg

When viewing the CD-ROM in Computer and on Desktop the Disc is shown as:
Homeworld.

/home/swarfendor437/Pictures/Screenshot_20211220_232801.jpg

Browse "C:\ drive" by opening your Home folder, press Ctrl+ H to view hidden files and folders and open the .wine folder and browse Program Files (x86) and create 'Homeworld' folder:

/home/swarfendor437/Pictures/Screenshot_20211220_233611.jpg

Now copy all of the Game CD contents into this new folder. Then look for all the .exe files, and for each one, right-click, select Properties, then select Permissions Tab and check mark "Allow executing file as a program";

/home/swarfendor437/Pictures/Screenshot_20211220_234346.jpg

/home/swarfendor437/Pictures/HW Setup.jpg

Now copy the disc into an image file in Program Files (x86) using K3b CD burner application:

/home/swarfendor437/Pictures/Only create image.jpg

and location to save:

/home/swarfendor437/Pictures/Where to save image.jpg

Next follow this guide on how to install gcdemu:

Once installed go to the location of where the game .iso is, right-click and launch with ... other application - choose cdemu ...

/home/swarfendor437/Pictures/Open with.jpg

and the game 'fake cd' icon will appear on your desktop:

/home/swarfendor437/Pictures/Fake CD.jpg

Now launch the game without having to access the physical Game CD by going to Wine in your menu and you will see the game icon!:

/home/swarfendor437/Pictures/Game launcher.jpg

[UPDATE: Not working in Zorin 16 - get the can't find valid CD when using cdemu - didn't have this issue in Zorin 15.3. Works if the CD is present which is what I was trying to avoid. Will do some research]

4 Likes

It finally came back to me! You need to create a .bin image and use that as the reference point for cdemu so you don't need the CD!:

2 Likes

dxvk and dxvk-nvapi can also manually be added to proton. I wrote a small tutorial for Lutris, for steam you can use this.

You can upgrade the version of DXVK used in Proton, without waiting on a new release. To do so you can just overwrite the existing DXVK files with the release download of DXVK 1.9.3. You can find your Proton install somewhere like this (depending on your Steam Library drives):

path-to-your/SteamLibrary/steamapps/common/Proton x.x/dist

Where x.x is whatever Proton version installed you wish to give a new DXVK.

Inside there you will see "lib" and "lib64", for 32bit and 64bit. Inside each of those, there's a "wine" folder and inside there is a "dxvk" folder and that's where you replace the files with new versions. Do so at your own risk but it's usually harmless. If you mess anything up, one way to ensure it gets reinstalled cleanly is just to remove the "/dist" folder..

I see. There are some Windows apps that I use and would like to ask you if is possible to use them in Linux.

  • Ringcentral, the desktop app not the phone app for Linux.
  • Grammarly, the writing app.

Also, I have NVidia RTX 2060, do the drivers update frequently?

Ringcentral seems not: WineHQ - RingCentral for Windows 7.2.4
Grammarly seems it does: https://www.quora.com/Does-Grammarly-work-on-Linux

Bottles tutorial added -> [How-To] Install Bottles (wine/lutris alike)

3 Likes

Hmmm really hard to add games. Where are all my GOG games tored? Steam games? Native linux games that i installed from software center? Would be nice to have some kind of add/serch tool for seachring for games.

The program has potential. I like it.

1 Like

Lutris can run other launchers as well. If you look in the sidebar, there's an option for installing Steam, GOG, Epic games and other launchers.

I usually install my games through these launchers and after that, I manually add them to Lutris and also create a desktop shortcut using it.

1 Like

After viewing the above video I imagine the only way you can use Lutris is if you install Wine ..... or at least that was my interpretation .... all went well until she started showing how to install Wine after which I lost interest .... :roll_eyes:

1 Like

Great point .... thank you for that .... I modified my cheat-sheet to just show "sudo apt install" instead of "apt-get" .....

I know you are busy with school and all that but it is good to see you back with your timely suggestions and knowledge when it comes to Linux .... I know other newbie's like me appreciate it ..... in this case "to many cooks don't spoil the soup" ..... :grinning:

1 Like

I added some c64 game/roms but i cant make it start with Vice.

Did you try winuae in lutris ? We need a bit more info.

dxvk-nvapi 0.6 got released. For manual installation follow this post.

  • Update NVAPI headers to R525.
  • Update NVML headers to R525.
  • Report Ada architecture for NVIDIA 4000 series.
  • Spoof Ampere instead of Ada or later for certain DLSS versions to prevent failing DLSS initialization.
  • Spoof Pascal instead of Turing or later when detecting Monster Hunter World to prevent startup crashes.
  • Add several new entry points for querying GPU attributes using NVML (GPU core count, PCIe link width, IRQ). Most of those require wine-nvml v0.2.
  • Re-implement several entry points for querying GPU system information using newer NVML methods (thermal states, dynamic performance states, BUS type). Those newer NVML methods better match their NVAPI counterparts and result in a more complete implementation of those entry points. This requires wine-nvml v0.2.
  • Fix build error when building with GCC 12.
  • Add internal optimizations (smaller compile units, code formatting with clang-format).
  • Bump required meson version to 0.58.

I need to install WeChat messenger for Windows. I've installed Wine as per your instructions, but not sure what next (as it's not a game). Should I:

  1. just use plain Wine?
  2. Install Lutris and use that to install or run WeChat?
  3. install PlayonLinux and use that to install or run WeChat?
  4. Other? (E.g. Bottles?)

I would try Lutris first or bottles, bottles and lutris are great tools.

Lutris v0.5.12 got released:
Add support for Xbox games with the xemu runner
Fix authentication issue with Origin
Fix authentication issue with EGS
Fix authentication issue with Ubisoft Connect when 2FA is enabled
Fix integration issue with GOG
Add Discord Rich Presence integration
Add ability to extract icons from Windows executables
Allow setting custom cover art
Re-style configuration dialogs

If your store keeps wanting to downgrade (like mine does), write sudo apt-mark hold lutris