Code Monkey home page Code Monkey logo

quickpassthrough's People

Contributors

digitalsparky avatar hikariknight avatar philclifford avatar yunginnanet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

quickpassthrough's Issues

vfio_virqfd module not found

Does the script still work correctly? I read that vfio_virqfd is now built into the kernel directly?

-> Running build hook: [fsck]
==> ERROR: module not found: 'vfio_virqfd'
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: '/boot/initramfs-linux-fallback.img'
==> WARNING: errors were encountered during the build. The image may not be complete

Plans dynamic binding/releasing?

Hi, I must say that i really like your work! It worked flawlessly for me!

I'm just wondering if you have any ideas or plans for making a dynamic version of this? Lets say i want to detach my 3070 when i start my VM and then reattach it again to my host when i shut the VM down.

The app crashes on AMD iGPU

I have AMD Ryzen 7600X CPU with Raphael iGPU and RTX 4060 dGPU.

I want to make iGPU pass to guest OS while Linux host using NVIDIA GPU. But after select the IOMMU groups the app crashes and returns panic.

panic: runtime error: index out of range [0] with length 0

goroutine 1 [running]:
github.com/HikariKnight/quickpassthrough/internal/pages.genVBIOS_dumper(0xc000100870)
/home/runner/work/quickpassthrough/quickpassthrough/internal/pages/03_vbios_extract.go:30 +0x37f
github.com/HikariKnight/quickpassthrough/internal/pages.viewGPU(0xc000100870, {0x0?, 0x0, 0x2?})
/home/runner/work/quickpassthrough/quickpassthrough/internal/pages/02_select_gpu.go:107 +0x4de
github.com/HikariKnight/quickpassthrough/internal/pages.SelectGPU(0xc000100870)
/home/runner/work/quickpassthrough/quickpassthrough/internal/pages/02_select_gpu.go:36 +0x105
github.com/HikariKnight/quickpassthrough/internal/pages.Welcome()
/home/runner/work/quickpassthrough/quickpassthrough/internal/pages/01_welcome.go:48 +0x271
github.com/HikariKnight/quickpassthrough/internal.Tui()
/home/runner/work/quickpassthrough/quickpassthrough/internal/ui_main.go:23 +0xbb
main.main()
/home/runner/work/quickpassthrough/quickpassthrough/cmd/main.go:23 +0xa5

By the way, in the error log, the home directory is not same as mine. My /home is /home/kaan.

How can I solve that issue?

Audio Controller not getting using kernel driver vfio-pci

i have 2 gpus and virtualization enabled, so it should work
this is the output of

lspci -k | grep -E "vfio|NVIDIA"
07:00.0 VGA compatible controller: NVIDIA Corporation GA106 [GeForce RTX 3060 Lite Hash Rate] (rev a1)
        Kernel driver in use: vfio-pci
07:00.1 Audio device: NVIDIA Corporation GA106 High Definition Audio Controller (rev a1)

also, i checked dmesg and it showed that both devices are being added:

[    6.910118] vfio_pci: add [10de:2504[ffffffff:ffffffff]] class 0x000000/00000000
[    6.910137] vfio_pci: add [10de:228e[ffffffff:ffffffff]] class 0x000000/00000000
vfio_pci.ids=10de:2504,10de:228e

(they are both correct, i triple checked)
and also in /etc/modprobe.d/vfio.conf i also added options vfio-pci ids=10de:2504,10de:228e but it didnt work either

Single GPU support?

Does this have support built in if you don't have two gpus and just want to pass through one?

Quickemu Guide

I am confused, is it possible and if how to use this with quickemu?

vfio-setup script says that both dGPUs must be passed through

When running vfio-setup, I get to the following output:

These are your graphic cards, they have to be in separate groups.
The graphic card you want to passthrough cannot be in a group with other devices that
does not belong to itself. Both cards must also have unique hardware ids [xxxx:yyyy]!:

#------------------------------------------#
IOMMU Group  15: NVIDIA Corporation GP104 [GeForce GTX 1070] [10de:1b81] (rev a1)
IOMMU Group  17: NVIDIA Corporation GA104 [GeForce RTX 3070 Ti] [10de:2482] (rev a1)
#------------------------------------------#

Press q to quit
Which group number do you want to check?: 

I want to pass through my RTX 3070 Ti, so I enter '17' here and press ENTER, then receive the following output:

For this card to be passthrough-able, it must contain only:
* The GPU/Graphic card
* The GPU Audio Controller

Optionally it may also include:
* GPU USB Host Controller
* GPU Serial Port
* GPU USB Type-C UCSI Controller
* PCI Bridge (if they are in their own IOMMU groups)

#------------------------------------------#
IOMMU Group  15: Audio device: NVIDIA Corporation GP104 High Definition Audio Controller [10de:10f0] (rev a1)
IOMMU Group  15: VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1070] [10de:1b81] (rev a1)
IOMMU Group  17: Audio device: NVIDIA Corporation GA104 High Definition Audio Controller [10de:228b] (rev a1)
IOMMU Group  17: VGA compatible controller: NVIDIA Corporation GA104 [GeForce RTX 3070 Ti] [10de:2482] (rev a1)
#------------------------------------------#

To use any of these devices for passthrough ALL of them (except PCI bridges in their own IOMMU groups) has to be passed through to the VMs
To return to the previous page just press ENTER without typing in anything.
Do you want to use these devices for passthrough? [y/N]: 

Is it normal behaviour for the script to say that both GPUs must be passed through, despite being in separate groups?

How to disable?

Since running the script, the main system (manjaro) cannot use the dedicated nvidia card. I have since reinstalled the system, but the situation has not changed. If I install nvidia's nonfree drivers, the system won't boot. If the system starts with free drivers, there is no problem, but the graphics performance is very poor due to the lack of a dedicated card

Can u help me to get the dedicated card back?

Thank you

2 Exact Same GPUs

I have 2 AMD RX580's (identical). Is it possible to have VFIO work?

Can not proceed the script under the condition of "server returned 404 Not Found"

not sure, if the following might be considered as an issue, and thank you for taking your time of reading this.

sudo ./quickpassthrough

Terminal returns:

Download failed: server returned 404 Not Found
2024/04/02 16:32:22 If the above error is 404, then we could not communicate with the GitHub API
 Please manually download and extract ls-iommu to: utils/
You can download it from: https://github.com/HikariKnight/ls-iommu/releases

Thus, I followed the instruction, and downloaded the ls-iommu_Linux_x86_64.tar.gz file from the corresponding project release page and extract the ls-iommu to the directory quickpassthrough/utils/

and, rerun the command

sudo ./quickpassthrough

Terminal returns:

Download failed: server returned 404 Not Found
Existing ls-iommu binary detected in "utils/", will use that instead as the GitHub API did not respond.
2024/04/02 16:33:15 open utils/ls-iommu_Linux_x86_64.tar.gz: no such file or directory

then, I copied the ls-iommu_Linux_x86_64.tar.gz file to the utils directory, and rerun the same command.

the following is the Terminal output:

Download failed: server returned 404 Not Found
Existing ls-iommu binary detected in "utils/", will use that instead as the GitHub API did not respond.
2024/04/02 16:46:43 Failed to open: utils/ls-iommu_Linux_x86_64.tar.gz
2024/04/02 16:46:43 open utils/ls-iommu_Linux_x86_64.tar.gz: no such file or directory

and the file ls-iommu_Linux_x86_64.tar.gz I coped to utils directory was deleted automatically.

the problem seems to be recursive.

Name suggestions

VFIO-enabler is just a placeholder name.
I am looking for suggestions for proper name for the project.

Some ideas that have been suggested are

  • QuickVFIO
  • QuickPasstrhough

Error: failied to determine memory area for node

I'm getting following error message using your script:
WARNING: failed to determine memory area for node: open /sys/devices/system/node/node0/memory_failure/state: no such file or directory

Its an infinitive loop and i need to abort.
System is running in EFI mode and does has entries in the folder, but not "state"

โฏ ls /sys/devices/system/node/node0/memory_failure/ delayed failed ignored recovered total

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.