proxmox-pci-switcher 0.15.11

Creator: railscoderz

Last updated:

Add to Cart

Description:

proxmoxpciswitcher 0.15.11

Proxmox PCI Switcher



Switch among Guest VMs organized by Resource Pool.
main features:

ONE GPU card, N OS (at once)
Guest VM command client
Handler power off
Reset framebuffer

TOC

Proxmox Configuration

Create Resource Pool
Assign Guest VM


Install Proxmox Snippet

Proxmox Config

Snippet Variables
Assign VM to Snippet




Guest Client Switcher

List Resources
Switch Resource
Using GUI



Proxmox Configuration
Create Resource Pool

Assign Guest VM

Install Proxmox Snippet
curl -fsSL https://github.com/rosineygp/proxmox-pci-switcher/releases/latest/download/pci-group-switcher.sh > pci-group-switcher.sh

# set execution permission
chmod +x pci-group-switcher.sh

# move for your snippets <storage>/<folder>

Proxmox Config
Snippet Variables



NAME
Default
Description




_POOL_NAME *
<auto_discovery>
The name of Resource Pool


_SHUTDOWN_TIMEOUT
300
Checking if resource was released (Current VM Running is down)


_RESET_GPU_FRAMEBUFFER
true
Reset GPU framebuffer


_PIN_CPU_IDS
false
Pin CPU using taskset (syntax equals taskset cpu-list parameter)


_RENICE_PRIORITY
false
Renice process using renice




All variables must be changed in pci-group-switcher.sh at proxmox ve.
_POOL_NAME * By default it will scan for VMID in all Resource Pools, in case of long delays replace function call to Resource Pool name (eg. desktop, gpu, ...).

The following variables can be passed using /etc/pve/qemu-server/<vmid>.vars file, the script will load variables from file if it exists.

If you need to overwrite an Default value set at /etc/environment the variable name without the _ prefix. (eg. RESET_GPU_FRAMEBUFFER=false)

Assign VM to Snippet
qm set <vmid> -hookscript <storage>:snippets/pci-group-switcher.sh


After proxmox configuration is possible to switch using proxmox api or web interface.

Guest Client Switcher

requirements: python 3

pip install proxmox-pci-switcher

# create config folder
mkdir -p ~/.config/proxmox-pci-switcher/

# create config file
cat <<EOF > ~/.config/proxmox-pci-switcher/config.yaml
proxmox:
host: '<ip or dns>'
user: '<user>@<method>'
password: '<password>'
api_id: '<name>' # only for api access
api_token: '<token>' # only for api access
verify_ssl: false

gui: # optional
theme: Dark # Light or Dark

pools:
- '<desktop>'
- '<gpu-nvidia>'
- '<gpu-amd>'

EOF


Edit config.yaml with your proxmox credentials and pools.


API access has priority over user and password access.

List Resources
proxmox-pci-switcher list

pool(s) vmid name status type
---------- ------ --------------- -------- ------
desktop 119 catalina stopped qemu
desktop 116 win10-desktop stopped qemu
desktop 117 mini-desktop stopped qemu
desktop 103 u20-desktop running qemu
desktop 115 u20-srv-desktop stopped qemu

Switch Resource
# run command directly
proxmox-pci-switcher switch win10-desktop

# create a alias for better experience
alias windows="proxmox-pci-switcher switch win10-desktop"

# and just run
windows

Using GUI
proxmox-pci-switcher gui

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.