AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / 问题

Perguntas[virtualization](ubuntu)

Martin Hope
minjs
Asked: 2024-09-28 22:07:15 +0800 CST

Qual é a melhor maneira de configurar uma VM do Windows 10 com o Hypervisor e a Plataforma de Máquina Virtual habilitados no Ubuntu?

  • 3

Tenho um dispositivo Ubuntu 24.04 LTS. Quero instalar o Windows 10 e habilitar a plataforma de hipervisor do Windows / Hyper-V e a plataforma de máquina virtual. Qual é a melhor solução para atingir esse objetivo?

Nota:
Não quero configurar dual boot. Deve ser fácil de usar como o VirtualBox (ligar e desligar a qualquer momento ao usar o Ubuntu).
Não tenho problemas com capacidade de CPU ou RAM.
Espero um bom desempenho de hardware na máquina virtual do Windows 10 e sem atrasos ou problemas gráficos.
Não preciso saber como instalar o Windows 10 ou habilitar a plataforma do hipervisor do Windows e a plataforma da máquina virtual.
1 https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v#enable-the-hyper-v-role-through-settings
2 https://support.microsoft.com/en-us/windows/enable-virtualization-on-windows-c5578302-6e43-4b4b-a449-8ced115f58e1

Se alguém estiver curioso sobre o porquê de eu querer fazer isso:
(a) Quero habilitar e testar o Subsistema Windows para Android. (Se você quiser usar aplicativos Android no Linux. Recomendo que use https://waydro.id/ . Como alternativa, você pode instalar (crédito: comentário de @raj) Android x86, BlissOS ou outro no KVM, virtualbox ou vmware.
(b) Quero usar o Onenote. Não consegui encontrar uma maneira bem-sucedida de instalá-lo pelo Wine no Ubuntu. Também conheço https://snapcraft.io/onenote-desktop https://github.com/patrikx3/onenote, mas ele é baseado em nuvem. Conheço outras alternativas populares do Onenote e não me sinto satisfeito. Então, estou fazendo isso como uma solução 2 em 1.

virtualization
  • 1 respostas
  • 113 Views
Martin Hope
Milch1998
Asked: 2024-08-12 04:41:54 +0800 CST

Passagem de GPU única em 24.04: nada acontece ao iniciar a VM

  • 5

Sou bastante novo em tudo isso e estou tentando configurar uma VM com passagem de GPU única. Meu host está executando o Ubuntu 24.04 e estou tentando configurar uma VM do Windows 11 no Virt-Manager.

Tenho seguido principalmente o tutorial de SomeOrdinaryGamers no Youtube combinado com alguns guias para adaptá-lo ao Ubuntu.

Instalei o Win11 com sucesso em uma VM e configurei todos os ganchos, no entanto, sempre que tento inicializar a VM após configurar os ganchos, nada acontece (nenhuma mensagem de erro, nenhuma janela aparecendo e reaparecendo imediatamente e nenhum monitor ficando preto ). No entanto, na próxima vez que tento reiniciar ou desligar minha máquina host, em vez de desligá-la, primeiro ele me leva à tela de login do meu usuário (se eu fizer login, minha área de trabalho será exibida e nenhum programa será aberto). Depois de alguns segundos, não importa se eu faço login ou não, ele vai para a tela típica de desligamento do Ubuntu e não consegue desligar. Ele simplesmente entra em uma tela preta e então eu tenho que apertar o botão reset no meu caso.

Uma tentativa, minha máquina não inicializou mais depois (apenas me mostre uma tela de todos os serviços iniciados com um OK ao lado deles) e eu tive que reinstalar o Ubuntu (não é um problema - nova instalação de qualquer maneira)

Quando executo o script Iniciar sozinho, ele desconecta meu monitor com êxito.

Também não me oponho a tentar fazer isso com o Windows 10 se funcionar melhor, mas prefiro não gastar mais 6 horas esperando a instalação do Windows na VM apenas para obter o mesmo resultado.

Meu PC tem um Ryzen 9 3900X e um RTX 3080 mais 32 GB de RAM e estou instalando o Windows em uma partição de 3 TB em um disco rígido separado.

Meus Scripts atualmente são os seguintes:

/etc/libvirt/hooks/kvm.conf

VIRSH_GPU_VIDEO=pci_0000_09_00_0
VIRSH_GPU_AUDIO=pci_0000_09_00_1 

/etc/libvirt/hooks/qemu

#!/usr/bin/env bash
#
# Author: SharkWipf
#
# Copy this file to /etc/libvirt/hooks, make sure it's called "qemu".
# After this file is installed, restart libvirt.
# From now on, you can easily add per-guest qemu hooks.
# Add your hooks in /etc/libvirt/hooks/qemu.d/vm_name/hook_name/state_name.
# For a list of available hooks, please refer to https://www.libvirt.org/hooks.html
#

GUEST_NAME="$1"
HOOK_NAME="$2"
STATE_NAME="$3"
MISC="${@:4}"

BASEDIR="$(dirname $0)"

HOOKPATH="$BASEDIR/qemu.d/$GUEST_NAME/$HOOK_NAME/$STATE_NAME"

set -e # If a script exits with an error, we should as well.

# check if it's a non-empty executable file
if [ -f "$HOOKPATH" ] && [ -s "$HOOKPATH" ] && [ -x "$HOOKPATH" ]; then
    eval \"$HOOKPATH\" "$@"
elif [ -d "$HOOKPATH" ]; then
    while read file; do
        # check for null string
        if [ ! -z "$file" ]; then
          eval \"$file\" "$@"
        fi
    done <<< "$(find -L "$HOOKPATH" -maxdepth 1 -type f -executable -print;)"
fi

/etc/libvirt/hooks/qemu.d/win11/prepare/begin/start.sh

#!/bin/bash
# Helpful to read output when debugging
set -x

# load variables
source "/etc/libvirt/hooks/kvm.conf"

# Stop display manager
systemctl stop display-manager.service
# Uncomment the following line if you use GDM
killall gdm-x-session

# Unbind VTconsoles
echo 0 > /sys/class/vtconsole/vtcon0/bind
echo 0 > /sys/class/vtconsole/vtcon1/bind

# Unbind EFI-Framebuffer
echo efi-framebuffer.0 > /sys/bus/platform/drivers/efi-framebuffer/unbind

# Avoid a Race condition by waiting 2 seconds. This can be calibrated to be shorter or longer if required for your system
sleep 5

# Unload Nvidia
modprobe -r nvidia_drm
modprobe -r nvidia_modeset
modprobe -r drm_kms_helper
modprobe -r nvidia
modprobe -r i2c_nvidia_gpu
modprobe -r drm
modprobe -r nvidia_uvm

# Unbind the GPU from display driver
virsh nodedev-detach $VIRSH_GPU_VIDEO
virsh nodedev-detach $VIRSH_GPU_AUDIO

# Load VFIO Kernel Module
# not sure if these are with a - or an _ since i found both in different guides, so i tried using both
modprobe vfio
modprobe vfio-pci 
modprobe vfio_pci
modprobe vfio_iommu_type1
modprobe vfio-iommu-type1

/etc/libvirt/hooks/qemu.d/win11/release/end/revert.sh

#!/bin/bash
set -x

# Load variables
source "/etc/libvirt/hooks/kvm.conf"

# Attach GPU devices to host
# Use your GPU and HDMI Audio PCI host device
virsh nodedev-reattach $VIRSH_GPU_VIDEO
virsh nodedev-reattach $VIRSH_GPU_AUDIO

# Unload vfio module
# not sure if these are with a - or an _ since i found both in different guides, so i tried using both
modprobe -r vfio
modprobe -r vfio-pci
modprobe -r vfio_pci
modprobe -r vfio-iommu-type1
modprobe -r vfio_iommu_type1

# Load AMD kernel module
#modprobe amdgpu

# Rebind framebuffer to host
echo "efi-framebuffer.0" > /sys/bus/platform/drivers/efi-framebuffer/bind

# Load NVIDIA kernel modules
modprobe nvidia_drm
modprobe nvidia_modeset
modprobe nvidia_uvm
modprobe nvidia
modprobe drm
modprobe drm_kms_helper

# Bind VTconsoles: might not be needed
echo 1 > /sys/class/vtconsole/vtcon0/bind
echo 1 > /sys/class/vtconsole/vtcon1/bind

# Restart Display Manager
systemctl start display-manager

e finalmente meu XML no virt-manager:

<domain type="kvm">
  <name>win11</name>
  <uuid>d2bfd573-8485-43c9-88a8-957bfdfe88aa</uuid>
  <metadata>
    <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
      <libosinfo:os id="http://microsoft.com/win/11"/>
    </libosinfo:libosinfo>
  </metadata>
  <memory unit="KiB">28672000</memory>
  <currentMemory unit="KiB">28672000</currentMemory>
  <vcpu placement="static">20</vcpu>
  <os firmware="efi">
    <type arch="x86_64" machine="pc-q35-8.2">hvm</type>
    <firmware>
      <feature enabled="yes" name="enrolled-keys"/>
      <feature enabled="yes" name="secure-boot"/>
    </firmware>
    <loader readonly="yes" secure="yes" type="pflash">/usr/share/OVMF/OVMF_CODE_4M.ms.fd</loader>
    <nvram template="/usr/share/OVMF/OVMF_VARS_4M.ms.fd">/var/lib/libvirt/qemu/nvram/win11_VARS.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv mode="custom">
      <relaxed state="on"/>
      <vapic state="on"/>
      <spinlocks state="on" retries="8191"/>
      <vendor_id state="on" value="buttplug"/>
    </hyperv>
    <kvm>
      <hidden state="on"/>
    </kvm>
    <vmport state="off"/>
    <smm state="on"/>
  </features>
  <cpu mode="host-passthrough" check="none" migratable="on">
    <topology sockets="1" dies="1" cores="10" threads="2"/>
  </cpu>
  <clock offset="localtime">
    <timer name="rtc" tickpolicy="catchup"/>
    <timer name="pit" tickpolicy="delay"/>
    <timer name="hpet" present="no"/>
    <timer name="hypervclock" present="yes"/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <pm>
    <suspend-to-mem enabled="no"/>
    <suspend-to-disk enabled="no"/>
  </pm>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <disk type="file" device="disk">
      <driver name="qemu" type="raw"/>
      <source file="/mnt/06a918ae-9833-4158-866d-f49b6587c64f/win11.img"/>
      <target dev="sda" bus="sata"/>
      <boot order="1"/>
      <address type="drive" controller="0" bus="0" target="0" unit="0"/>
    </disk>
    <disk type="file" device="cdrom">
      <driver name="qemu" type="raw"/>
      <source file="/mnt/06a918ae-9833-4158-866d-f49b6587c64f/Win11_23H2_English_x64v2.iso"/>
      <target dev="sdb" bus="sata"/>
      <readonly/>
      <boot order="2"/>
      <address type="drive" controller="0" bus="0" target="0" unit="1"/>
    </disk>
    <controller type="usb" index="0" model="qemu-xhci" ports="15">
      <address type="pci" domain="0x0000" bus="0x02" slot="0x00" function="0x0"/>
    </controller>
    <controller type="pci" index="0" model="pcie-root"/>
    <controller type="pci" index="1" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="1" port="0x10"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x0" multifunction="on"/>
    </controller>
    <controller type="pci" index="2" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="2" port="0x11"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x1"/>
    </controller>
    <controller type="pci" index="3" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="3" port="0x12"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x2"/>
    </controller>
    <controller type="pci" index="4" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="4" port="0x13"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x3"/>
    </controller>
    <controller type="pci" index="5" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="5" port="0x14"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x4"/>
    </controller>
    <controller type="pci" index="6" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="6" port="0x15"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x5"/>
    </controller>
    <controller type="pci" index="7" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="7" port="0x16"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x6"/>
    </controller>
    <controller type="pci" index="8" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="8" port="0x17"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x7"/>
    </controller>
    <controller type="pci" index="9" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="9" port="0x18"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x0" multifunction="on"/>
    </controller>
    <controller type="pci" index="10" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="10" port="0x19"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x1"/>
    </controller>
    <controller type="pci" index="11" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="11" port="0x1a"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x2"/>
    </controller>
    <controller type="pci" index="12" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="12" port="0x1b"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x3"/>
    </controller>
    <controller type="pci" index="13" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="13" port="0x1c"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x4"/>
    </controller>
    <controller type="pci" index="14" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="14" port="0x1d"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x5"/>
    </controller>
    <controller type="sata" index="0">
      <address type="pci" domain="0x0000" bus="0x00" slot="0x1f" function="0x2"/>
    </controller>
    <controller type="virtio-serial" index="0">
      <address type="pci" domain="0x0000" bus="0x03" slot="0x00" function="0x0"/>
    </controller>
    <interface type="network">
      <mac address="52:54:00:c0:59:8a"/>
      <source network="default"/>
      <model type="e1000e"/>
      <address type="pci" domain="0x0000" bus="0x01" slot="0x00" function="0x0"/>
    </interface>
    <serial type="pty">
      <target type="isa-serial" port="0">
        <model name="isa-serial"/>
      </target>
    </serial>
    <console type="pty">
      <target type="serial" port="0"/>
    </console>
    <channel type="spicevmc">
      <target type="virtio" name="com.redhat.spice.0"/>
      <address type="virtio-serial" controller="0" bus="0" port="1"/>
    </channel>
    <input type="tablet" bus="usb">
      <address type="usb" bus="0" port="1"/>
    </input>
    <input type="mouse" bus="ps2"/>
    <input type="keyboard" bus="ps2"/>
    <tpm model="tpm-crb">
      <backend type="emulator" version="2.0"/>
    </tpm>
    <graphics type="spice" autoport="yes">
      <listen type="address"/>
      <image compression="off"/>
    </graphics>
    <sound model="ich9">
      <address type="pci" domain="0x0000" bus="0x00" slot="0x1b" function="0x0"/>
    </sound>
    <audio id="1" type="spice"/>
    <video>
      <model type="qxl" ram="65536" vram="65536" vgamem="16384" heads="1" primary="yes"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x0"/>
    </video>
    <hostdev mode="subsystem" type="usb" managed="yes">
      <source>
        <vendor id="0x046d"/>
        <product id="0xc07d"/>
      </source>
      <address type="usb" bus="0" port="4"/>
    </hostdev>
    <hostdev mode="subsystem" type="usb" managed="yes">
      <source>
        <vendor id="0x046d"/>
        <product id="0xc33e"/>
      </source>
      <address type="usb" bus="0" port="5"/>
    </hostdev>
    <hostdev mode="subsystem" type="usb" managed="yes">
      <source>
        <vendor id="0x1397"/>
        <product id="0x0507"/>
      </source>
      <address type="usb" bus="0" port="6"/>
    </hostdev>
    <hostdev mode="subsystem" type="pci" managed="yes">
      <source>
        <address domain="0x0000" bus="0x09" slot="0x00" function="0x0"/>
      </source>
      <rom file="/usr/share/vgabios/vbios.rom"/>
      <address type="pci" domain="0x0000" bus="0x05" slot="0x00" function="0x0"/>
    </hostdev>
    <hostdev mode="subsystem" type="pci" managed="yes">
      <source>
        <address domain="0x0000" bus="0x09" slot="0x00" function="0x1"/>
      </source>
      <rom file="/usr/share/vgabios/vbios.rom"/>
      <address type="pci" domain="0x0000" bus="0x06" slot="0x00" function="0x0"/>
    </hostdev>
    <redirdev bus="usb" type="spicevmc">
      <address type="usb" bus="0" port="2"/>
    </redirdev>
    <redirdev bus="usb" type="spicevmc">
      <address type="usb" bus="0" port="3"/>
    </redirdev>
    <watchdog model="itco" action="reset"/>
    <memballoon model="virtio">
      <address type="pci" domain="0x0000" bus="0x04" slot="0x00" function="0x0"/>
    </memballoon>
  </devices>
</domain>

Espero que este seja o lugar certo para postar isso e que alguém com mais experiência do que eu possa me ajudar a encontrar meu problema

virtualization
  • 2 respostas
  • 100 Views
Martin Hope
SpacemanSanchez
Asked: 2024-04-10 00:12:03 +0800 CST

Não é possível vincular/desvincular GPU da nvidia para vfio-pci corretamente sob demanda sem reinicialização (Ubuntu 22 QEMU KVM OVMF)

  • 4

Estou me deparando com um problema estranho. Tenho lutado para que a passagem da GPU funcione corretamente em uma VM do Windows 11 e finalmente encontrei algo que funciona, mas não é tão ideal quanto esperava. Essencialmente, se eu adicionar aos /etc/modprobe.d/vfio.confmeus IDs PCI options vfio-pci ids=10de:2684,10de:22ba VFIO vinculados na inicialização e posso usá-lo perfeitamente para passagem de GPU. Mas se eu tentar reconectar a GPU aos drivers da nvidia, não consigo usá-la com o pytorch (embora nvidia-smifuncione bem).

Se eu remover o arquivo vfio.conf e reiniciar, a GPU será vinculada à nvidia e o torch funcionará muito bem, mas quando tento desvincular da nvidia e vincular ao vfio-pci, quando inicio a VM recebo o código de erro 43 no driver da Nvidia e o seguinte erro nos logs da libvirt:

2024-04-09T15:38:49.796258Z qemu-system-x86_64: -device vfio-pci,host=0000:01:00.0,id=hostdev0,bus=pci.5,addr=0x0: Failed to mmap 0000:01:00.0 BAR 1. Performance may be slow
2024-04-09T15:39:07.971124Z qemu-system-x86_64: vfio_region_write(0000:01:00.0:region1+0x8c, 0x1,4) failed: Cannot allocate memory

É realmente estranho, porque de todas as minhas inspeções parece que a GPU está devidamente isolada, mas parece que não consigo passá-la para a GPU sem vincular explicitamente a vfio via /etc/modprobe.d/vfio.confe, quando faço isso, não consigo vinculá-la corretamente de volta à nvidia. Mais uma vez, tudo parece bem quando eu o ligo novamente à nvidia, mas o torch não consegue mais detectar a GPU. Alguma ideia?

Minha solução alternativa funciona bem por enquanto, mas requer reinicialização se eu quiser iniciar minha VM. O ideal é poder vincular/desvincular minha GPU nvidia sob demanda quando quiser alternar entre usá-la no host ou na VM do Windows 11. Exemplo de ligação ao script VFIO:

#!/bin/bash
set -x

# Stop display manager
systemctl stop display-manager

# Unbind VTconsoles: might not be needed
echo 0 > /sys/class/vtconsole/vtcon0/bind
echo 0 > /sys/class/vtconsole/vtcon1/bind

# Unload NVIDIA kernel modules
modprobe -r nvidia_drm 
modprobe -r nvidia_modeset
modprobe -r nvidia_uvm 
modprobe -r nvidia

# Detach GPU devices from host
# Use your GPU and HDMI Audio PCI host device
sudo virsh nodedev-detach pci_0000_01_00_0
sudo virsh nodedev-detach pci_0000_01_00_1

# Load vfio module
modprobe vfio-pci

Se eu correr

lspci -nnk -d 10de:2684
lspci -nnk -d 10de:22ba

Parece corretamente vinculado ao vfio-pci:

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:2684] (rev a1)
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:40e5]
        Kernel driver in use: vfio-pci
        Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
01:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:22ba] (rev a1)
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:40e5]
        Kernel driver in use: vfio-pci
        Kernel modules: snd_hda_intel

Se eu reiniciar com vfio.conf aplicado e inspecionar as coisas, parece o mesmo, mas estranhamente funciona ao iniciar minha VM do Windows 11:

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:2684] (rev a1)
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:40e5]
        Kernel driver in use: vfio-pci
        Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
01:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:22ba] (rev a1)
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:40e5]
        Kernel driver in use: vfio-pci
        Kernel modules: snd_hda_intel

Mas se eu desvincular do vfio e vincular à nvidia:

#!/bin/bash
set -x

# Attach GPU devices to host
# Use your GPU and HDMI Audio PCI host device
sudo virsh nodedev-reattach pci_0000_01_00_0
sudo virsh nodedev-reattach pci_0000_01_00_1

# Unload vfio module
modprobe -r vfio-pci

#stop race condition
sleep 2

# Load NVIDIA kernel modules
modprobe nvidia
modprobe nvidia_modeset
modprobe nvidia_uvm
modprobe nvidia_drm

# Bind VTconsoles: might not be needed
echo 1 > /sys/class/vtconsole/vtcon0/bind
echo 1 > /sys/class/vtconsole/vtcon1/bind

nvidia-smifunciona bem:

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.161.07             Driver Version: 535.161.07   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 4090        Off | 00000000:01:00.0 Off |                  Off |
|  0%   49C    P0              67W / 450W |      0MiB / 24564MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |
+---------------------------------------------------------------------------------------+

Mas quando executo algo no Docker que usa pytorch:

RuntimeError: Torch is not able to use GPU

Pior ainda, quando tento religar ao vfio ele funciona como se eu não tivesse habilitado vfio.confe recebo o mesmo erro ao iniciar a VM do Windows 11:

2024-04-09T16:04:45.089687Z qemu-system-x86_64: -device vfio-pci,host=0000:01:00.0,id=hostdev0,bus=pci.5,addr=0x0: Failed to mmap 0000:01:00.0 BAR 1. Performance may be slow
2024-04-09T16:04:55.682373Z qemu-system-x86_64: vfio_region_write(0000:01:00.0:region1+0x8c, 0x1,4) failed: Cannot allocate memory

Parece bastante claro para mim que algo ainda está usando a nvidia de alguma forma, mesmo que esteja usando o driver do kernel vfio-pci e lsof /dev/nvidia0retorne uma string em branco. Alguma ideia? Estou ficando um pouco louco aqui!

virtualization
  • 1 respostas
  • 29 Views
Martin Hope
Wolf
Asked: 2023-12-28 11:18:35 +0800 CST

Tentando compartilhar um diretório localizado em outro disco rígido conectado ao meu computador, com um convidado do Windows 10 no QEMU/KVM

  • 5

Estou usando o Ubuntu 23.10 e o Virtual Machine Manager 4.1.0.

Quando tento adicionar o diretório que está localizado em outro disco rígido no Virtual Machine Manager, recebo o seguinte erro: "Erro ao iniciar o domínio: falha na operação: não foi possível encontrar um virtiofsd satisfatório".

Como posso resolver esse problema?

insira a descrição da imagem aqui

virtualization
  • 1 respostas
  • 24 Views
Martin Hope
SO_32
Asked: 2023-12-19 17:21:00 +0800 CST

O pi-hole Dockerizado no Ubuntu torna a conexão inutilizável, é esperado?

  • 6

Para usar pi-hole em um contêiner no Ubuntu 22.04.3 LTS, primeiro baixei

docker pull pihole/pihole

então eu libero algumas portas

sudo systemctl disable systemd-resolved.service && sudo systemctl stop systemd-resolved.service

então, para executá-lo,

docker run -d --name pihole-cont -it -p 53:53/tcp -p 53:53/udp -p 67:67/udp -p 80:80 -p 443:443 -v "${DOCKER_CONFIGS}/dnsmasq.d/:/etc/dnsmasq.d/" -e ServerIP=[my IP address] --restart=unless-stopped --cap-add=NET_ADMIN --dns=127.0.0.1 --dns=1.1.1.1 pihole/pihole:latest"

Quando abro um navegador e digito

http://[docker's IP address]/admin

Chego à página de login do pi-hole, mesmo não sabendo a senha (presumo que seja normal), mas a conexão fica inutilizável. Torna-se impossível navegar na internet, os sites começam a carregar mas demora uma eternidade, o vídeo não começa antes de pelo menos cinco minutos, o limite da minha paciência. Também instalei com sucesso o pi-hole em uma máquina virtual com os mesmos resultados. Achei que o problema poderia ser um loop sem fim: meu computador faz uma solicitação, passa pelo servidor DNS, o servidor DNS é virtualizado no meu pc, então faz uma solicitação para o meu pc e assim por diante, mesmo que eles tinham IPs diferentes. Isto é semelhante, IPs diferentes, internet inutilizável.

Meu palpite está correto ou errado? Estou fazendo algo errado? É mesmo possível conteinerizar um buraco para que a Internet seja realmente acessível?

Agradeço antecipadamente

EDIT: Então, remover --dns=127.0.0.1faz o aviso

WARNING: Localhost DNS setting (--dns=127.0.0.1) may fail in containers

vá embora. No entanto, simplesmente desabilitar systemd-resolved.servicequebra minha internet de qualquer maneira. Se docker stop [pi-hole ID]a internet continuar quebrada, mesmo que eu habilite systemd-resolved.servicenovamente. Este último emite um aviso de conflito de porta. Para recuperar minha conexão com a Internet, limpo todas as imagens e contêineres com

docker system prune -a -f --volumes

(muito drástico, mas rápido), reinicie systemd-resolved.servicee posso finalmente editar esta questão.

Então o problema parece ser que eu desativo systemd-resolved.service, que tem um conflito de porta com o contêiner. Como faço para corrigir isso?

Obrigado novamente

virtualization
  • 1 respostas
  • 146 Views
Martin Hope
ylluminate
Asked: 2022-04-28 16:24:58 +0800 CST

Instale o Ubuntu Desktop 22.04 ARM64 no macOS Apple Silicon (M1/Pro/Max) em paralelo

  • 14

Ainda não há download direto do Ubuntu Desktop 22.04 para ARM64, como você o instala?

virtualization
  • 4 respostas
  • 20527 Views
Martin Hope
Geoffrey Churchill
Asked: 2022-03-06 02:42:06 +0800 CST

Como instalo o swtpm no Ubuntu 21.10?

  • 2

Adicionei o tpm2.0 virtual na máquina mas continua me dando esse erro? Estou usando o Ubuntu 21.10.

'não foi possível encontrar o binário 'swtpm' em $PATH:No such file or directory'


Está dizendo agora

Não é possível encontrar o binário 'swtpm_setup' em $ PATH nenhum arquivo ou diretório

Eu fiz sudo apt-get install swtpm_setupno terminal, mas só me dá isso:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package swtpm_setup

Eu estou supondo que eu possa precisar de um PPA que tenha swtpm_setup; Não tenho certeza,

virtualization
  • 1 respostas
  • 1641 Views
Martin Hope
WGroleau
Asked: 2021-12-01 12:24:37 +0800 CST

Detalhes da instância multipass

  • 0

"O comando multipass launch sem nenhum argumento criará e iniciará uma nova instância"

Não está claro para mim o que realmente está acontecendo com isso. Ele está executando o Ubuntu em outro computador, x11/ssh/rlogin/etc ? Ou cria uma máquina virtual local?

A instância é persistente ou ela (e todos os seus dados e histórico) deixa de existir quando você termina com ela?

Se remoto e persistente, isso faz de você o único usuário ou pode haver outras contas de login nele?

virtualization
  • 1 respostas
  • 162 Views
Martin Hope
Aaron Franke
Asked: 2021-11-23 20:37:04 +0800 CST

Como faço para baixar a versão desktop do Ubuntu 21.10 para ARM?

  • 6

Para o Ubuntu 20.04, existe esta página que possui links para a área de trabalho do Ubuntu para x86_64 (amd64) e ARM64. Isso instala bem, mas estou tendo problemas para instalar bibliotecas, então vou tentar outra versão.

Para o Ubuntu 21.10, encontrei esta página que possui links para imagens do servidor e um link para uma versão do Raspberry Pi, mas não estou usando um Raspberry Pi e estou procurando um ISO para instalar em um dispositivo ARM de uso geral, como no 20.04 imagem.

Para o Ubuntu 22.04, encontrei esta página com imagens de visualização, mas acho que elas não são muito estáveis ​​para uso geral. Parece com o que estou procurando, mas o Parallels não é capaz de inicializá-lo.

Existe uma maneira de baixar a versão desktop do Ubuntu 21.10 Impish Indri para ARM?

virtualization
  • 1 respostas
  • 3472 Views
Martin Hope
Jags
Asked: 2021-09-04 09:10:12 +0800 CST

Ubuntu MATE: Como entrar e sair da tela cheia usando a combinação de teclas no virt-manager?

  • 1

Existe uma combinação de teclas para entrar e sair da exibição em tela cheia no virt-manager, enquanto uma máquina virtual está em execução e sua janela está aberta?

Obviamente eu posso entrar ou sair usando o mouse:

Para entrar: Clique View>Fullscreen

Para sair: Passe o mouse no centro superior e clique no Leave fullscreenícone.

Eu tentei combinações de teclas deste tópico do AskUbuntu: Como faço para desmaximizar a exibição em tela cheia no virt-manager? mas eles não estão funcionando no Ubuntu MATE 21.04. Muito Obrigado.

SO: Ubuntu MATE 21.04

gerente-virt: 1:3.2.0-3

virtualization
  • 1 respostas
  • 278 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve