### Run Bottles from System Terminal (AppImage) Source: https://docs.usebottles.com/utilities/logs-and-debugger To capture all Bottles and wineprefixes logs, start Bottles from the system terminal. This method requires the terminal to remain open. This example shows how to run an AppImage. ```bash cd /path_to_appimage ./Bottles*.AppImage ``` -------------------------------- ### Querying Documentation via HTTP GET Source: https://docs.usebottles.com/advanced/xdg-open Demonstrates how to perform an HTTP GET request to the documentation page with an 'ask' query parameter to dynamically query for information. ```http GET https://docs.usebottles.com/advanced/xdg-open.md?ask= ``` -------------------------------- ### Install Bottles from Beta Channel Source: https://docs.usebottles.com/getting-started/installation Install the Bottles application from the Flathub beta channel. This command should be run after adding the beta remote. ```bash flatpak install --user flathub-beta com.usebottles.bottles ``` -------------------------------- ### Example: Running Notepad in MyLittleBottle Source: https://docs.usebottles.com/advanced/xdg-open An example demonstrating the full xdg-open command to launch the 'Notepad' program within the 'MyLittleBottle'. This can also be used directly as a URL in a web browser. ```bash xdg-open bottles:run/MyLittleBottle/Notepad ``` -------------------------------- ### Font Dependency Manifest Example Source: https://docs.usebottles.com/contribute/missing-dependencies An example of a dependency manifest for 'allfonts', detailing its metadata and installation steps. This manifest includes actions for extracting CAB files and installing fonts. ```yaml Name: allfonts Description: All Microsoft and Adobe essential fonts Provider: Various License: Mostly Microsoft EULA License_url: https://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm Dependencies: [] Steps: - action: cab_extract file_name: arial32.exe url: https://mirrors.kernel.org/gentoo/distfiles/arial32.exe file_checksum: 9637DF0E91703179F0723EC095A36CB5 - action: cab_extract file_name: arialb32.exe url: https://mirrors.kernel.org/gentoo/distfiles/arialb32.exe file_checksum: C9089AE0C3B3D0D8C4B0A95979BB9FF0 - action: cab_extract file_name: andale32.exe url: https://mirrors.kernel.org/gentoo/distfiles/andale32.exe file_checksum: CBDC2FDD7D2ED0832795E86A8B9EE19A - action: cab_extract file_name: comic32.exe url: https://mirrors.kernel.org/gentoo/distfiles/comic32.exe file_checksum: 2B30DE40BB5E803A0452C7715FC835D1 - action: cab_extract file_name: courie32.exe url: https://mirrors.kernel.org/gentoo/distfiles/courie32.exe file_checksum: 4E412C772294403AB62FB2D247D85C60 - action: cab_extract file_name: georgi32.exe url: https://mirrors.kernel.org/gentoo/distfiles/georgi32.exe file_checksum: 4D90016026E2DA447593B41A8D8FA8BD - action: cab_extract file_name: impact32.exe url: https://mirrors.kernel.org/gentoo/distfiles/impact32.exe file_checksum: 7907C7DD6684E9BADE91CFF82683D9D7 - action: cab_extract file_name: times32.exe url: https://mirrors.kernel.org/gentoo/distfiles/times32.exe file_checksum: ED39C8EF91B9FB80F76F702568291BD5 - action: cab_extract file_name: trebuc32.exe url: https://mirrors.kernel.org/gentoo/distfiles/trebuc32.exe file_checksum: 0D7EA16CAC6261F8513A061FBFCDB2B5 - action: cab_extract file_name: verdan32.exe url: https://mirrors.kernel.org/gentoo/distfiles/verdan32.exe file_checksum: 12D2A75F8156E10607BE1EAA8E8EF120 - action: cab_extract file_name: webdin32.exe url: https://mirrors.kernel.org/gentoo/distfiles/webdin32.exe file_checksum: 230A1D13A365B22815F502EB24D9149B - action: install_cab_fonts url: temp/arial32 fonts: - Ariali.TTF - Arialbd.TTF - Arialbi.TTF - Arial.TTF - action: install_cab_fonts url: temp/arialb32 fonts: - AriBlk.TTF - action: install_cab_fonts url: temp/arial32 fonts: - Ariali.TTF - Arialbd.TTF - Arialbi.TTF - Arial.TTF - action: install_cab_fonts url: temp/andale32 fonts: - AndaleMo.TTF - action: install_cab_fonts url: temp/comic32 fonts: - Comicbd.TTF - Comic.TTF - action: install_cab_fonts url: temp/courie32 fonts: - cour.ttf - courbd.ttf - courbi.ttf - couri.ttf - action: install_cab_fonts url: temp/georgi32 fonts: - Georgiaz.TTF - Georgiab.TTF - Georgiai.TTF - Georgia.TTF - action: install_cab_fonts url: temp/arial32 fonts: - Ariali.TTF - Arialbd.TTF - Arialbi.TTF - Arial.TTF - action: install_cab_fonts url: temp/impact32 fonts: - Impact.TTF - action: install_cab_fonts url: temp/times32 fonts: - Times.TTF - Timesbd.TTF - Timesbi.TTF - Timesi.TTF - action: install_cab_fonts url: temp/trebuc32 fonts: - trebuc.ttf - Trebucbd.ttf - trebucbi.ttf - trebucit.ttf - action: install_cab_fonts url: temp/verdan32 fonts: - Verdanab.TTF - Verdanai.TTF - Verdanaz.TTF - Verdana.TTF - action: install_cab_fonts url: temp/webdin32 fonts: - Webdings.TTF ``` -------------------------------- ### Build and Install Bottles Manually Source: https://docs.usebottles.com/getting-started/installation Build and install Bottles manually using flatpak-builder. This process involves creating a local repository and then installing the application. ```bash 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 ``` -------------------------------- ### Example State Index Source: https://docs.usebottles.com/bottles/versioning This JSON object represents a state index created by the versioning system, showing added files after installing a font. ```json { "Update_Date": "2021-07-02 21:52:18.906569", "Additions": [ { "file": "windows/Fonts/Comic.TTF", "checksum": "a50f9c96a76356e3d01013e0b042989f" }, { "file": "windows/Fonts/ComicBD.TTF", "checksum": "81d64ec3675c4adc14e9ad2c5c8103a7" } ], "Removed": [], "Changes": [] } ``` -------------------------------- ### Querying Documentation Dynamically Source: https://docs.usebottles.com/bottles/installers To get more information not directly on the page, make an HTTP GET request with an 'ask' query parameter. The question should be specific and in natural language. ```bash GET https://docs.usebottles.com/bottles/installers.md?ask= ``` -------------------------------- ### Launch Bottles CLI with Help (Other Packages) Source: https://docs.usebottles.com/advanced/cli Launches the Bottles CLI with the --help argument for non-Flatpak installations. This displays all available commands and options. ```bash bottles-cli --help ``` -------------------------------- ### Launch Bottles CLI with Help (Flatpak) Source: https://docs.usebottles.com/advanced/cli Launches the Bottles CLI with the --help argument when installed as a Flatpak. This displays all available commands and options. ```bash flatpak run --command=bottles-cli com.usebottles.bottles --help ``` -------------------------------- ### Query Documentation via HTTP GET Source: https://docs.usebottles.com/flatpak/expose-directories To get dynamic information not explicitly present on a page, send an HTTP GET request to the page URL with an 'ask' query parameter containing your question. ```http GET https://docs.usebottles.com/flatpak/expose-directories.md?ask= ``` -------------------------------- ### Dependency Index File Example Source: https://docs.usebottles.com/contribute/missing-dependencies The index.yml file lists all available dependencies, their descriptions, and categories. This serves as a central registry for managing dependencies. ```yaml vcredist2013: Description: Microsoft Visual C++ Redistributable (2013) 12.0 Category: Essentials vcreditst2015: Description: Microsoft Visual C++ Redistributable (2015) Category: Essentials vcredist2019: Description: Microsoft Visual C++ Redistributable (2015-2019) 14.28.29325 Category: Essentials ``` -------------------------------- ### Querying Documentation Dynamically Source: https://docs.usebottles.com/getting-started/first-run To get more information not directly on the page, you can use the `ask` query parameter with an HTTP GET request. This is useful for clarifying details or finding related documentation. ```http GET https://docs.usebottles.com/getting-started/first-run.md?ask= ``` -------------------------------- ### Query Documentation Dynamically Source: https://docs.usebottles.com/bottles/run-.exe-.msi-.bat-.lnk-files To get more information not directly on this page, make an HTTP GET request to the documentation URL with an 'ask' query parameter containing your question. ```http GET https://docs.usebottles.com/bottles/run-.exe-.msi-.bat-.lnk-files.md?ask= ``` -------------------------------- ### Querying Documentation Source: https://docs.usebottles.com/advanced/use-bottles-as-wine-command Perform an HTTP GET request with the 'ask' query parameter to dynamically query the documentation for additional information. ```http GET https://docs.usebottles.com/advanced/use-bottles-as-wine-command.md?ask= ``` -------------------------------- ### Query Documentation via HTTP GET Request Source: https://docs.usebottles.com/flatpak/migrate-bottles-to-flatpak Perform an HTTP GET request on the current page URL with the 'ask' query parameter to dynamically query the documentation. The question should be specific and self-contained. ```http GET https://docs.usebottles.com/flatpak/migrate-bottles-to-flatpak.md?ask= ``` -------------------------------- ### Programs Interface Help Source: https://docs.usebottles.com/advanced/cli Displays the usage information for the 'programs' interface, which lists programs installed within a specified bottle. Requires the bottle name. ```bash bottles-cli programs [-h] -b BOTTLE ``` -------------------------------- ### Querying Documentation Dynamically Source: https://docs.usebottles.com/bottles/versioning Demonstrates how to query the documentation dynamically using an HTTP GET request with the 'ask' query parameter. This is useful for retrieving specific information not explicitly present on the current page. ```http GET https://docs.usebottles.com/bottles/versioning.md?ask= ``` -------------------------------- ### Install Flatseal via Flatpak Source: https://docs.usebottles.com/flatpak/expose-directories Install Flatseal, a GUI tool for managing Flatpak permissions, using the Flatpak command-line interface. This is an alternative to manual overrides for more complex configurations. ```bash flatpak install flathub com.github.tchx84.Flatseal ``` -------------------------------- ### Get Backtrace for All Running Processes (winedbg) Source: https://docs.usebottles.com/utilities/logs-and-debugger Use the 'bt all' command within the Wine Debugger Console (winedbg) to get the backtrace of all running processes in the wineprefix. ```bash bt all ``` -------------------------------- ### Query Documentation Dynamically Source: https://docs.usebottles.com/bottles/import-from-other-managers To get additional information not directly present on the page, perform an HTTP GET request with the 'ask' query parameter. The question should be specific and in natural language. ```HTTP GET https://docs.usebottles.com/bottles/import-from-other-managers.md?ask= ``` -------------------------------- ### Query Documentation Dynamically Source: https://docs.usebottles.com/bottles/preferences To get additional information not directly on the page, make an HTTP GET request to the current page URL with the 'ask' query parameter. The question should be specific and in natural language. ```http GET https://docs.usebottles.com/bottles/preferences.md?ask= ``` -------------------------------- ### Query Documentation Dynamically Source: https://docs.usebottles.com/utilities/cmd Perform an HTTP GET request to query documentation dynamically. The question should be specific and in natural language. Use this when the answer is not explicitly present or for clarification. ```http GET https://docs.usebottles.com/utilities/cmd.md?ask= ``` -------------------------------- ### Querying Documentation via API Source: https://docs.usebottles.com/advanced To get specific information not found on the current page, make a GET request to the page URL with an 'ask' query parameter. The question should be clear and in natural language. ```http GET https://docs.usebottles.com/advanced.md?ask= ``` -------------------------------- ### Query Documentation with 'ask' Parameter Source: https://docs.usebottles.com/utilities/winecfg To get specific information not directly present on the page, make an HTTP GET request to the current page URL and include your question in the 'ask' query parameter. The response will provide a direct answer along with relevant excerpts and sources. ```http GET https://docs.usebottles.com/utilities/winecfg.md?ask= ``` -------------------------------- ### Query Documentation Dynamically Source: https://docs.usebottles.com/bottles/configuration-files Perform an HTTP GET request to query the documentation dynamically. Use this when the answer is not explicitly present, you need clarification, or want to retrieve related sections. ```http GET https://docs.usebottles.com/bottles/configuration-files.md?ask= ``` -------------------------------- ### List Programs in a Bottle in JSON Source: https://docs.usebottles.com/advanced/cli Use the --json flag with the 'programs' interface to get a detailed list of executables within a specific bottle. The output includes executable name, path, arguments, and other metadata. ```bash bottles-cli --json programs -b MyBottle [{"executable": "Battle.net.exe", "arguments": "", "name": "Battle.net", "path": "C:\\Program Files (x86)\\Battle.net\\Battle.net.exe", "folder": "", "icon": "", "script": null, "removed": null}, {"executable": "EpicGamesLauncher.exe", "arguments": "-opengl -SkipBuildPatchPrereq", "name": "Epic Games Store", "path": "C:\\Program Files (x86)\\Epic Games\\Launcher\\Portal\\Binaries\\Win32\\EpicGamesLauncher.exe", "folder": "", "icon": "", "script": null, "removed": null}, {"executable": "GalaxyClient.exe", "arguments": "--in-process-gpu /runWithoutUpdating /deelevated", "name": "GOG Galaxy", "path": "C:\\Program Files (x86)\\GOG Galaxy\\GalaxyClient.exe", "folder": "", "icon": "", "script": null, "removed": null}] ``` -------------------------------- ### Custom wine command script (Flatpak) Source: https://docs.usebottles.com/advanced/use-bottles-as-wine-command Use this script to set Bottles as the system WINE command when installed via Flatpak. Ensure no other WINE installation exists on your system. Replace 'MyBottle' with your desired bottle name. ```shell #!/bin/sh flatpak run --command='bottles-cli' com.usebottles.bottles run -b MyBottle -e "$@" ``` -------------------------------- ### Custom wine command script (Native) Source: https://docs.usebottles.com/advanced/use-bottles-as-wine-command Use this script to set Bottles as the system WINE command when installed natively. Ensure no other WINE installation exists on your system. Replace 'MyBottle' with your desired bottle name. ```shell #!/bin/sh bottles-cli run -b MyBottle -e "$@" ``` -------------------------------- ### Continue Process and Set Break on First Chance (winedbg) Source: https://docs.usebottles.com/utilities/logs-and-debugger After attaching to a process in winedbg, use 'set $BreakOnFirstChance=0' and 'cont' to continue execution. This setup helps in capturing backtraces upon crashes. ```bash set $BreakOnFirstChance=0 cont ``` -------------------------------- ### Run Bottles Manually Source: https://docs.usebottles.com/getting-started/installation Run the Bottles application after it has been manually built and installed. This command is used to launch the application from the command line. ```bash flatpak run com.usebottles.bottles ``` -------------------------------- ### Granting Access for Non-Flatpak Steam Source: https://docs.usebottles.com/flatpak/cant-enable-steam-proton-manager Use this command if your Steam installation is not a Flatpak. This allows Bottles to access the Steam data directory. ```bash flatpak override --user com.usebottles.bottles --filesystem=xdg-data/Steam ``` -------------------------------- ### Navigate to Bottles Flatpak Data Directory Source: https://docs.usebottles.com/flatpak/expose-directories/use-system-home This command navigates to the specific directory within the Flatpak installation where Bottles stores its data. This is a prerequisite for modifying bottle configurations. ```bash cd ~/.var/app/com.usebottles.bottles/data/bottles/bottles ``` -------------------------------- ### Add Flathub Beta Remote Source: https://docs.usebottles.com/getting-started/installation Add the Flathub beta remote to your system to access beta versions of applications. This command is used before installing from the beta channel. ```bash flatpak remote-add --user flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo flatpak update --appstream ``` -------------------------------- ### Tools Interface Help Source: https://docs.usebottles.com/advanced/cli Displays the usage information for the 'tools' interface, which allows launching WINE utilities within a specified bottle. Requires the bottle name and the tool to launch. ```bash bottles-cli tools [-h] -b BOTTLE {cmd,winecfg,uninstaller,regedit,taskmgr,control,explorer} ``` -------------------------------- ### Query Documentation Dynamically Source: https://docs.usebottles.com/utilities/regedit Use this method to ask questions about the documentation. The response includes direct answers and relevant excerpts. ```http GET https://docs.usebottles.com/utilities/regedit.md?ask= ``` -------------------------------- ### Create a New Bottle Source: https://docs.usebottles.com/advanced/cli The 'new' command creates a new bottle with specified configurations. You must provide a bottle name and the desired environment (e.g., gaming, application). Additional options allow customization of architecture, runner, and compatibility layers like DXVK, VKD3D, NVAPI, and LatencyFlex. ```bash usage: bottles-cli new [-h] --bottle-name BOTTLE_NAME --environment ENVIRONMENT [--custom-environment CUSTOM_ENVIRONMENT] [--arch ARCH] [--runner RUNNER] [--dxvk DXVK] [--vkd3d VKD3D] [--nvapi NVAPI] [--latencyflex LATENCYFLEX] optional arguments: -h, --help show this help message and exit --bottle-name BOTTLE_NAME Bottle name --environment ENVIRONMENT Envorinment to apply (gaming|application|custom) --custom-environment CUSTOM_ENVIRONMENT Path to a custom environment.yml file --arch ARCH Architecture (win32|win64) --runner RUNNER Name of the runner to be used --dxvk DXVK Name of the dxvk to be used --vkd3d VKD3D Name of the vkd3d to be used --nvapi NVAPI Name of the dxvk-nvapi to be used --latencyflex LATENCYFLEX Name of the latencyflex to be used ``` -------------------------------- ### Query Documentation Dynamically Source: https://docs.usebottles.com/utilities/uninstaller Use this method to ask specific questions about the documentation. The response includes direct answers and relevant excerpts. ```http GET https://docs.usebottles.com/utilities/uninstaller.md?ask= ``` -------------------------------- ### Get Health Check Info in JSON Source: https://docs.usebottles.com/advanced/cli Use the --json flag with the 'info health-check' command to get system and graphics information in JSON format. This is useful for diagnostics and automation. ```bash bottles-cli --json info health-check {"Display": {"X.org": true, "X.org (port)": ":99.0", "Wayland": false}, "Graphics": {"vendors": {"nvidia": {"vendor": "nvidia", "envs": {"__NV_PRIME_RENDER_OFFLOAD": "1", "__GLX_VENDOR_LIBRARY_NAME": "nvidia", "__VK_LAYER_NV_optimus": "NVIDIA_only"}, "icd": "/usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/nvidia_icd.json:/usr/lib/i386-linux-gnu/GL/vulkan/icd.d/nvidia_icd.json"}, "amd": {"vendor": "amd", "envs": {"DRI_PRIME": "1"}, "icd": "/usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/radeon_icd.x86_64.json:/usr/lib/i386-linux-gnu/GL/vulkan/icd.d/radeon_icd.i686.json"}}, "prime": {"integrated": {"vendor": "amd", "envs": {"DRI_PRIME": "1"}, "icd": "/usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/radeon_icd.x86_64.json:/usr/lib/i386-linux-gnu/GL/vulkan/icd.d/radeon_icd.i686.json"}, "discrete": {"vendor": "nvidia", "envs": {"__NV_PRIME_RENDER_OFFLOAD": "1", "__GLX_VENDOR_LIBRARY_NAME": "nvidia", "__VK_LAYER_NV_optimus": "NVIDIA_only"}, "icd": "/usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/nvidia_icd.json:/usr/lib/i386-linux-gnu/GL/vulkan/icd.d/nvidia_icd.json"}}}, "Kernel": {"Type": "Linux", "Version": "5.16.15-201.fc35.x86_64"}, "Distro": {"Name": "GNOME", "Version": "\"42 (Flatpak runtime)\""}, "Tools": {"cabextract": true, "p7zip": true, "patool": true, "glibc_min": "2.33"}, "Bottles_envs": null} ``` -------------------------------- ### List Processes in Wineprefix (winedbg) Source: https://docs.usebottles.com/utilities/logs-and-debugger Use the 'info process' command in winedbg to list all active processes within the wineprefix, displaying their PIDs and executable names. ```bash Wine-dbg>info process pid threads executable (all id:s are in hex) 0000010c 2 'conhost.exe' 000000fc 1 'npp.7.9.2.Installer.exe' 00000060 3 'explorer.exe' 00000038 7 'services.exe' 000000cc 6 \_ 'rpcss.exe' 000000a4 3 \_ 'svchost.exe' 00000080 5 \_ 'winedevice.exe' 00000068 5 \_ 'plugplay.exe' 00000044 4 \_ 'winedevice.exe' ``` -------------------------------- ### GStreamer Plugin Missing Error Source: https://docs.usebottles.com/faq/video-gstreamer-problems This error message indicates that your GStreamer installation is missing a required plugin for decoding a specific video format, such as Advanced Streaming Format (ASF). Installing the necessary GStreamer plugins should resolve this. ```text winegstreamer error: decodebin0: Your GStreamer installation is missing a plug-in. winegstreamer error: decodebin0: ../gst/playback/gstdecodebin2.c(4701): gst_decode_bin_expose (): /GstBin:bin0/GstDecodeBin:decodebin0: no suitable plugins found: Missing decoder: Advanced Streaming Format (ASF) (video/x-ms-asf) ``` -------------------------------- ### List Interface Help Source: https://docs.usebottles.com/advanced/cli Displays the usage information for the 'list' interface of the Bottles CLI, detailing entity types like 'bottles' and 'components'. ```bash bottles-cli list [-h] [-f FILTER] {bottles,components} ``` -------------------------------- ### Run .EXE/.MSI/.BAT from CLI Source: https://docs.usebottles.com/bottles/run-.exe-.msi-.bat-.lnk-files Use this command to execute .exe, .msi, or .bat files within a specified bottle via the command line. The GUI will not be displayed. ```bash bottles -b bottle_name -e /full/executable/path ``` -------------------------------- ### Basic xdg-open Syntax Source: https://docs.usebottles.com/advanced/xdg-open General syntax for the xdg-open command to open files or URLs. ```bash xdg-open {file | URL} ``` -------------------------------- ### Customize Program Launch Arguments Source: https://docs.usebottles.com/bottles/programs Use the %command% placeholder to define custom arguments, prefixes, or suffixes for program execution within Bottles. ```bash my_command %command% -flag1 -flag2 ``` -------------------------------- ### Run .LNK from CLI Source: https://docs.usebottles.com/bottles/run-.exe-.msi-.bat-.lnk-files Use this command to execute .lnk files within a specified bottle via the command line. The GUI will not be displayed. ```bash bottles -b bottle_name -l /full/lnk/path ``` -------------------------------- ### Run an Executable or Program in a Bottle Source: https://docs.usebottles.com/advanced/cli The 'run' command launches an executable within a specified bottle or runs a pre-registered program. You need to provide the bottle name. Optionally, specify the executable path, arguments to pass, or the program name registered in the bottle. ```bash usage: bottles-cli run [-h] -b BOTTLE [-e EXECUTABLE] [-a ARGS] [-p PROGRAM] optional arguments: -h, --help show this help message and exit -b BOTTLE, --bottle BOTTLE Bottle name -e EXECUTABLE, --executable EXECUTABLE Path to the executable -a ARGS, --args ARGS Arguments to pass to the executable -p PROGRAM, --program PROGRAM Program to run ``` -------------------------------- ### Granting Access for Flatpak Steam Source: https://docs.usebottles.com/flatpak/cant-enable-steam-proton-manager Use this command if your Steam installation is also a Flatpak. This command grants Bottles access to the Steam data directory within the Flatpak environment. ```bash flatpak override --user com.usebottles.bottles --filesystem=~/.var/app/com.valvesoftware.Steam/data/Steam ``` -------------------------------- ### Info Interface Help Source: https://docs.usebottles.com/advanced/cli Displays the usage information for the 'info' interface of the Bottles CLI, detailing available sub-commands like 'bottles-path' and 'health-check'. ```bash bottles-cli info [-h] {bottles-path,health-check} ``` -------------------------------- ### Reg Interface Help Source: https://docs.usebottles.com/advanced/cli Displays the usage information for the 'reg' interface, used for managing the Windows registry within a bottle. Requires bottle name, key, and action. ```bash bottles-cli reg [-h] -b BOTTLE -k KEY -v VALUE [-d DATA] [-t {REG_DWORD,REG_SZ,REG_BINARY,REG_MULTI_SZ}] {add,edit,del} ``` -------------------------------- ### Add a Program to a Bottle Source: https://docs.usebottles.com/advanced/cli Use the 'add' command to register a new program within a specified bottle. This command requires the bottle name, program name, and the path to the program executable. Optional launch options and flags to disable specific compatibility layers can also be provided. ```bash usage: bottles-cli add [-h] -b BOTTLE -n NAME -p PATH [-l LAUNCH_OPTIONS] [--no-dxvk] [--no-vkd3d] [--no-dxvk-nvapi] optional arguments: -h, --help show this help message and exit -b BOTTLE, --bottle BOTTLE Bottle name -n NAME, --name NAME Program name -p PATH, --path PATH Program path -l LAUNCH_OPTIONS, --launch-options LAUNCH_OPTIONS Program launch options --no-dxvk Disable DXVK for the program --no-vkd3d Disable VKD3D for the program --no-dxvk-nvapi Disable DXVK Nvapi for the program ``` -------------------------------- ### Run Bottles with System GStreamer Source: https://docs.usebottles.com/faq/video-gstreamer-problems Use this command to run Bottles and force it to use the system's GStreamer plugins instead of bundled ones. This can resolve issues caused by outdated embedded plugins. ```bash BOTTLES_USE_SYSTEM_GSTREAMER=1 bottles ``` -------------------------------- ### Navigate to Bottle User Directory and List Contents Source: https://docs.usebottles.com/flatpak/expose-directories/use-system-home This command navigates into the user directory of a specific bottle and lists its contents. This helps in identifying the folders that can be exposed. ```bash cd Testing/drive_c/users/your_username/ && ls -l ``` -------------------------------- ### Bottles URL Syntax for Running Programs Source: https://docs.usebottles.com/advanced/xdg-open The specific URL format required to instruct Bottles to run a program within a designated bottle. ```plaintext bottles:run// ``` -------------------------------- ### Grant Desktop Entry Permissions (Flatpak) Source: https://docs.usebottles.com/bottles/programs This command grants the Bottles Flatpak permission to generate desktop entries by allowing access to xdg-data/applications. Close Bottles before running. ```bash flatpak override com.usebottles.bottles --user --filesystem=xdg-data/applications ``` -------------------------------- ### Download Bottles Source Code Source: https://docs.usebottles.com/getting-started/installation Download the latest source code for Bottles from GitHub and extract it. This is the first step in the manual build process. ```bash wget -O bottles-source.zip https://github.com/bottlesdevs/Bottles/archive/main.zip unzip bottles-source.zip cd Bottles-main ``` -------------------------------- ### Recreate Folder as Symlink to System Home Source: https://docs.usebottles.com/flatpak/expose-directories/use-system-home This command recreates a folder (e.g., 'Documents') within the bottle as a symbolic link pointing to the corresponding folder in your system's home directory. This exposes your system files to the bottle. ```bash ln -s ~/Documents Documents ``` -------------------------------- ### List Components with Category Filter Source: https://docs.usebottles.com/advanced/cli Lists components, filtering by a specific 'category'. This is useful for finding components like DXVK within a bottle. ```bash bottles-cli list components -f category:dxvk ``` -------------------------------- ### Copy Old Bottles Data to Flatpak Directory Source: https://docs.usebottles.com/flatpak/migrate-bottles-to-flatpak Use this command to copy all contents from the old Bottles directory to the new Flatpak data directory. The 'yes' command pre-emptively answers 'yes' to any prompts. ```bash # make a copy yes | cp -rf \ ~/.local/share/bottles/* \ ~/.var/app/com.usebottles.bottles/data/bottles ``` -------------------------------- ### List Bottles with Environment Filter Source: https://docs.usebottles.com/advanced/cli Lists bottles, filtering by the 'environment' category. This is useful for finding bottles configured for specific purposes, like gaming. ```bash bottles-cli list bottles -f environment:gaming ``` -------------------------------- ### Grant Steam Integration Permissions (Flatpak) Source: https://docs.usebottles.com/bottles/programs These commands grant the Bottles Flatpak necessary permissions to add shortcuts to your Steam client. Close Bottles before running. ```bash flatpak override com.usebottles.bottles --filesystem=~/.local/share/Steam flatpak override com.usebottles.bottles --filesystem=~/.var/app/com.valvesoftware.Steam/data/Steam ``` -------------------------------- ### Usage of custom wine command Source: https://docs.usebottles.com/advanced/use-bottles-as-wine-command Once configured, you can launch programs using the custom wine command, which will automatically use the specified bottle. ```shell wine program_name.exe # or installer_name.msi ``` -------------------------------- ### Expose Directory via Flatpak Override Source: https://docs.usebottles.com/flatpak/expose-directories Use this command to grant a Flatpak application user-level access to a specific directory. Replace 'path' with the actual directory you want to expose. ```bash flatpak override --user --filesystem="path" com.usebottles.bottles ``` -------------------------------- ### Edit Interface Help Source: https://docs.usebottles.com/advanced/cli Displays the usage information for the 'edit' interface, used to modify various bottle configurations like parameters, environment variables, and runners. Requires the bottle name. ```bash bottles-cli edit [-h] -b BOTTLE [--params PARAMS] [--env-var ENV_VAR] [--win WIN] [--runner RUNNER] [--dxvk DXVK] [--vkd3d VKD3D] [--nvapi NVAPI] [--latencyflex LATENCYFLEX] ``` -------------------------------- ### Propose New Dependency via GitHub Issue Source: https://docs.usebottles.com/contribute/missing-dependencies Use this URL to open a new issue on GitHub for requesting a new dependency, pre-filled with the necessary template and labels. ```markdown https://github.com/bottlesdevs/dependencies/issues/new?assignees=mirkobrombin&labels=request+dependency&template=dependency-implementation-request.md&title=%5BRequest+dependency%5D ```