Code Monkey home page Code Monkey logo

conty's Introduction

Conty

Conty CI Utils CI

This is an easy to use compressed unprivileged Linux container packed into a single executable that works on most Linux distros. It is designed to be as simple and user-friendly as possible. You can use it to run any applications, including games (Vulkan and OpenGL).

Features

  • A single executable - download (or create) and run, nothing else is required. And it's portable, you can put it anywhere (even on a usb stick).
  • Works on most Linux distros, even very old ones and even without glibc (such as Alpine or Void or Gentoo with musl).
  • Works on Steam Deck.
  • Root rights are not required.
  • Compressed (with squashfs or dwarfs), so it takes a lot less disk space than uncompressed containers and can provide faster filesystem access in some cases.
  • Contains many packages and libraries, it can run almost everything, and you don't need to install anything on your main (host) system. You can even run 32-bit applications on pure 64-bit systems.
  • Based on Arch Linux, contains modern software (including fresh videodrivers).
  • Almost completely seamless experience. All applications that you run with Conty read and store their configs in your $HOME directory as if you weren't using the container at all.
  • No performance overhead. Since it's just a container, there is virtually no performance overhead, all applications will run at full speed. Regarding memory usage, Conty uses a bit more memory due to compression and because applications from the container can't share libraries with your system apps.
  • Supports Xorg, Wayland and XWayland.
  • Supports filesystem and X11 sandboxing (thanks to bubblewrap and xephyr).
  • Supports Chaotic-AUR and ALHP repositories. AUR is also supported.

In its default release, it includes, among others, these apps: Wine-GE, Steam, Lutris, PlayOnLinux, GameHub, Minigalaxy, Legendary, Bottles, MultiMC, MangoHud, Gamescope, RetroArch, Sunshine, OBS Studio, OpenJDK, Firefox. The full list can be read in the latest release's pkg_list.txt.

If these applications are not enough, you can install additional applications or run external binaries from, for example, your home directory.

Navigate

Expand

Table of contents generated with markdown-toc

Getting Started

Download

You can download a ready-to-use release from the releases page or create your own (the instructions are below). Make it executable via chmod or your file manager's Properties option (right-click or Alt+Enter) before running.

$ chmod +x conty.sh

Chmod only need to be executed once (per file). You can now start using Conty.

On Gentoo you can emerge games-emulation/conty

Requirements

The only requirements are fuse3 (or fuse2) and coreutils. And your /tmp directory should allow files execution (which it does by default on most distros).

Your Linux kernel must be at least version 4.4 and should support unprivileged user namespaces. On some Linux distros this feature is disabled by default and can be enabled with sysfs:

# sysctl kernel.unprivileged_userns_clone=1

Even if unprivileged user namespaces are not supported by your kernel, you can still use Conty if you have bubblewrap with the SUID bit installed on your system, in this case just tell Conty to use system-wide utils instead of the builtin ones.

$ export USE_SYS_UTILS=1
$ ./conty.sh command command_arguments

If you plan to run 32-bit applications, your kernel must be compiled with CONFIG_IA32_EMULATION and CONFIG_COMPAT_32BIT_TIME options enabled. Kernels in most Linux distributions have these options enabled by default.

Usage

CLI

Conty can be run from a terminal emulator. To run a program inside Conty, simply put the path to conty.sh as a prefix and then insert the program's binary name or the full path to it and launch arguments (if needed).

$ ./conty.sh [command] [command_arguments]

Examples:

$ ./conty.sh steam
$ ./conty.sh bottles
$ ./conty.sh /usr/bin/steam
$ ./conty.sh mangohud glxgears
$ WINEPREFIX=$HOME/wine-conty ./conty.sh gamescope -f -- wine ./game.exe

GUI

Running Conty from a terminal emulator is not strictly required, if your file manager allows running executables, you can also run Conty from it in which case it will show its graphical interface. You can also manually invoke the GUI from terminal with conty.sh -g.

gui

Currently, to check the binaries / commands in Conty, you can use "Select File" and browsing to the /usr/bin directory, or by using ls /usr/bin using the "Open a terminal" option.

However, the GUI will not notify you about errors, so i recommend running Conty from a terminal emulator to see if there are any errors, at least if you've never used Conty before.


There are many packages and usecases that are included in the default conty.sh from the releases page, such as:

File manager

It has a builtin file manager (pcmanfm):

$ ./conty.sh pcmanfm

You can also install your own file manager if you want to, but note that file manager will browse the root inside of Conty except for directories that are mounted from the user's root. /home is mounted by Conty to allow access to the user's home files.

Checking hardware acceleration

To check if hardware acceleration (OpenGL and Vulkan) works, you can use these tools:

$ ./conty.sh glxinfo -B
$ ./conty.sh glxgears
$ ./conty.sh vulkaninfo
$ ./conty.sh vkcube

Using Conty as build environment

You can even use Conty for compilation:

$ ./conty.sh gcc src.c
$ ./conty.sh git clone https://something.git
$ cd something && ./conty.sh ./configure
$ ./conty.sh make

Listing binaries inside Conty

There are many more integrated programs. You can list all of them with:

$ ./conty.sh ls /usr/bin
$ ./conty.sh ls /opt

Executing user's binaries

It is also possible to run binaries from your storage. For example, if you want to run an application that resides on your HOME, run something like:

$ ./conty.sh /home/username/SomeApplication/binaryfile

Note that you cannot run AppImage from Conty (this includes AppImage installed from AUR through Conty's package manager) except for extracting the AppImage's content, after which you may use the manually extracted content.

There are many other features, see the internal help for more information.

$ ./conty.sh -h
Help Content

Usage: conty.sh [COMMAND] [ARGUMENTS]


Arguments:
  -e    Extract the image

  -h    Display this text

  -H    Display bubblewrap help

  -g    Run the Conty's graphical interface

  -l    Show a list of all installed packages

  -d    Export desktop files from Conty into the application menu of
        your desktop environment.
        Note that not all applications have desktop files, and also that
        desktop files are tied to the current location of Conty, so if
        you move or rename it, you will need to re-export them.
        To remove the exported files, use this argument again.

  -m    Mount/unmount the image
        The image will be mounted if it's not, unmounted otherwise.
        Mount point can be changed with the BASE_DIR env variable
        (the default is /tmp).

  -o    Show the image offset

  -u    Update all packages inside the container
        This requires a rebuild of the image, which may take quite
        a lot of time, depending on your hardware and internet speed.
        Additional disk space (about 6x the size of the current file)
        is needed during the update process.

  -v    Display version of this script

  -V    Display version of the image

Arguments that don't match any of the above will be passed directly to
bubblewrap, so all bubblewrap arguments are supported as well.


Environment variables:
  BASE_DIR          Sets a custom directory where Conty will extract its
                    builtin utilities and mount the image.
                    The default is /tmp.

  DISABLE_NET       Disables network access.

  DISABLE_X11       Disables access to X server.

                    Note: Even with this variable enabled applications
                    can still access your X server if it doesn't use
                    XAUTHORITY and listens to the abstract socket. This
                    can be solved by enabling XAUTHORITY, disabling the
                    abstract socket or by disabling network access.

  HOME_DIR          Sets the home directory to a custom location.
                    For example: HOME_DIR="/home/user/custom_home"
                    Note: If this variable is set the home directory
                    inside the container will still appear as /home/user,
                    even though the custom directory is used.

  QUIET_MODE        Disables all non-error Conty messages.
                    Doesn't affect the output of applications.

  SANDBOX           Enables a sandbox.
                    To control which files and directories are available
                    inside the container, you can use the --bind and
                    --ro-bind launch arguments.
                    (See bubblewrap help for more info).

  SANDBOX_LEVEL     Controls the strictness of the sandbox.
                    Available levels:
                      1: Isolates all user files.
                      2: Additionally disables dbus and hides all
                         running processes.
                      3: Additionally disables network access and
                         isolates X11 server with Xephyr.
                    The default is 1.

  USE_OVERLAYFS     Mounts a writable unionfs-fuse filesystem on top
                    of the read-only squashfs/dwarfs image, allowing to
                    modify files inside it.
                    Overlays are stored in ~/.local/share/Conty. If you
                    want to undo any changes, delete the entire
                    directory from there.

  NVIDIA_HANDLER    Fixes issues with graphical applications on Nvidia
                    GPUs with the proprietary driver. Enable this only
                    if you are using an Nvidia GPU, the proprietary
                    driver and encountering issues running graphical
                    applications. At least 2 GB of free disk space is
                    required. This function is enabled by default.

  USE_SYS_UTILS     Tells the script to use squashfuse/dwarfs and bwrap
                    installed on the system instead of the builtin ones.

  XEPHYR_SIZE       Sets the size of the Xephyr window. The default is
                    800x600.

  CUSTOM_MNT        Sets a custom mount point for the Conty. This allows
                    Conty to be used with already mounted filesystems.
                    Conty will not mount its image on this mount point,
                    but it will use files that are already present
                    there.

Additional notes:
System directories/files will not be available inside the container if
you set the SANDBOX variable but don't bind (mount) any items or set
HOME_DIR. A fake temporary home directory will be used instead.

If the executed script is a symlink with a different name, said name
will be used as the command name.
For instance, if the script is a symlink with the name "wine" it will
automatically run wine during launch.

Running Conty without any arguments from a graphical interface (for
example, from a file manager) will automatically launch the Conty's
graphical interface.

Besides updating all packages, you can also install and remove packages
using the same -u argument. To install packages add them as additional
arguments, to remove add a minus sign (-) before their names.
  To install: conty.sh -u pkgname1 pkgname2 pkgname3 ...
  To remove: conty.sh -u -pkgname1 -pkgname2 -pkgname3 ...
In this case Conty will update all packages and additionally install
and/or remove specified packages.

If you are using an Nvidia GPU, please read the following:
https://github.com/Kron4ek/Conty#known-issues

Managing

Install Conty

Much like an AppImage, there is no need to install Conty. However, many distribution includes $HOME/.local/bin as part of their PATH should the folder exists. You may put Conty there, so that it can be accessed from terminal using conty.sh without inputting the full path.

Checking and adding PATH

To check if you have the directory inside your PATH, first create the folder, and then use echo $PATH. If your distribution does not include the directory, you can add it by adding export PATH=$PATH:$HOME/.local/bin somewhere inside the ~/.bashrc file.

In addition, Conty can batch export all .desktop files inside Conty's /usr/share/applications to user's $XDG_DATA_HOME/applications/Conty folder (typically means ~/.local/share/applications/Conty) so that the applications installed in Conty can be accessed from user's application launcher.

To do so, open the terminal, and type:

$ ./conty.sh -d

This command will create the folder and export the files there, append Conty to all exported application's name and .desktop filename, and insert Conty's path to the executable path as a prefix. In addition, it will also export all environment variables and arguments relating to Conty, such as sandboxing options.

Example

Conty is located in $HOME/.local/bin/conty.sh. Then, you ran the following command:

$ HOME_DIR=$HOME/Documents/Conty conty.sh --bind $HOME/.steam $HOME/.steam

Firefox (and other apps) will be exported to ~/.local/share/applications/Conty as firefox-conty.desktop, it will show up in your menu as Firefox (Conty), and the Exec= line inside the exported file will be changed from env UBUNTU_MENUPROXY=0 /usr/lib/firefox/firefox to env HOME_DIR="/home/$USER/Documents/Conty" "/home/$USER/.local/bin/conty.sh" --bind /home/$USER/.steam /home/$USER/.steam env UBUNTU_MENUPROXY=0 /usr/lib/firefox/firefox.

If $XDG_DATA_HOME/applications/Conty already exists, conty.sh -d will instead delete the folder. If you have modified any .desktop files inside that folder, it is recommended for you to move or back it up to a different folder.

How to update

There are a few ways to update Conty and get the latest packages, use whichever works best for you.

  • First of all, you can simply download latest release from the releases page, i usually upload a new release about every month.
  • You can use the self-update feature (./conty.sh -u) integrated into Conty, it will update all integrated packages and will rebuild the squashfs/dwarfs image. Read the internal help for more information about it.
  • You can manually create a Conty executable with latest packages inside, read the How to create your own Conty executables section below.
  • You can clone the repository and use GitHub Actions to get new Conty file according your specifications, every week (see Automated section below).

How to create your own Conty executables

Manual

  1. Obtain Arch Linux boostrap by using create-arch-bootstrap.sh. Before running it, you can edit the script if you want , for example, to include a different set of packages inside the container, or to include additional locales. Make sure you have enough free disk space, i recommend at least 10 GB of free space. Root rights are required for this step.

    # ./create-arch-bootstrap.sh
    
  2. After that you can use enter-chroot.sh to chroot into the bootstrap and do some manual modifications (for instance, modify some files, install/remove packages, etc.). Root rights are needed for this step too. This is an optional step, which you can skip if you wish.

    # ./enter-chroot.sh
    
  3. Now use create-conty.sh to create a SquashFS (or DwarFS) image and create a ready-to-use Conty executable. Root rights are not needed for this step. By default a SquashFS image with zstd compression (level 19) will be created, however, if you want, you can edit the script and enable DwarFS, select a different compression algorithm and/or compression level.

    $ ./create-conty.sh
    

For the sake of convenience, there are pre-compiled binaries (utils.tar.gz) of bwrap, squashfuse and dwarfs and their dependencies uploaded in this repo, create-conty.sh uses them by default. If you want, you can compile your own binaries by using create-utils.sh, it will compile all needed programs and create utils.tar.gz.

Automated (GitHub Actions)

This repository has GitHub workflows that allows you to make GitHub automatically generate a new Conty binary of your specification, every week or at any time you want.

To start, first fork this repository. Then, you may edit the create-arch-bootstrap.sh inside the new repository, to build the packages you want. Then go to the Actions tab.

In the Actions tab, go to the Conty CI section in the left-hand menu. Choose "Run Workflow". This will make GitHub make you a new Conty binary. By default, it will also generate a new Conty binary every Friday (you can use a cron time expression to change the schedule).

Illustration

image

image

image

image

Useful Tips

Sandbox

Conty uses bubblewrap and thus supports filesystem sandboxing, X11 isolation is also supported (via Xephyr). By default sandbox is disabled and almost all directories and files on your system are available (visible and accessible) for the container.

Here are the environment variables that you can use to control the sandbox:

  • SANDBOX - enables the sandbox feature itself. Isolates all user files and directories, creates a fake temporary home directory (in RAM), which is destroyed after closing the container.
  • SANDBOX_LEVEL - controls the strictness of the sandbox. There are 3 available levels, the default is 1. Level 1 isolates all user files; Level 2 isolates all user files, disables dbus and hides all running processes; Level 3 does the same as the level 2, but additionally disables network access and isolates X11 server with Xephyr.
  • DISABLE_NET - completely disables internet access.
  • HOME_DIR - sets a custom home directory. If you set this, HOME inside the container will still appear as /home/username, but actually a custom directory will be used for it.

And launch arguments:

  • --bind SRC DEST - binds (mounts) a file or directory to a destination, so it becomes visible inside the container. SRC is what you want to mount, DEST is where you want it to be mounted. This argument can be specified multiple times to mount multiple files/dirs.
  • --ro-bind SRC DEST - same as above but mounts files/dirs as read-only.

Other bubblewrap arguments are supported too, read the bubblewrap help or manual for more information.

Note that when SANDBOX is enabled, none of user files are accessible or visible, for any application that you run in this mode your home directory will be seen as completely empty. If you want to allow access to some files or directories, use the aforementioned --bind or --ro-bind arguments.

Also note that --bind, --ro-bind, HOME_DIR and DISABLE_NET can be used even if SANDBOX is disabled.

For even more security you can run Conty under a separate user account. An example of how to run applications under a separate user can be seen, for instance, here.

Example

Example 1

$ SANDBOX=1 ./conty.sh firefox

Example 2

$ export SANDBOX=1
$ export SANDBOX_LEVEL=2
$ ./conty.sh --bind ~/.steam ~/.steam --bind ~/.local/share/Steam ~/.local/share/Steam steam

Example 3:

$ mkdir "/home/username/custom_home_dir"
$ export DISABLE_NET=1
$ export SANDBOX=1
$ export HOME_DIR="/home/username/custom_home_dir"
$ ./conty.sh lutris

These options (and any Conty-related arguments and variables exported in env at the time) will be exported by conty.sh -d into part of all exported apps .desktop files in $XDG_DATA_HOME/applications/Conty. If you want multiple options, you can export it once with a specific config, rename the Conty folder, and then export a different set of .desktop files.

If you just want a sandboxing functionality but don't need a container with a full-size Linux distro inside (which is what Conty mainly is), i recommend to take a look directly at these projects: bubblewrap and firejail. Sandboxing is a good additional feature of Conty, but is not its main purpose.

About Wine

Conty releases from the releases page include Wine-GE, and if you build your own Conty you will get Wine-Staging by default (but you can change that).

As for prefix management, it's the same as with any other Wine build, the container does not affect it. The default prefix is ~/.wine, but you can specify a custom prefix path with the WINEPREFIX environment variable.

DXVK and vkd3d-proton are not installed by default (unless they are already in your prefix), but can be easily installed, for example, via winetricks if you need them:

$ ./conty.sh winetricks dxvk vkd3d

As already mentioned in the Usage section, Windows applications can be launched like this:

$ ./conty.sh wine someapplication.exe

If you have new enough Linux kernel (5.16 or newer), it's a good idea to enable FSYNC to improve Wine performance:

$ WINEFSYNC=1 ./conty.sh wine someapplication.exe

Known issues

  • Nvidia users with the proprietary driver will experience problems running graphical applications if their Nvidia kernel module version mismatches the version of the Nvidia libraries inside Conty. This applies only to the proprietary driver, Nouveau should work fine without any additional actions (of course, if your GPU is supported by it). AMD and Intel GPUs are not affected by this issue.

    For example, if the version of your Nvidia kernel module is 460.56 and the libraries inside the container are from 460.67 version, then you won't be able to run graphical applications.

    There are three solutions to this problem:

    • The first and the easiest solution is to use the NVIDIA_HANDLER feature of Conty, it will automatically download and pass the appropriate driver version into the container. In the latest verison of Conty this feature is enabled by default and should fix the problem automatically. It hasn't been extensively tested yet, so if it does not work for you, i would appreciate it if you could leave a feedback here, mentioning your Linux distro and Nvidia driver version.
    • The second solution is to install the same driver version as included inside Conty, which is usually the latest non-beta version. You can see the exact driver version in pkg_list.txt attached to each Conty release. Of course if your GPU is not supported by new drivers, this is not an option for you.
    • The third solution is to (re)build Conty and include the same driver version as installed on your system. Read the How to create your own Conty executables section, you will need to edit the create-arch-bootstrap.sh script or use the enter-chroot.sh script to include a different driver version. For instance, if you want to include legacy 470xx or 390xx drivers, edit the create-arch-bootstrap.sh script and replace nvidia-utils and lib32-nvidia-utils with nvidia-470xx-utils and lib32-nvidia-470xx-utils (replace 470xx with 390xx if you need 390xx drivers) in the video_pkgs variable, and then build Conty following the instructions.
  • Some Windows applications running under Wine complain about lack of free disk space. This is because under Conty root partition is seen as full and read-only, so some applications think that there is no free space, even though you might have plenty of space in your HOME. The solution is simple, just run winecfg, move to "Drives" tab and add your /home as an additional drive (for example, D:), and then install applications to that drive. More info here.

  • AppImages do not work under Conty. This is because bubblewrap, which is used in Conty, does not allow SUID bit (for security reasons), which is needed to mount AppImages. The solution is to extract an AppImage application before running it with Conty. Some AppImages support --appimage-extract-and-run argument, which you can also use.

  • Application may show errors (warnings) about locale, like "Unsupported locale setting" or "Locale not supported by C library". This happens because Conty has a limited set of generated locales inside it, and if your host system uses locale that is not available in Conty, applications may show such warnings. This is usually not a critical problem, most applications will continue to work without issues despite showing the errors. But if you want, you can create a Conty executable and include any locales you need.

  • Conty may have problems interfacing with custom url protocols (such as steam:// and sgdb://), apps that uses Native Host Messengers (such as browser extensions for Plasma Host Integration / KDE Connect, KeePassXC, and download managers), and login token exchange (such as trying to log-in a natively-installed GitHub Desktop app with a browser inside Conty) if there is packages that handle such protocols installed (for example, plasma-browser-integration for KDE Plasma extension inside browser).

Main used projects

conty's People

Contributors

bayazidbh avatar drsheppard01 avatar frostworx avatar ghtm2 avatar kron4ek avatar phantop avatar saltedcoffii avatar vitaly-zdanevich avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

conty's Issues

Package mono-runtime into the container

YoYo Games recently released an update to GameMaker Studio 2 with support for Linux via mono. Would it be possible to add the mono package and its dependencies to the container? I would be very grateful!

Errors in ChromeOS dev mode

I can run it from root after doing this:

xhost +local:
sudo -s
mount -o remount,exec /tmp
ALLOW_ROOT=1 ./conty.sh glxinfo

However if I try to run as a regular user I get this:

./conty.sh steam
Running Conty

bwrap: Failed to mount tmpfs: Operation not permitted

(This happens for trying any app.)

In Chromebrew we have been able to use bwrap as a regular user by using a wrapper script:

sudo chown root "/usr/local/bin/bwrap.elf"
sudo chmod +s "/usr/local/bin/bwrap.elf"
/usr/local/bin/bwrap.elf "$@"
sudo chown chronos "/usr/local/bin/bwrap.elf"

Any chance of using sudo with bwrap if the bwrap command fails?

We don't have the option of using unprivileged user namespaces, as Google has disabled that in the kernels on these devices.

Poor man's zsync2 update guide?

Well, I've fiddled with zsync2 (via its AppImage) to no avail.

So, what should I do to update to latest conty_lite.sh from the last but one on my machine?

Debian GLIBC 2.24

Hi,

this is a nice project, I would love for it to work on my machine. I run a Debian Stretch with GLIBC 2.24-11+deb9u4, do you think it will run? I ask because it's big download and I had hoped for your previous project wine-portable to run but it didn't because it needed Glibc 2.27.

Thank you again for this great project

sudo.conf is owned by uid 1000?

i want to load a injection script but it requires root

raja-ms7c02:[root]:/home/raja/Downloads/Osiris-master# conty ./load_osiris
Running Conty

sudo: /etc/sudo.conf is owned by uid 1000, should be 0
sudo: /etc/sudo.conf is owned by uid 1000, should be 0
sudo: error in /etc/sudo.conf, line 0 while loading plugin "sudoers_policy"
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins
sudo: /etc/sudo.conf is owned by uid 1000, should be 0
sudo: /etc/sudo.conf is owned by uid 1000, should be 0
sudo: error in /etc/sudo.conf, line 0 while loading plugin "sudoers_policy"
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins
Injecting Build ID: libOsiris.so
sudo: /etc/sudo.conf is owned by uid 1000, should be 0
sudo: /etc/sudo.conf is owned by uid 1000, should be 0
sudo: error in /etc/sudo.conf, line 0 while loading plugin "sudoers_policy"
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins
sudo: /etc/sudo.conf is owned by uid 1000, should be 0
sudo: /etc/sudo.conf is owned by uid 1000, should be 0
sudo: error in /etc/sudo.conf, line 0 while loading plugin "sudoers_policy"
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins
sudo: /etc/sudo.conf is owned by uid 1000, should be 0
sudo: /etc/sudo.conf is owned by uid 1000, should be 0
sudo: error in /etc/sudo.conf, line 0 while loading plugin "sudoers_policy"
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins
sudo: /etc/sudo.conf is owned by uid 1000, should be 0
sudo: /etc/sudo.conf is owned by uid 1000, should be 0
sudo: error in /etc/sudo.conf, line 0 while loading plugin "sudoers_policy"
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins
sudo: /etc/sudo.conf is owned by uid 1000, should be 0
sudo: /etc/sudo.conf is owned by uid 1000, should be 0
sudo: error in /etc/sudo.conf, line 0 while loading plugin "sudoers_policy"
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins
sudo: /etc/sudo.conf is owned by uid 1000, should be 0
sudo: /etc/sudo.conf is owned by uid 1000, should be 0
sudo: error in /etc/sudo.conf, line 0 while loading plugin "sudoers_policy"
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins
sudo: /etc/sudo.conf is owned by uid 1000, should be 0
sudo: /etc/sudo.conf is owned by uid 1000, should be 0
sudo: error in /etc/sudo.conf, line 0 while loading plugin "sudoers_policy"
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins
sudo: /etc/sudo.conf is owned by uid 1000, should be 0
sudo: /etc/sudo.conf is owned by uid 1000, should be 0
sudo: error in /etc/sudo.conf, line 0 while loading plugin "sudoers_policy"
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins

Wine crash on launch

Hi. Wine crash on launch. Everything else works fine, except wine.

root# run-as-spot ./conty_lite_dwarfs.sh winecfg
Running Conty

wine: created the configuration directory '/home/spot/.wine'
wineserver: using server-side synchronization.
002c:err:unwind:check_bpf_jit_enable BPF JIT is not enabled in the kernel, enable it to reduce syscall emulation overhead.
002c:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
002c:fixme:winediag:LdrInitializeThunk Wine TkG (staging) 6.18 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please don't report bugs about it on winehq.org and use https://github.com/Frogging-Family/wine-tkg-git/issues instead.
wine: Unhandled illegal instruction at address 0000000140005E2A (thread 002c), starting debugger...
002c:err:seh:start_debugger Couldn't start debugger L"winedbg --auto 40 36" (2)
Read the Wine Developers Guide on how to set up winedbg or another debugger
wine: could not load kernel32.dll, status c0000135
root# run-as-spot ./conty_lite_dwarfs.sh winetricks
Running Conty

SSL_INIT
Executing mkdir -p /home/spot
------------------------------------------------------
warning: You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
------------------------------------------------------
WINEPREFIX INFO:
Drive C: total 0
drwxr-xr-x 3 spot spot  60 Oct 22 19:25 .
drwxr-xr-x 4 spot spot 120 Oct 22 19:25 ..
drwxr-xr-x 4 spot spot  80 Oct 22 19:25 windows

Registry info:
/home/spot/.wine/system.reg:#arch=win64
/home/spot/.wine/user.reg:#arch=win64
------------------------------------------------------
------------------------------------------------------
warning: wine cmd.exe /c echo '%AppData%' returned empty string, error message "wine: Unhandled illegal instruction at address 0000000140005E2A (thread 00cc), starting debugger...
wine: could not load kernel32.dll, status c0000135" 
------------------------------------------------------

I think, problem on this "wine: could not load kernel32.dll, status c0000135" but i not find solution to fix it.

System:
PuppyLinux: FossaPup64 9.5 (kernel 5.4.53) based on Ubuntu Focal 64 packages.

Totally don't understand how to configure conty with nvidia driver 510.39

I'm so sorry but I can't understand the operation in the known issues
I tried to modify the conty.sh but I don't know how to extract utils.tar.gz out of it .
I tried to compile a new conty rootfs and transplant the /usr/lib/nvidia to it.
But when I create the /etc/ld.so.conf.d/nvidia.conf and write "/usr/lib/nvidia" in it, and run ldconfig.
Nothing changed, the nvidia-driver is still not working.
Run glxgears:
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 152 (GLX)
Minor opcode of failed request: 3 (X_GLXCreateContext)
Value in failed request: 0x0
Serial number of failed request: 28
Current serial number in output stream: 29
Run nvidia-smi:
Failed to initialize NVML: Driver/library version mismatch

Sorry I'm noob in Linux and can't understand how to do the operation in the known issues.

Steam runtime segfault

If you run steam-runtime, you get this error.
USE_SYS_UTILS=1 SANDBOX=1 SANDBOX_LEVEL=2 HOME_DIR=STEAM/ ./conty.sh steam-runtime
Using system-wide squashfuse and bwrap
Running Conty
Sandbox is enabled (level 2)
Set home directory to STEAM/

steam.sh[2]: Running Steam on arch rolling 64-bit
steam.sh[2]: STEAM_RUNTIME is enabled automatically
setup.sh[76]: Steam runtime environment up-to-date!
steam.sh[2]: Steam client's requirements are satisfied
/home/abdul444/.local/share/Steam/steam.sh: line 796: 154 Segmentation fault "$STEAMROOT/$STEAMEXEPATH" "$@"

How to pass conflicting args to symlinked binaries?

Say, I'd like to get a list of Lutris games (lutris -l). But -l is conty's flag too.

Sample scenario:

$ file =lutris
/usr/bin/lutris: symbolic link to /usr/bin/conty

$ lutris -l | head -5
Running Conty

a52dec 0.7.4-11
aalib 1.4rc5-14
acl 2.3.1-2

Is there a simple workaround for such issue?

container size

Hey,
thanks for this tool, i'm using it a lot for wine and steam for some time already.
Being driven by curiosity i tried to create a personal stripped version using the handy scripts create_arch_bootstrap and create_conty.
I edited the create_arch_bootstrap script leaving only the packages I was interested in (all the wine stuff + steam), so basically removing almost all the misc stuff like gcc, lutris etc.
What happens at the end is that my custom container ends up weighting around 1.5 GB and this left me scratching my head, because I see that your lite release is much lighter, while containing more programs.
Do you do any special post-create operations on the container to slim it down? Or is it just some flag passed to create_conty for better compression?

Issue when installing a game via Bottles and Wine

When I run and install either ./conty.sh bottles or ./conty.sh wine plus my games I constantly get this error:

"002c:err:wineboot:process_run_key Error running cmd L"C:\windows\system32\winemenubuilder.exe -r" (2)"

How can I fix this?

./conty.sh wine '/home/devuanconsumer/.wine/drive_c/Games/Game.exe'
Running Conty

wineserver: using server-side synchronization.
Failed to read /etc/machine-id, error Invalid argument.
wine: RLIMIT_NICE is <= 20, unable to use setpriority safely
002c:fixme:winediag:LdrInitializeThunk wine-staging 7.0 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
002c:err:wineboot:process_run_key Error running cmd L"C:\windows\system32\winemenubuilder.exe -a -r" (2).
wine: failed to open "/home/devuanconsumer/.wine/drive_c/Games/Game.exe": c0000135

hostname not set?

user@debian:~/Downloads$ ./conty.sh bash
Running Conty

I have no name!@debian:~/Downloads$ 

The uname -n appears to be working:

user@debian:~/Downloads$ ./conty.sh uname -n
Running Conty

debian

Wine builds access

Hi,

what if I wanted to use one of your Wine build (https://github.com/Kron4ek/Wine-Builds) with Conty? I tried putting in the extracted Wine build folder (wine-6.13-staging-tkg-amd64) in /opt and build the conty image, however I couldn't get access to it with ./conty.sh /opt/wine-6.13-staging-tkg-amd64/bin/wine becaue it looks for it on my local hardrive. So I added a wine.sh in the /usr/bin of the conty.sh because I know conty will find it (inside the wine.sh is /opt/wine-6.13-staging-tkg-amd64/bin/wine "$@") but same thing, /opt/wine-6.13-staging-tkg-amd64/ which is inside the conty container is invisible to it.

So I proceeded differently, I moved wine-6.13-staging-tkg-amd64/ to my local machine's opt folder and kept wine.sh inside conty.sh and it finds it however i get this error which tells me it doesn't find other stuff:

0180:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.

So my question is, how would I create a minimal conty.sh image (which I have already done) and put one of your wine builds inside of it and call wine?

Thank you.

Conty is broken, I guess.

Alpine Linux Edge. See title. Terminal output is below.

./conty_lite.sh ls /bin /home/cysk/.local/share/Conty/conty_lite.sh_cysk_f471f2e/utils/squashfuse3: error while loading shared libraries: libc.musl-x86_64.so.1: cannot open shared object file: No such file or directory /home/cysk/.local/share/Conty/conty_lite.sh_cysk_f471f2e/utils/squashfuse3: error while loading shared libraries: libc.musl-x86_64.so.1: cannot open shared object file: No such file or directory Mounting the image failed!

Not an expert in the slightest, so I'll just try not to comment anything that is wrong.

Feature Request: zsync update file

Hi.
Is it possible to use zsync / zsyncmake to do delta downloads?
It would create a a conty.sh.zsync file for example to reduce data required for each new content update.

Unable to find cores

Hi,

I'm using Slackware-current (development snapshot) and running latest conty and it used to work fine but now when i tried to run lutris, it always gives me this message

2021-07-27 18:15:05,409: Magic not available. Unable to automatically find game executables. Please install python-magic
2021-07-27 18:15:05,602: No cores found

i tried to run -u or -U but at the end of the process i get

This doesn't look like a squashfs image.
Mounting the squashfs image failed!

Conty Lite 1.17.2 outputs incorrect version

It's minor issue, but still:

$ sha256sum /usr/bin/conty_lite
1b25e089082491780909cc65b2b0c998d239901afe1b3da9c40617125d8f23e8  /usr/bin/conty_lite

 $  /usr/bin/conty_lite -v
1.17.1

/usr/bin/env: bad interpreter: Text file busy

After a while I'm getting this error:

SUDO_MOUNT=1 USE_SYS_UTILS=1 ./conty_lite_lz4.sh ls
bash: ./conty_lite_lz4.sh: /usr/bin/env: bad interpreter: Text file busy

(This is after trying playonlinux, which failed to download anything, thought the gui came up) :

chronos@localhost /usr/local $ SUDO_MOUNT=1 USE_SYS_UTILS=1 ./conty_lite_lz4.sh playonlinux
Using system squashfuse and bwrap
Using regular mount command (sudo mount) instead of squashfuse
Running Conty

Looking for python... 3.9.2 - skipped
Looking for python2.7... 2.7.18 - wxversion(s): 3.0-gtk3
/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py:16629: UserWarning: wxPython/wxWidgets release number mismatch
  warnings.warn("wxPython/wxWidgets release number mismatch")
selected
/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py:16629: UserWarning: wxPython/wxWidgets release number mismatch
  warnings.warn("wxPython/wxWidgets release number mismatch")
/bin/sh: line 1: xrdb: command not found
1
[main] Message: PlayOnLinux (4.3.4) is starting
[clean_tmp] Message: Cleaning temp directory
[POL_Config_Write] Message: Config write: VDRIVES_LINK_MADE TRUE
[Check_OpenGL] Warning: check_dd_x86 missing, test skipped
[Check_OpenGL] Warning: check_dd_amd64 missing, test skipped
[POL_System_CheckFS] Message: Checking filesystem for /home/chronos/user/.PlayOnLinux/
[FS_Check] Warning: The following file is located on a noexec mounted filesystem.
It might prevent wine from working

/home/chronos/user/.PlayOnLinux/
[main] Message: Filesystem is compatible
[install_plugins] Message: Checking plugin: Capture...
[install_plugins] Message:    -->Installing plugin: 'Capture'.
[update_check] Message: Web version : 1617215730
[update_check] Message: Current local version : 
[update_check] Message: Updating list
[install_plugins] Message: Checking plugin: ScreenCap...
[install_plugins] Message:    -->Installing plugin: 'ScreenCap'.
[install_plugins] Message: Checking plugin: PlayOnLinux Vault...
[install_plugins] Message:    -->Installing plugin: 'PlayOnLinux Vault'.

(mainwindow.py:2669): Gtk-WARNING **: 22:12:58.674: Could not load a pixbuf from /org/gtk/libgtk/theme/Adwaita/assets/check-symbolic.svg.
This may indicate that pixbuf loaders or the mime database could not be found.
[POL_Config_Write] Message: Config write: LAST_TIMESTAMP 1617215730
[POL_SetupWindow_Init] Message: Creating new window for pid 4526
[POL_SetupWindow_Close] Message: Closing window for pid 4526
rm: cannot remove '/home/chronos/user/.PlayOnLinux//install': No such file or directory
[POL_GPG_auth_script] Message: Checking signature of /home/chronos/user/.PlayOnLinux//install
[POL_GPG_install_key] Message: Importing PlayOnLinux public key
[POL_Bash] Message: POL GPG : Good signature - Microsoft Paint
[POL_SetupWindow_Init] Message: Creating new window for pid 4689
[POL_Wine_SelectPrefix] Message: Selecting prefix: mspaint
[POL_Wine_PrefixCreate] Message: Setting POL_WINEVERSION to 3.0.4
[POL_Wine_PrefixCreate] Message: Creating prefix (3.0.4)...
[POL_Wine_PrefixCreate] Message: Using wine 3.0.4
[POL_Wine_InstallVersion] Message: Installing wine version path: 3.0.4, x86
[POL_Wine_InstallVersion] Message: Wine site: https://phoenicis.playonlinux.com/index.php/wine?os=linux
env LD_LIBRARY_PATH="" wget --prefer-family=IPv4 -q https://phoenicis.playonlinux.com/index.php/wine?os=linux -O-
[POL_Wine_InstallVersion] Message: Winebuild data: {
  "version": "3.0.4",
  "url": "http://www.playonlinux.com/wine/binaries/phoenicis/upstream-linux-x86/PlayOnLinux-wine-3.0.4-upstream-linux-x86.tar.gz",
  "sha1sum": "7dace0daf0eed442bcd7368c3a4dd0f4b547320f",
  "geckoFile": null,
  "geckoUrl": null,
  "geckoMd5": null,
  "monoFile": null,
  "monoUrl": null,
  "monoMd5": null
}
[POL_Wine_InstallVersion] Message: Wine address found: http://www.playonlinux.com/wine/binaries/phoenicis/upstream-linux-x86/PlayOnLinux-wine-3.0.4-upstream-linux-x86.tar.gz
/usr/local/bin/perl: error while loading shared libraries: libssp.so.0: cannot open shared object file: No such file or directory
Server sha1 : 7dace0daf0eed442bcd7368c3a4dd0f4b547320f
Client sha1 : 
[POL_Config_PrefixWrite] Message: Prefix config write: ARCH x86
[POL_Config_PrefixWrite] Message: Prefix config write: VERSION 3.0.4
[POL_Wine_SetVersionEnv] Message: Wine 3.0.4 not installed. Installing it
[POL_Wine_InstallVersion] Message: Installing wine version path: 3.0.4, x86
[POL_Wine_InstallVersion] Message: Wine site: https://phoenicis.playonlinux.com/index.php/wine?os=linux
env LD_LIBRARY_PATH="" wget --prefer-family=IPv4 -q https://phoenicis.playonlinux.com/index.php/wine?os=linux -O-
[POL_Wine_InstallVersion] Message: Winebuild data: {
  "version": "3.0.4",
  "url": "http://www.playonlinux.com/wine/binaries/phoenicis/upstream-linux-x86/PlayOnLinux-wine-3.0.4-upstream-linux-x86.tar.gz",
  "sha1sum": "7dace0daf0eed442bcd7368c3a4dd0f4b547320f",
  "geckoFile": null,
  "geckoUrl": null,
  "geckoMd5": null,
  "monoFile": null,
  "monoUrl": null,
  "monoMd5": null
}
[POL_Wine_InstallVersion] Message: Wine address found: http://www.playonlinux.com/wine/binaries/phoenicis/upstream-linux-x86/PlayOnLinux-wine-3.0.4-upstream-linux-x86.tar.gz
/usr/local/bin/perl: error while loading shared libraries: libssp.so.0: cannot open shared object file: No such file or directory
Server sha1 : 7dace0daf0eed442bcd7368c3a4dd0f4b547320f
Client sha1 : 
[POL_Wine_SetVersionEnv] Message: Wine 3.0.4 not installed. Installing it
[POL_Wine_InstallVersion] Message: Installing wine version path: 3.0.4, x86
[POL_Wine_InstallVersion] Message: Wine site: https://phoenicis.playonlinux.com/index.php/wine?os=linux
[POL_Wine_InstallVersion] Message: Winebuild data: {
  "version": "3.0.4",
  "url": "http://www.playonlinux.com/wine/binaries/phoenicis/upstream-linux-x86/PlayOnLinux-wine-3.0.4-upstream-linux-x86.tar.gz",
  "sha1sum": "7dace0daf0eed442bcd7368c3a4dd0f4b547320f",
  "geckoFile": null,
  "geckoUrl": null,
  "geckoMd5": null,
  "monoFile": null,
  "monoUrl": null,
  "monoMd5": null
}
[POL_Wine_InstallVersion] Message: Wine address found: http://www.playonlinux.com/wine/binaries/phoenicis/upstream-linux-x86/PlayOnLinux-wine-3.0.4-upstream-linux-x86.tar.gz
Traceback (most recent call last):
  File "/usr/share/playonlinux/python/setupwindow/POL_SetupFrame.py", line 392, in DebugClick
    self.parent.BugReport(e)
AttributeError: 'NoneType' object has no attribute 'BugReport'
/usr/local/bin/perl: error while loading shared libraries: libssp.so.0: cannot open shared object file: No such file or directory
/usr/share/playonlinux/lib/playonlinux.lib: line 335:  4689 Killed                  bash "$@"
Unhandled exception in thread started by <bound method gui_server.handler of <gui_server(Thread-2, started 140303092676160)>>
Traceback (most recent call last):
  File "/usr/share/playonlinux/python/setupwindow/gui_server.py", line 53, in handler
    connection.send(self.result)
socket.error: [Errno 104] Connection reset by peer
Registered PID: 2962 (Missing)
Registered PID: 2996 (Missing)
Registered PID: 3099 (Missing)
Registered PID: 3185 (Missing)
Registered PID: 3291 (Missing)
Registered PID: 3372 (Missing)
Registered PID: 3462 (Missing)
Registered PID: 3548 (Missing)
Registered PID: 4526 (Present)
Registered PID: 4689 (Missing)
Registered PID: 4755 (Missing)
Registered PID: 4789 (Missing)

IA32_EMULATION Required?

Hi,

I have a no-multilib installation (gentoo). Since conty can be used to launch 32 bit applications on a 64bit host, does this also mean that CONFIG_IA32_EMULATION is not required to launch applications with conty?

Conversion of xz conty to lz4 / permissions issues with bind mount.

My steps using the squashfs-tools-ng programs:

cd /usr/local
curl -OLf https://raw.githubusercontent.com/Kron4ek/Conty/master/squashfs-start.sh
curl -OLf https://github.com/Kron4ek/Conty/raw/master/utils.tar 
curl -OLf https://github.com/Kron4ek/Conty/releases/download/1.5/conty.sh
chmod +x conty.sh
dd if=/usr/local/conty.sh of=/usr/local/image.squashfs bs=`/usr/local/conty.sh -o` skip=1
sqfs2tar /usr/local/image.squashfs | tar2sqfs -c lz4 /usr/local/imagelz4.squashfs
cat squashfs-start.sh utils.tar /usr/local/imagelz4.squashfs > conty_lz4.sh
chmod +x conty_lz4.sh

Some stuff works fine:

SUDO_MOUNT=1 USE_SYS_UTILS=1  ./conty_lz4.sh  glxinfo -B
Using system squashfuse and bwrap
Using regular mount command (sudo mount) instead of squashfuse
Running Conty

name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Intel Open Source Technology Center (0x8086)
    Device: Mesa DRI Intel(R) UHD Graphics 615 (AML-KBL) (0x591c)
    Version: 21.0.1
    Accelerated: yes
    Video memory: 3058MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) UHD Graphics 615 (AML-KBL)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 21.0.1
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 3.0 Mesa 21.0.1
OpenGL shading language version string: 1.30
OpenGL context flags: (none)

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 21.0.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Some does not:

SUDO_MOUNT=1 USE_SYS_UTILS=1  ./conty_lz4.sh  geany
Using system squashfuse and bwrap
Using regular mount command (sudo mount) instead of squashfuse
Running Conty


(geany:12610): Gtk-WARNING **: 16:02:32.009: Could not find the icon 'window-close-symbolic-ltr'. The 'hicolor' theme
was not found either, perhaps you need to install it.
You can get a copy from:
        http://icon-theme.freedesktop.org/releases

(geany:12610): Gtk-WARNING **: 16:02:32.010: Could not load a pixbuf from /org/gtk/libgtk/icons/16x16/status/image-missing.png.
This may indicate that pixbuf loaders or the mime database could not be found.
**
Gtk:ERROR:../gtk/gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /org/gtk/libgtk/icons/16x16/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
Bail out! Gtk:ERROR:../gtk/gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /org/gtk/libgtk/icons/16x16/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
SUDO_MOUNT=1 USE_SYS_UTILS=1 GDK_BACKEND=x11 ./conty_lz4.sh --bind /usr/local/home $HOME --setenv HOME 
/usr/local/home firefox
Using system squashfuse and bwrap
Using regular mount command (sudo mount) instead of squashfuse
Running Conty

Fontconfig error: No writable cache directories
Fontconfig error: No writable cache directories
Fontconfig error: No writable cache directories
Fontconfig error: No writable cache directories
Fontconfig error: No writable cache directories
Fontconfig error: No writable cache directories
Fontconfig error: No writable cache directories
Fontconfig error: No writable cache directories

(firefox:8751): Gtk-WARNING **: 15:50:02.285: Could not find the icon 'dialog-warning'. The 'hicolor' theme
was not found either, perhaps you need to install it.
You can get a copy from:
        http://icon-theme.freedesktop.org/releases

(firefox:8751): Gtk-WARNING **: 15:50:02.285: Error loading theme icon 'dialog-warning' for stock: Icon 'dialog-warning' not present in theme Adwaita

(firefox:8751): Gtk-WARNING **: 15:50:02.286: Could not load a pixbuf from /org/gtk/libgtk/icons/48x48/status/image-missing.png.
This may indicate that pixbuf loaders or the mime database could not be found.

(firefox:8751): Gtk-WARNING **: 15:50:02.286: Error loading theme icon 'image-missing' for stock: Failed to load /org/gtk/libgtk/icons/48x48/status/image-missing.png: Unrecognized image file format

Now trying playonlinux:

SUDO_MOUNT=1 USE_SYS_UTILS=1  ./conty_lz4.sh --bind /usr/local/home $HOME --setenv HOME /usr/local/home playonlinux

But I'm getting permissions issues:

chronos@localhost /usr/local $ sudo chmod -R 777 home
chronos@localhost /usr/local $ SUDO_MOUNT=1 USE_SYS_UTILS=1 GDK_BACKEND=x11 ./conty_lz4.sh --bind /usr/local/home $HOME --setenv HOME /usr/local/home playonlinux
Using system squashfuse and bwrap
Using regular mount command (sudo mount) instead of squashfuse
Running Conty

Looking for python... 3.9.2 - skipped
Looking for python2.7... 2.7.18 - wxversion(s): 3.0-gtk3
/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py:16629: UserWarning: wxPython/wxWidgets release number mismatch
  warnings.warn("wxPython/wxWidgets release number mismatch")
selected
/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py:16629: UserWarning: wxPython/wxWidgets release number mismatch
  warnings.warn("wxPython/wxWidgets release number mismatch")
/bin/sh: line 1: xrdb: command not found
1
Fontconfig error: No writable cache directories
Fontconfig error: No writable cache directories
Fontconfig error: No writable cache directories
Fontconfig error: No writable cache directories
Fontconfig error: No writable cache directories
Fontconfig error: No writable cache directories
Fontconfig error: No writable cache directories
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
[main] Message: PlayOnLinux (4.3.4) is starting
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
touch: cannot touch '/usr/local/home/.PlayOnLinux//configurations/custom': No such file or directory
touch: cannot touch '/usr/local/home/.PlayOnLinux//playonlinux.cfg': No such file or directory
touch: cannot touch '/usr/local/home/.PlayOnLinux//extensions.cfg': No such file or directory
touch: cannot touch '/usr/local/home/.PlayOnLinux//configurations/listes/gecko.lst': No such file or directory
touch: cannot touch '/usr/local/home/.PlayOnLinux//configurations/wgetrc': No such file or directory
[clean_tmp] Message: Cleaning temp directory
mv: cannot stat '/usr/local/home/.PlayOnLinux//tmp': No such file or directory
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
[POL_Config_Write] Message: Config write: VDRIVES_LINK_MADE TRUE
/usr/share/playonlinux/lib/playonlinux.lib: line 103: /usr/local/home/.PlayOnLinux//tmp/newcfg10596: No such file or directory
/usr/share/playonlinux/lib/playonlinux.lib: line 104: /usr/local/home/.PlayOnLinux//tmp/newcfg10596: No such file or directory
mv: cannot stat '/usr/local/home/.PlayOnLinux//tmp/newcfg10596': No such file or directory
ln: failed to create symbolic link "/usr/local/home/PlayOnLinux's virtual drives": No such file or directory
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
[Check_OpenGL] Warning: check_dd_x86 missing, test skipped
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
[Check_OpenGL] Warning: check_dd_amd64 missing, test skipped
mkdir: cannot create directory ‘/usr/local/home’: Read-only file system
[main] Message: Filesystem is compatible
wget: WGETRC points to /usr/local/home/.PlayOnLinux//configurations/wgetrc, which couldn't be accessed because of error: No such file or directory.
Traceback (most recent call last):
  File "mainwindow.py", line 1404, in <module>
    app = PlayOnLinuxApp(redirect=False)
  File "/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py", line 8628, in __init__
    self._BootstrapApp()
  File "/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py", line 8196, in _BootstrapApp
    return _core_.PyApp__BootstrapApp(*args, **kwargs)
  File "mainwindow.py", line 1197, in OnInit
    self.frame = MainWindow(None, -1, os.environ["APPLICATION_TITLE"])
  File "mainwindow.py", line 328, in __init__
    files = os.listdir(Variables.playonlinux_rep + "/plugins")
OSError: [Errno 2] No such file or directory: '/usr/local/home/.PlayOnLinux//plugins'

(This could be a problem with the conversion of the squashfs image, but in case it isn't... just mentioning it.)

libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded

Hi,

I have tried to build Conty.sh on a Google Colab machine and I get this:

Downloading 2021.06.01 release
arch.tar.gz         100%[===================>] 140.58M  81.6MB/s    in 1.7s    
tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.security.capability'
tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.security.capability'
umount: /content/root.x86_64: not mounted
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
==> ERROR:�(B pacman configuration file '/etc/pacman.conf' not found.�(B
./create-arch-bootstrap.sh: line 162: /content/root.x86_64/etc/pacman.d/gnupg/gpg.conf: No such file or directory
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
==> ERROR:�(B pacman configuration file '/etc/pacman.conf' not found.�(B
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
==> ERROR:�(B pacman configuration file '/etc/pacman.conf' not found.�(B
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
==> ERROR:�(B pacman configuration file '/etc/pacman.conf' not found.�(B
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
error: failed to initialize alpm library:
(root: /, dbpath: /var/lib/pacman/)
could not find or read directory
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
error: config file /etc/pacman.d/chaotic-mirrorlist could not be read: No such file or directory
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
error: config file /etc/pacman.d/chaotic-mirrorlist could not be read: No such file or directory
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
error: config file /etc/pacman.d/chaotic-mirrorlist could not be read: No such file or directory
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Generating locales...
/bin/locale-gen: line 33: sed: command not found
  .UTF-8/bin/locale-gen: line 35: sed: command not found
.../bin/locale-gen: line 38: sed: command not found
umount: /content/root.x86_64/proc: not mounted.
umount: /content/root.x86_64/sys: not mounted.
umount: /content/root.x86_64/dev/pts: no mount point specified.
umount: /content/root.x86_64/dev/shm: no mount point specified.
umount: /content/root.x86_64/dev: not mounted.
ln: failed to create symbolic link '/content/root.x86_64/etc/fonts/conf.d': No such file or directory
HDone

Have you seen this error before?
Thank you

Fails to unmount sometimes.

mount on host shows this

squashfuse on /tmp/conty.sh_user_9555/mnt type fuse.squashfuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)

but I don't have conty running anywhere.

Maybe use trap exit_handler EXIT to make it more robust?

Set a timezone in conty?

Is there a way to set the timezone within the container? It seems to default to UTC (which is what my hardware clock is set to), which is a minor annoyance when you see things like save times in Steam (#firstworldproblems, I know). I attempted to bind my /etc/localtime within the container, but I got an error about a read-only filesystem. I also tried using timedatectl, but it couldn't connect to PID 1.

Do you have any suggestions (or something obvious I'm missing)?

Keeping up to date

I'm using conty on Slackware64 to run Steam without having to convert to multilib. It works really well (including sound) and detected & used an attached PS3 controller, so all good. Thanks.

However I'm concerned about keeping conty's own software up to date. Since it's based on Arch Linux, I tried running pacman but that failed with:

chris@d8:~$ conty.sh pacman
Running Conty

error: failed to initialize alpm library
(could not find or read directory: /var/lib/pacman/)

I guess while conty is under active development, I can just download the latest version whenever there's a new download. However they'll be fewer & fewer as everything becomes stable. Therefore, how to keep conty's built in packages up to date?

Vulkan Initialization Problems

Just recently installed the latest version of conty (1.21) and am trying to use it to execute multilib applications such as Steam. Upon running ./conty.sh steam, I encounter the following error:

vkEnumeratePhysicalDevices failed, unable to init and enumerate GPUs with Vulkan.
BInit - Unable to initialize Vulkan!

Steam itself loads right up and everything works as expected. However, upon launching a game it will begin launching and then immediately crash. Take DS3 for example, which launches to a white screen while the cursor changes color and then immediately crashes. The error log includes the following lines:

ERROR: ld.so: object '/home/irondeau/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/irondeau/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/irondeau/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/irondeau/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/irondeau/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.

which also happens to be thrown when I run the game Hollow Knight (which is supposed to run natively on Linux). I am unsure if the two errors above are related.

The next most natural debugging step is to run ./conty.sh vulkaninfo whose ouput is this:

ERROR: [Loader Message] Code 0 : loader_scanned_icd_add: Could not get 'vkCreateInstance' via 'vk_icdGetInstanceProcAddr' for ICD libGLX_nvidia.so.0
ERROR: [Loader Message] Code 0 : setup_loader_term_phys_devs:  Failed to detect any valid GPUs in the current config
ERROR at /build/vulkan-tools/src/Vulkan-Tools-1.3.217/vulkaninfo/vulkaninfo.h:231:vkEnumeratePhysicalDevices failed with ERROR_INITIALIZATION_FAILED

The glxgears command works fine, so I assume the driver configuration is correct (using nouveau drivers). Firefox also works perfectly fine.

I appreciate your help, and thank you for building this awesome tool.

Distro Void Linux with Musl
Display Server Xorg
Window Manager dwm

Steam and `proton-ge-custom-bin`

Hi, I use conty for a few months with the following PKGBUILD (nothing fancy there):

PKGBUILD
pkgname=conty-lite
pkgver=1.16
pkgrel=1
pkgdesc="Easy to use unprivileged Linux container as a single squash'ed executable"
arch=(x86_64)
url="https://github.com/Kron4ek/Conty"
license=(MIT)
provides=(steam wine winetricks)
conflicts=(steam wine winetricks)
depends=(fuse2)
optdepends=(squashfuse bubblewrap)
source=("$pkgname-$pkgver.sh::$url/releases/download/$pkgver/conty_lite.sh")
sha256sums=('f068a41786d26a39bcf24e049a3d832ca1ad0de825dcec8628c4ecae5f84a3b3')
noextract=("$pkgname-$pkgver.sh")
options=(!strip)

package() {
    install -Dm 755 "$pkgname-$pkgver.sh" "$pkgdir/usr/bin/conty_lite"

    for exe in steam steam-runtime steam-native wine wine64 wineserver winetricks; do
        ln -s "/usr/bin/conty_lite" "$pkgdir/usr/bin/${exe}"
        chmod 755 "$pkgdir/usr/bin/${exe}"
    done
}

I also have AUR package for Proton GE installed - proton-ge-custom-bin (it installs Proton to /usr/share/steam/compatibilitytools.d/proton-ge-custom)

However, Steam (launched with /usr/bin/steam-runtime) won't see Proton GE as a compatibility tool. Maybe you can spot some glaring omissions in this setup?


If I remember correctly it was fine when I used usual Arch's Steam + multilib.


Also If I copy /usr/share/steam/compatibilitytools.d/proton-ge-custom to ~/.steam/steam/compatibilitytools.d/, Steam sees Proton GE.

How to solve errors of the form: [library] version [something] not found (required by [library])

In particular, this happened to me when trying to run the Prey (2006) linux port, and Shadowgrounds Survivor port, both of which are 32bit. For the latter in particular, the error is:
Running Conty ./survivor-bin: /home/user/Downloads/SHADOWGROUNDS/lib/libstdc++.so.6: version 'CXXABI_1.3.8' not found (required by /usr/lib32/libGLU.so.1)
Usually the the issue is solved by prefixing LD_LIBRARY_PATH like here, but I can't get that to work. I don't have 32bit libraries on my system (why I use conty to begin with), so I can't set the system LD_LIBRARY_PATH, but conty has them. Unfortunately, when trying to execute something like ./conty.sh export ... bwrap informs me that execvp export: No such file or directory.

Conty update

Not an issue. Скорее фичреквест, предлагаю сделать апдейт прямо внутри контейнера, чтобы не качать гиг с гитхаба каждый релиз.

Make libraries available in vanilla bottles

This is somewhat related, I figured this is the best place to ask.

I've been trying to figure out bottles, and it seems to be mostly working. I can run certain applications just fine, but others don't seem to work.

My question would be:
Considering you are a developer who specializes in wine, is it possible to get a simple list (as well as files for DLLs) of dependencies/dlls that you have in conty? I was able to get a certain application in vanilla wine (not vanigla) from fedora repos, but I just can't seem to get it working in bottles. My guess is that I'm missing some dependencies, (be it something wine requires or a DLL), but I just can't seem to find what they would even be. I could theoretically use procmon under windows to find what DLLS the program is calling, but that would be incredibly tedious. I'm hoping it's just a simple matter of something I'm doing wrong.

What would be incredibly helpful is a custom bottles 'template', so to speak, a bottle with the dependencies that conty uses, which can be imported using bottles backup and import features to create an environment which has everything ready to go.

I think the alternative would be to just use conty, but I'd prefer to use bottles mainly because of nvidia drivers being a headache. Otherwise I'd just go ahead and use your amazing project here. (And yes- I'm on the proprietary drivers, since there are some big things broken on my specific device when using oss drivers).

Hope you can help- but if not, no worries. I just figured you might have this information on hand, rather than me spending hours scraping the internet. In case you're curious, I'm trying to run reMarkable desktop client- but also some windows games later on.

How to Install Software

I'm trying to debug a HandBrake issue and I wanted to try running a later version through Conty than what I can run on my host distro due to older libraries. I'm not too familiar with Arch, but found pacman -S handbrake complains that I'm not root. Both sudo and su seem to not be configured.

Is it possible to install software like HandBrake to the conty system? I suppose I'm fine also compiling manually, but I wouldn't be able to install it to the system without root.

Also, does root work within the container? If so, how do I become root or gain root privileges?

Thanks for the great container! I use it most days for steam (I didn't want to take my host distro multilib).

X Error of failed request: BadValue

I am getting the following X error while running steam or glxgears or anything related:

./conty.sh glxgears
Running Conty

X Error of failed request:  BadValue (integer parameter out of range for operation)

Anything i could do to resolve this? Thanks!

Linux Mint 20.2 with proprietary NVIDIA drivers 460.

Does building require Arch-linux usage?

Hi,

I'm trying to build the 1.9GB full-binary in Fedora 35.
After running create-arch-bootstrap.sh then create-conty.sh, I got a 170MB conty.sh.

Does the script require running it under Arch-linux?

Use external libraries within conty

I am trying to use a 32bit application which requires one of its libraries pasted into /usr/lib, but as conty uses its own libraries, this makes the application unusable (conty does not have this lib). How can I tell conty to access this library, alongside its own, or how can I add this library to conty?

Cannot access file /usr/share/alsa/alsa.conf

during some tests with other users, one of them using voidlinux reported the following situation:

ALSA lib conf.c:4133:(snd_config_update_r) Cannot access file /usr/share/alsa/alsa.conf
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM default
ALSA lib conf.c:4133:(snd_config_update_r) Cannot access file /usr/share/alsa/alsa.conf
ALSA lib control.c:1471:(snd_ctl_open_noupdate) Invalid CTL hw:0
ALSA lib conf.c:4133:(snd_config_update_r) Cannot access file /usr/share/alsa/alsa.conf
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM default
ALSA lib conf.c:4133:(snd_config_update_r) Cannot access file /usr/share/alsa/alsa.conf
ALSA lib control.c:1471:(snd_ctl_open_noupdate) Invalid CTL hw:0

and the application won't start, but found strange because running conty's wine sound test, it reproduces sound and alsa.conf file is ok

Porting Steam/ other game servers to Amlogic TV boxes?

Looks good !

Can this be used to port Steam / other game servers to 64 bit ARM OSes like armbian.com on TV boxes with Amlogic SoCs ( S905, S905X, S905W)?

There was an Exagear + Wine emulator for RPi, Odroid, Pine64, Cubieboard and Banana Pi SBCs that supported Windows programs porting including retro games and also CSGO. But it shut down in Feb '19.

Below is an interesting description of Windows to ARM ports, including the Hangover project:

https://gist.github.com/MIvanchev/14de59fa2552d315ac74c30cf1c0b01e

Your insights would be appreciated !

Question about nvidia

Hi,
I've been reading "Known Issues" so I'm trying to create a conty for myself to include the same driver version.
There is no nvidia 340xx driver in the official ARCH repository so I found it in the AUR and compiled 2 packages (nvidia-340xx-utils, lib32-nvidia-340xx-utils) and i think this not helped (tested with glxgears), maybe im missing something?

glxgears

Automatically run matching program when renamed or symlinked

This is a feature request based on what busybox does when linked to the filename of any of its applets. Would be really neat and useful for Conty to support something like that considering all the programs included within it.

So, if I made a link to conty.sh called wine, then the version of Wine included within should run.

requesting package fuse2 even being installed

on the latest release 1.4 (haven't tested previous), when i execute symbolic "wine" for directly execute an application, i receive the message:

Please install fuse2 and run the script again!

but the package are installed:

extra/fuse2 2.9.9-4 [installed]
    A library that makes it possible to implement a filesystem in a userspace program.

Unable to write files to drive Z in Wine

This is specifically an issue when using mp3tag, wherein I can't write any tags to files. This didn't happen with wine-portable-executable, and I can assume this has to do with Conty being perceived as drive Z under the new setup. Is there a way to work around this?

can't run exe file

the exe runs fine with "wine-portable-6.5-staging-amd64.sh" , but with Conty: it doesn't.


my OS is Manjaro Linux KDE
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.