It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
avatar
dtgreene: Again, you can do this with a chroot or a container and avoid the overhead of a VM.
I can. But working with VMs is a lot easier using something like virt-manager, than with containers and chroots which are very manual. So it's a question of usability, more than features.

Though from what I understand, virt-manager now supports lxc backend as well, so may be it's not much harder to use now.
Post edited June 05, 2019 by shmerl
avatar
dtgreene: (Quick way to get a debian chroot: use debootstrap. You may need to copy or hardlink resolv.conf into the chroot if you need network access (in particular, DNS) in it, but otherwise you should be fine for this purpose. Other distributions have similar tools; if you want an Arch or Gentoo chroot, the installation guide will have you setting up a chroot as part of the installation, so you could just follow that part of the guide.)
side note:
gentoo's multiarch works well enough that you can just install the necessary 32bit dependencies, alongside with their 64bit version. no need for other shenanigans ;)
avatar
Ganni1987: I always compile the 64bit on host OS and the 32bit part in a VM, then merge the required files together.

EDIT: I play a lot of 32bit games, so that component is a must for me.
avatar
dtgreene: Out of curiosity, what specs do you use for the VM?

(Also, assuming your kernel can run 32-bit binaries, you could also use a chroot or container for the compiling, avoiding the overhead of a VM. And if your kernel can't run 32-bit binaries, why are you compiling a program that your system can't execute? (Note that not being able to run 32-bit binaries would be highly unusual; it probably means you compiled your own kernel and chose to disable 32-bit support, or you're working with some embedded distribution rather than one meant for desktop/laptop use.))
For the VM I expose all the cores/threads (16 in total), 3GB ram and with CPU Virtualization enabled. I find it easy to set up and does the job. There isn't much of a big overhead when compiling, a typical Wine build takes about 6 mins on the host and 7-8 on the VM.
avatar
Ganni1987: For the VM I expose all the cores/threads (16 in total), 3GB ram and with CPU Virtualization enabled. I find it easy to set up and does the job. There isn't much of a big overhead when compiling, a typical Wine build takes about 6 mins on the host and 7-8 on the VM.
I use CPU passthrough when setting it up in virt-manager for KVM (this way VM is exposed to same CPU feature flags as the host). Overhead is not that big. Though I usually expose 7 cores / 14 threads, to always leave one spare core for the host.

Upcoming Ryzen 9 CPU with 12 cores / 24 threads should be fun.
Post edited June 05, 2019 by shmerl
Since my library only grow bigger with each year, Im currently thinking about splitting game's data (to another drive) and launchers for my wine games. Thus thought about 2 different loadouts - wounder, which one would be better?
1. Game data (stuff, you will get from innoextract, overall) belong to different hard drive, while wine prefixes with other stuff (settings, savefiles) lie somewere inside $HOME folder
2. Game data together with related prefixes sit on another hard drive, while game's configs and savefiles symlinked to save somewere to the $HOME's guts

Also there are some related questions:
- Some games may use different wine versions, than other. Should wine's executables belong to $HOME or sit on the same drive as games, at this point? And, if 1st - is there any specified place for such things, or just '$HOME/wine/versionnumber' will be fine?
- Which place would be better to symlink game's configs and saves to (e.g actual files will be there, while related wineprefix will only contain link to this folder) - '$HOME/.config/gamename/' or '$HOME/.local/share/gamename/'?
avatar
Gekko_Dekko: Since my library only grow bigger with each year, Im currently thinking about splitting game's data (to another drive) and launchers for my wine games. Thus thought about 2 different loadouts - wounder, which one would be better?
1. Game data (stuff, you will get from innoextract, overall) belong to different hard drive, while wine prefixes with other stuff (settings, savefiles) lie somewere inside $HOME folder
2. Game data together with related prefixes sit on another hard drive, while game's configs and savefiles symlinked to save somewere to the $HOME's guts

Also there are some related questions:
- Some games may use different wine versions, than other. Should wine's executables belong to $HOME or sit on the same drive as games, at this point? And, if 1st - is there any specified place for such things, or just '$HOME/wine/versionnumber' will be fine?
- Which place would be better to symlink game's configs and saves to (e.g actual files will be there, while related wineprefix will only contain link to this folder) - '$HOME/.config/gamename/' or '$HOME/.local/share/gamename/'?
The way I organize my drives is as follows (just an idea, you can set things up other way).

I have one fast NVMe SSD for root, and /home sits on it as well, not on separate partition. I use XFS on it.
Then I have a huge HDD for actual games. I format it with btrfs (with zstd compression), and make a few subvolumes, which I mount to $HOME. Such as $HOME/games for example.

Native games just go to $HOME/games/<game>, while Wine games I place in $HOME/games/wine/<game>.

In the game subdir, I create a few things. For example for my TW3 installation:

$HOME/games/wine/the_witcher3
$HOME/games/wine/the_witcher3/config (it's a directory)
$HOME/games/wine/the_witcher3/prefix (it's directory)
$HOME/games/wine/the_witcher3/start.sh
$HOME/games/wine/the_witcher3/icon.png

Actual game's Wine prefix goes into $HOME/games/wine/the_witcher3/prefix

In $HOME/games/wine/the_witcher3/config I can put some custom config files that for example are used by dxvk and etc. if games need specific overrides from the global config.

icon.png I extract from GOG's icon, and use that with game's .desktop launcher that sits in $HOME/.local/share/applications and calls start.sh

start.sh looks like this for me (a bit simplified, and sorry for formatting mess, GOG forum has no code support):

============================
#!/bin/bash

hud=${hud:-false} # use HUD

if $hud; then
export DXVK_HUD=devinfo,version,fps,frametimes,memory
fi

export DXVK_CONFIG_FILE=$HOME/.config/dxvk.conf
export DXVK_STATE_CACHE_PATH=$HOME/.cache/dxvk
export WINEPREFIX=$HOME/games/wine/the_witcher3/prefix
export WINEPATH=/opt/wine-devel-esync

export WINEESYNC=${WINEESYNC:-1}
export WINEDEBUG=${WINEDEBUG:-"-all"}
export DXVK_LOG_LEVEL=${DXVK_LOG_LEVEL:-"none"}

cd $WINEPREFIX/drive_c/the_witcher_3/bin/x64

wine_run.sh witcher3.exe
============================================

wine_run.sh is my Wine launcher script.

See:

* https://gist.github.com/shmerl/edf230db5d4a24fd92aea16c31393d89
* https://gist.github.com/shmerl/a2867c5a675ed1795f03326b32b47fe7

As you can see, actual Wine I use with TW3 sits in /opt/wine-devel-esync, and location is controlled with WINEPATH variable (it's my script's variable. not Wine standard one).

I.e. the prefix location is controlled with WINEPREFIX, and Wine location is controlled with WINEPATH. This way you can combine them whichever way you want.

For Wine games, I don't mind isolating all their data to prefixes, that's why I don't symlink anything for them (except enabling dxvk with a symlink to dxvk location of course), and also always disassociate desktop integration folders and MIME types in Wine config. I don't see a big point in splitting game data and the prefix.

I used to use PlayOnLinux to manage this stuff, but once that project stalled, I decided it's time to figure out a method where I control things more explicitly. So I ended up with the above :)
Post edited June 06, 2019 by shmerl
avatar
Gekko_Dekko: (…)
What you want to do looks a lot like what ./play.it provides:
- Game data is installed system-side, read-only
- Each WINE game uses its own dedicated prefix
- User data (config, saved games, mods, etc.) is installed in the user $HOME, outside of the prefix

You can chose where the game data is installed if you want to put it on another disk, defaulting to /usr/local/share/games/${game_name} on Debian-based distributions, and /usr/local/share/${game_name} on Arch Linux and Gentoo + derivatives.

If you decide to give a try to ./play.it, any feedback would be most welcome in the thread I linked ;)
So, how about Raiden 5? (Also, is that game good enough to warrant its flash sale price for someone for whom SHMUP is more of a peripheral genre?)
avatar
Gekko_Dekko: (…)
avatar
vv221: What you want to do looks a lot like what ./play.it provides:
- Game data is installed system-side, read-only
- Each WINE game uses its own dedicated prefix
- User data (config, saved games, mods, etc.) is installed in the user $HOME, outside of the prefix

You can chose where the game data is installed if you want to put it on another disk, defaulting to /usr/local/share/games/${game_name} on Debian-based distributions, and /usr/local/share/${game_name} on Arch Linux and Gentoo + derivatives.

If you decide to give a try to ./play.it, any feedback would be most welcome in the thread I linked ;)
interesting, didnt hear about this project
avatar
Gekko_Dekko: didnt hear about this project
We're very bad when it comes to publicize our project, but we're trying to work on it ;)
That's why I tend to write often about it in threads like this one, it would be a shame to let people redo on their own the years of work we already spent on this…
avatar
Gekko_Dekko: didnt hear about this project
avatar
vv221: We're very bad when it comes to publicize our project, but we're trying to work on it ;)
That's why I tend to write often about it in threads like this one, it would be a shame to let people redo on their own the years of work we already spent on this…
Btw - does it require admin rights in order to perform? Or just optionally?
avatar
Gekko_Dekko: Btw - does it require admin rights in order to perform? Or just optionally?
There are three steps in an installation using ./play.it:
1. Download the game installer, through any mean you want
2. Run ./play.it to build a Linux package from your installer, this does not require any admin right
3. Install the generated package using you distribution tools, this usually requires admin rights

Step 1. and 3. are not handled by ./play.it itself, that's what allow us to never ask for either admin rights nor network access.
Hello, I'm trying to run the Total Annihilation wine wrapper. Installation went fine, but now when I try to run the game, I just get a black screen and nothing more. System Monitor says TotalA is in "zombie" state.

I'm running Linux Mint 19.1 MATE 64-bit.

Here's the output from terminal:

Current desktop resolution: 1360x768
Detected 8 display output(s). Connected outputs:
eDP-1: 1360x768 (primary)
Gamma (R/G/B) = 1.000 / 1.000 / 1.000
Userdata directory: /home/USERNAME/.local/share/total_annihilation
Gtk-Message: 13:37:03.221: GtkDialog mapped without a transient parent. This is discouraged.
Gtk-Message: 13:37:05.682: GtkDialog mapped without a transient parent. This is discouraged.

(zenity:11077): Gtk-WARNING **: 13:37:10.367: Attempting to read the recently used resources file at '/home/USERNAME/.local/share/recently-used.xbel', but the parser failed: Error reading file “/home/USERNAME/.local/share/recently-used.xbel”: Is a directory.
Gtk-Message: 13:37:10.482: GtkDialog mapped without a transient parent. This is discouraged.

(zenity:11077): Gtk-WARNING **: 13:37:13.421: Attempting to store changes into '/home/USERNAME/.local/share/recently-used.xbel', but failed: Failed to rename file “/home/USERNAME/.local/share/recently-used.xbel.JNBK3Z” to “/home/USERNAME/.local/share/recently-used.xbel”: g_rename() failed: Is a directory
Gtk-Message: 13:37:13.501: GtkDialog mapped without a transient parent. This is discouraged.
Gtk-Message: 13:37:15.134: GtkDialog mapped without a transient parent. This is discouraged.
Running: winecfg
Working directory: /home/USERNAME/Downloads/total_annihilation_wine/Total Annihilation
Not forcing virtual desktop
Gtk-Message: 13:37:27.579: GtkDialog mapped without a transient parent. This is discouraged.
USERNAME@MYNAME:~/Downloads/total_annihilation_wine/Total Annihilation$ ./start.sh
Current desktop resolution: 1360x768
Detected 8 display output(s). Connected outputs:
eDP-1: 1360x768 (primary)
Gamma (R/G/B) = 1.000 / 1.000 / 1.000
Userdata directory: /home/USERNAME/.local/share/total_annihilation
Gtk-Message: 13:37:33.085: GtkDialog mapped without a transient parent. This is discouraged.
Running: TotalA.exe
Working directory: /home/USERNAME/Downloads/total_annihilation_wine/Total Annihilation/prefix/drive_c/Total Annihilation
Not forcing virtual desktop
Post edited June 21, 2019 by slb1900
Anyone try Bloodstained yet?
avatar
slb1900: Hello, I'm trying to run the Total Annihilation wine wrapper. Installation went fine, but now when I try to run the game, I just get a black screen and nothing more. System Monitor says TotalA is in "zombie" state.

I'm running Linux Mint 19.1 MATE 64-bit.
Just one question: What wine wrapper is that as GOG does not have any for the Total Annihilation games.