Coder Social home page Coder Social logo

ankit-sinha-18 / bottles Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bottlesdevs/bottles

0.0 0.0 0.0 7.43 MB

🌠 Easily manage 🍷prefix in a new way! (Run Windows software and games on Linux)

Home Page: https://usebottles.com

License: GNU General Public License v3.0

Shell 3.28% Python 93.51% CSS 1.51% Meson 1.70%

bottles's Introduction

Bottles v3

Easily manage wineprefix using environments

Here you can find the old v1.

More about the new UI



Documentation

We are writing the new documentation for Bottles v2.

Help Bottles speak your language πŸ—£οΈ

Read here how to translate Bottles in your language or how to help improve existing ones.

Features

  • Create bottles based on environments (a set of rule and dependencies for better software compatibility)
  • Access to a customizable environment for all your experiments
  • Run every executable (.exe/.msi) in your bottles, using the context menu in your file manager
  • Integrated management and storage for executable file arguments
  • Support for custom environment variables
  • Simplified DLL overrides
  • On-the-fly runner change for any Bottle
  • Various optimizations for better gaming performance (esync, fsync, dxvk, cache, shader compiler, offload .. and much more.)
  • Tweak different wine prefix settings, without leaving Bottles
  • Automated dxvk installation
  • Automatic installation and management of Wine and Proton runners
  • System for checking runner updates for the bottle and automatic repair in case of breakage
  • Integrated Dependencies installer with compatibility check based on a community-driver repository
  • Detection of installed programs
  • Integrated Task manager for wine processes
  • Easy access to ProtonDB and WineHQ for support
  • Configurations update system across Bottles versions
  • Backup bottles as configuration file or full archive
  • Import backup archive
  • Importer from Bottles v1 (and other wineprefix manager)
  • Bottles versioning (experimental)
  • .. and much more that you can find by installing Bottles!

Work in progress

  • Installer manager #55
  • Import backup configuration
  • Optional sandboxed bottles

Install πŸ”§

Disclaimer: This is a development version (alpha), you will find bugs, black holes and monsters under the bed. Be careful.

AppImage πŸ‘€

This is the first official method by which we have chosen to distribute Bottles.

Download the latest Build, then:

chmod +x Bottles-devel-x86_64.AppImage
./Bottles-devel-x86_64.AppImage

And you're done!

Flatpak from Flathub

Flatpak is the second officially supported package format.
Download on Flathub

Unofficial packages

These packages are maitained by our community but not officialy supported.

Distro Package Name/Link Maintainer
Arch Linux bottles-git (AUR) Talebian
Arch Linux bottles (AUR) francescomasala
Tumbleweed bottles WhiXard
Fedora bottles tim77
Void linux bottles andry-dev
NixOS bottles bloomvdomino

Notices for package maintainers

We are happy to see packaged Bottles but we ask you to respect some small rules:

  • The package must be bottles, in other distributions it is possible to use suffixes (e.g. bottles-git on Arch Linux for the git based package) while on others the RDNN format is required (e.g. com.usebottles.bottles on elementary OS and Flathub repository). All other nomenclatures are discouraged.
  • In the current development phase, the version corresponds to the formula (2.commit, e.g. 2.a005f01), where possible use this formula throughout the development phase. For stable and 'stable development' release you can use the version in the VERSION file and its release. Please don't travel into the future with releases. It might confuse users.
  • Do not package external files and do not make changes to the code, no hard script. Obviously with the exception of files essential for packaging. Once the package is published, you can open a Pull Request to add it to the packages table above! Thanks ❀️!

Build with meson πŸ‘·

Instead of use the Appimage you can choose to build your own Bottles from source.

Requirements

  • meson
  • ninja
  • python3
  • glib
    • glib2-devel on Fedora
    • libglib2.0-dev on Debian/Ubuntu

Build

mkdir build
meson build && cd build
ninja -j$(nproc)
sudo ninja install

Uninstall

cd build
sudo ninja uninstall

Flatpak (build)

We provide an initial Flatpak support.
This is a package not fully tested yet, we don't feel like offering full support.

Dependencies

  • org.gnome.Sdk
  • org.gnome.Sdk.Compat.i386
  • org.freedesktop.Sdk.Extension.toolchain-i386

Build

flatpak-builder --repo=bottles --force-clean --user build-dir com.usebottles.bottles.yml
flatpak remote-add --user bottles bottles --no-gpg-verify
flatpak install --user bottles com.usebottles.bottles

Run

flatpak run com.usebottles.bottles

Shortcuts

Shortcut Action
Ctrl+Q Close Bottles
Ctrl+R Reload the Bottles list
F1 Go to the documentation
Esc Go back

Common issues

There are no other problems. Are we good? πŸ‘€

Why a new application? πŸ‘Ά

Bottles was born in 2017 as a personal need. I needed a practical way to manage my wineprefixes. I hate the idea of using applications that install me a version of wine for each application and I decided to create this application, based on the concept of using one or more wine prefixes as a "container" for all my applications.

In 2020 thanks to Valve, we have access to Proton. An optimized version of Wine for gaming. Thanks also to other projects like DXVK/VKD3D/Esync/Fsync/Shader compiler and others, we can run a large set of video games designed for Windows, on Linux.

The idea of creating an environment-based wineprefix manager comes from the standardization of dependencies and parameters necessary to run a game. On the other hand, we have software (often not up to date) that require environments and configurations different from those used in gaming. Hence the idea of managing separate environments.

Why not just POL or Lutris? πŸ€“

Because they are similar but different applications. I want to create environments that contain more applications and games and where the wine version can be updated.

I also want to be able to export my bottles allowing easy sharing, with or without applications. In POL/Lutris we have the concept of "with this version of wine and these changes it works". In Bottles the concept is "this is my wine bottle, I want to install this software".

The goal with this version is also to integrate with the system in the best possible way. Being able to decide in a few bottles to run an .exe/.msi file and have control over it without having to open Bottles for each operation.

Bottles is close to what wineprefix means, since v.2 it provides a simplified method to generate environment-based bottles and thanks to other tools it simplifies the management but nothing more.

Why Appimage? 🎈

On December 3, 2020 we announced our intentions to migrate to Appimage as the official format for Bottles distribution. Read more.

Where is Winetricks?! :rage4:

There is not. There will never be. Read here our reasons and how we want to revolutionize the way we install dependencies in Bottles.

When? 😡

Now. Bottles stable releases are already available, read the Installation section of this file.

Older versions will be deprecated? 😎

Maybe in the future, not now. I will keep both branches updated for a long time.

Backward compatibility 😀

Probably yes. I would like to allow the conversion of the old wine prefixes in v.2.

Unlike the previous versions, now the bottles are saved with JSON sheets containing all the instructions and settings, such as the version of wine/proton in use, the various active flags etc.

bottles's People

Contributors

mirkobrombin avatar francescomasala avatar hthre7 avatar filipegarrett avatar comradekingu avatar akechishiro avatar lvaskz avatar eson57 avatar mclvren avatar jannuary avatar oscfdezdz avatar catsout avatar rffontenelle avatar salehgnutux avatar jakubfabijan avatar gabmus avatar tim77 avatar akshgpt7 avatar farribeiro avatar weblate avatar marckniack avatar vscsilva avatar zaafonin avatar andrelomba86 avatar

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.