All Projects β†’ hertg β†’ Egpu Switcher

hertg / Egpu Switcher

Licence: gpl-3.0
πŸ–₯🐧 Setup script for eGPUs in Linux (Xorg)

Programming Languages

shell
77523 projects
bash
514 projects

Projects that are alternatives of or similar to Egpu Switcher

Frankenwm
πŸ–ΌοΈ Fast dynamic tiling X11 window manager
Stars: ✭ 209 (-17.06%)
Mutual labels:  hacktoberfest, x11
Xrandr Extend
πŸ’»βž‘οΈ Extend a HIDPI screen to a normal DPI external display
Stars: ✭ 81 (-67.86%)
Mutual labels:  hacktoberfest, x11
Bootstrap
The missing components for your favorite front-end framework.
Stars: ✭ 2,700 (+971.43%)
Mutual labels:  hacktoberfest
Drupal Check
Check Drupal code for deprecations and discover bugs via static analysis
Stars: ✭ 252 (+0%)
Mutual labels:  hacktoberfest
Blackbox Log Viewer
Interactive log viewer for flight logs recorded with blackbox
Stars: ✭ 252 (+0%)
Mutual labels:  hacktoberfest
Asciidoctor Intellij Plugin
AsciiDoc plugin for products on the IntelliJ platform (IDEA, RubyMine, etc)
Stars: ✭ 250 (-0.79%)
Mutual labels:  hacktoberfest
Domainmod
DomainMOD is an open source application written in PHP & MySQL used to manage your domains and other internet assets in a central location. DomainMOD also includes a Data Warehouse framework that allows you to import your web server data so that you can view, export, and report on your live data.
Stars: ✭ 252 (+0%)
Mutual labels:  hacktoberfest
Next Seo
Next SEO is a plug in that makes managing your SEO easier in Next.js projects.
Stars: ✭ 4,149 (+1546.43%)
Mutual labels:  hacktoberfest
Maps
🌍🌏🌎 The whole world fits inside your cloud!
Stars: ✭ 253 (+0.4%)
Mutual labels:  hacktoberfest
Abibliadigital
A RESTful API for Bible
Stars: ✭ 251 (-0.4%)
Mutual labels:  hacktoberfest
Avito Android
Infrastructure of Avito android
Stars: ✭ 253 (+0.4%)
Mutual labels:  hacktoberfest
Nytimes App
πŸ—½ A Simple Demonstration of the New York Times App πŸ“± using Jsoup web crawler with MVVM Architecture πŸ”₯
Stars: ✭ 246 (-2.38%)
Mutual labels:  hacktoberfest
Modelicastandardlibrary
Free (standard conforming) library from the Modelica Association to model mechanical (1D/3D), electrical (analog, digital, machines), magnetic, thermal, fluid, control systems and hierarchical state machines. Also numerical functions and functions for strings, files and streams are included.
Stars: ✭ 250 (-0.79%)
Mutual labels:  hacktoberfest
Aws Toolkit Eclipse
AWS Toolkit for Eclipse – an open-source plugin for developing, deploying, and managing AWS applications.
Stars: ✭ 252 (+0%)
Mutual labels:  hacktoberfest
Kube Prometheus
Use Prometheus to monitor Kubernetes and applications running on Kubernetes
Stars: ✭ 3,607 (+1331.35%)
Mutual labels:  hacktoberfest
Dome
A lightweight game development environment where games can be written in Wren
Stars: ✭ 251 (-0.4%)
Mutual labels:  hacktoberfest
Freesql
πŸ¦„ .NET orm, Mysql orm, Postgresql orm, SqlServer orm, Oracle orm, Sqlite orm, Firebird orm, θΎΎζ’¦ orm, 人倧金仓 orm, η₯žι€š orm, 翰高 orm, ε—ε€§ι€šη”¨ orm, Click house orm, MsAccess orm.
Stars: ✭ 3,077 (+1121.03%)
Mutual labels:  hacktoberfest
Windows
Development repository for Chef Cookbook windows
Stars: ✭ 251 (-0.4%)
Mutual labels:  hacktoberfest
Deck
Management UI for Spinnaker
Stars: ✭ 251 (-0.4%)
Mutual labels:  hacktoberfest
Minha Receita
🏒 Sua API web para consulta de informaçáes do CNPJ da Receita Federal
Stars: ✭ 255 (+1.19%)
Mutual labels:  hacktoberfest

egpu-switcher

For more information and user feedback, take a look at my Thread over on egpu.io or open an issue on Github.

Distribution agnostic eGPU script that works with NVIDIA and AMD cards.



Description

The goal of this script is to lower the barrier for Linux users to use their eGPU on the Linux Desktop. An interactive setup allows the user to choose their external GPU, which will then be automatically chosen as the primary GPU if it's connected on bootup.

This does not provide you with a plug-and-play functionality like you may know from Windows.
You still need to reboot your computer in order to connect / disconnect your eGPU.
.

Screenshot

Screenshot of setup

Requirements

  1. Your OS is running X-Server.
  2. You have at least pciutils 3.3.x or higher installed (check with lspci --version).
  3. You have at least Bash 4.x or higher installed.
  4. You have already authorized your Thunderbolt EGPU and are able to connect.
  5. You have already installed the latest (proprietary) drivers for your GPUs.

Installation

Ubuntu (apt)

Installation and setup:

$ sudo add-apt-repository ppa:hertg/egpu-switcher
$ sudo apt update
$ sudo apt install egpu-switcher
$ sudo egpu-switcher setup

Uninstall:

$ apt remove egpu-switcher

Other

Installation and setup:

$ git clone [email protected]:hertg/egpu-switcher.git
$ cd egpu-switcher
$ make install
$ sudo egpu-switcher setup

Uninstall:

Critical Warning: Do not use this command on any version prior to 0.10.2!
There was a critical typo in the Makefile which would delete your /usr/bin folder. Please do a manual uninstall by removing the egpu-switcher folder in the /usr/bin/ and the /usr/share/ directory.

$ sudo egpu-switcher cleanup
$ make uninstall

Commands

egpu-switcher setup [--override] [--noprompt]
    This will generate the "xorg.conf.egpu" and "xorg.conf.internal" files and
    symlink the "xorg.conf" file to one of them.
    
    It will also create the systemd service, that runs the "switch" command on each bootup.
    
    This will NOT delete any already existing files. If an "xorg.conf" file already exists, 
    it will be backed up to "xorg.conf.backup.{datetime}". This can later be reverted by
    executing the "cleanup" command.

    --override
        If an AMD GPU or open-source NVIDIA drivers are used, the "switch" command 
        will prevent from switching to the eGPU if there are no displays directly attached to it. 
        This flag will make sure to switch to the EGPU even if there are no displays attached.

    --noprompt
        Prevent the setup from prompting for user interaction if there is
        no existing configuration file found. (Is currently only used by the "postinst" script)
egpu-switcher switch auto|egpu|internal [--override]
    Switches to the specified GPU. if the auto parameter is used, the script will check if 
    the eGPU is attached and switch accordingly. 
    
    The computer (or display-manager) needs to be restarted for this to take effect.

    --override
        If an AMD GPU or open-source NVIDIA drivers are used, the "switch" command 
        will prevent from switching to the eGPU if there are no displays directly attached to it. 
        This flag will make sure to switch to the EGPU even if there are no displays attached.
egpu-switcher cleanup [--hard]
    Remove all files egpu-switcher has created previously and restore the backup
    of previous "xorg.conf" files.

    --hard
        Remove configuration files too.
egpu-switcher config
    Prompts the user to specify their external/internal GPU and saves their answer
    to the configuration file.
egpu-switcher remove
    Allows the user to remove their eGPU without a complete reboot.
    This method will still restart the display-manager, and therefore terminate all its child-processes.

Troubleshooting

If you run into problems, please have a look at TROUBLESHOOT.md before reporting any issues.


Background information

A backup of your current xorg.conf will be created, nothing gets deleted. If the script doesn't work for you, you can revert the changes by executing egpu-switcher cleanup or just completely uninstall the script with apt remove egpu-switcher. This will remove all files it has created and also restore your previous xorg.conf file.

This script will create two configuration files in your X-Server folder /etc/X11. The file xorg.conf.egpu holds the settings for your EGPU and the file xorg.conf.internal holds the settings for your internal graphics.

Then a symlink xorg.conf will be generated which points to the corresponding config file, depending on wheter your egpu is connected or not.

Additionally a custom systemd service with the following content will be created.

/etc/systemd/system/egpu.service

[Unit]
Description=EGPU Service
Before=display-manager.service
After=bolt.service

[Service]
Type=oneshot
ExecStart=/usr/bin/egpu-switcher switch auto

[Install]
WantedBy=graphical.target

This will enable the automatic detection wheter your egpu is connected or not on startup.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].