bhyve Where can I send feature requests ? I mean I want to find some developer interested to add a nice feature to bhyve.

Hello.

I'm currently collaborating for improving bhyve adding a new features. I have loved to play with computers since I was very young. I have a medium knowledge and I'm not a programmer,but this does not stop me from achieving some nice projects. Asking and studying I can learn and do a lot of things. Recently I've collaborated with Corvin and Peter and we have been able to pass through an nVidia graphic card inside a Linux VM without getting the unfamous error 43. I think we have added some great value to bhyve. I'm still collaborating with Corvin and with other 2 developers (found by me,yes I'm trying to be a recruiter) to do the same,but with a Windows 10-11 vm. After 1 month of research we have found the technical reasons why a modern nvidia gpu if passed through inside a windows 10 / 11 vm produces the error 43 (actually the error 12). It happens because bhyve misses "line interrupts support for passed through devices" ; actually there is the need to add new lines of code inside the bhyve source code. As you probably know,this change is not a priority for the developers. Corvin is the most experienced bhyve developer right now in the group but he says that he doesn't have a great knowledge about how to implement INTx. So,where i could send a request to developers that may be interested adding the missing feature ?. Maybe in the next future they will do. To achieve the goal will be a very step forward for bhyve and for all the freebsd community. thanks.
 
I'd have doubts this is feasible at all. If it is, it's certainly not just adding some "lines of code". Classic line interrupts are wires (well, multiplexed by some arbiter in modern architectures, but still), so that's kind of problematic to virtualize, the CPU just receives the electric interrupt signal.

I'd be actually interested in such a feature, as I own some telephony PCI-E card that doesn't support MSI (message-signalled interrupts, these are delivered "in-band"). But then, there's a reason they are actually mandatory according to PCI-E standards. I'm surprised some "big name" company offers hardware violating that :o
 
If you already know all the devs involved and they don't want to work for free, there is nothing you can do on that type of budget. Maybe you can loan them an Nvidia card if they don't have one. That's about it.

I'm still collaborating with Corvin and with other 2 developers
I sincerely hope they are being volunteered with their consent :)
 
If you already know all the devs involved and they don't want to work for free, there is nothing you can do on that type of budget. Maybe you can loan them an Nvidia card if they don't have one. That's about it.


I sincerely hope they are being volunteered with their consent :)

let me understand a point : in your opinion,most of the freebsd developers work only if they get money ? So I've been lucky because until now I found some good developers all around me that are worked for free and everyone cooperated together ,giving patches and suggestions and we have achieved the goal that I've told before. Even an nvidia developer helped so much,without asking money. Maybe I'm too optimistic about the people's generosity or you are too much worried to get the money.
 
As an observation, you have been trying to get this Bhyve GPU passthrough working for a *long* time now (two years?). In many ways if you just got a job at something like the local supermarket, you could have possibly earned enough money in that time to provide a good incentive for the developers to implement it ;)
 
According to my observations, developers do something for two reasons:

  1. they are interested!
  2. their work is sponsored (for example, by an employer)

I want to find some developer interested to add a nice feature to bhyve

Most likely, if there were interested developers, they would have already done everything without you. Therefore, it remains either to wait or find a fund for this work.
 
As an observation, you have been trying to get this Bhyve GPU passthrough working for a *long* time now (two years?). In many ways if you just got a job at something like the local supermarket, you could have possibly earned enough money in that time to provide a good incentive for the developers to implement it ;)

Nope. Goal has been achieved on 13 november 2021. I think there are no doubts that's difficult to find the people who work for free. But there are. Anyway,one (like me) can object that "free is never born" ; but anyway,is Linux free or not for the end users,then ? but how can you call a group of people who work together to reach a shared goal and,since everyone gives his contribute like the others,so it's like everyone gets paid and in the end everyone earned the achievement of the ultimate goal ? Is it needed that someone gets the money out,in this kind of situation ? I call it an au pair exchange and it should be better developed as an alternative to outlaying money. Wasn't it just the GPL license /which allows to everyone to give a contribute,even for free/ that allowed linux to become technically superior to the various unixes, which instead are developed mainly by those who want to be paid at all costs ? It's a bad idea to understimate the desire and the will to work, at least for a while without being paid in money, perhaps just to show what he/she is worth or as a simple hobby.
 

I will reply to you with the words of Corvin : "I’ve created a patch for AMD over a year ago and it works fine. I’m close to merge this patch upstream. So, maybe upstream FreeBSD 14.0 will support GPU passthrough for AMD cards. INTx is an old technology. Don’t know why Nvidia still sticks to it",just because I've already asked to him why it works for AMD and not for Nvidia.

I'm looking for a bhyve developer who wants to add "INTx" in bhyve because it is needed to make work the nvidia cards passthrough with bhyve,this time on Windows 10-11. Maybe I even found him,but he does not reply to my email. So,maybe he is not interested.
 
According to my observations, developers do something for two reasons:

  1. they are interested!
  2. their work is sponsored (for example, by an employer)



Most likely, if there were interested developers, they would have already done everything without you. Therefore, it remains either to wait or find a fund for this work.

yeah,I've been lucky and also smart to being in the right place at the right time and I gave my humble contribution.

View: https://twitter.com/bhyve_dev/status/1459298927312662528
 
Oh right. I am actually very happy to hear that. It makes you our resident expert on this!

If you have time, it would make for a really helpful tutorial in the how-to section.

You know what ? I know that I can be insistent,but its necessary to spread the word to find the right people. This happens because the majority of them does not want to cooperate with an au pair exchange. They want money. But I'm only a very poor man. I can't give any money. But I'm tenacious. If there were more generous people all around (and also smarter), we would have achieved more goals in less time :D
 
So, why do you want GPU passthrough to Windows? CUDA is better supported on Linux anyway.

I'm interested to the development of bhyve. Not only to the passthru. I'm trying to help to improve bhyve trying many combinations and looking for bugs. I really like if one nvidia gpu can be passed to a windows 10 vm,first of all because I like the challenges. I like to break the limits that do not allow users to freely use many functions connected to the purchased item. And second,I like evething that sounds as geek / geekish that I can assemble and disassemble like legos,to understand how it works "inside". (I hope that I have used the right word,my native language is not the english).
 
I'm trying to help to improve bhyve trying many combinations and looking for bugs.
Are you a developer? No? Then I have bad news for you. Opensource doesn't work that way. Telling people what to do, based on requirements collected, is great, but it works for paid developers only. And even then, those developers might tell you that what you want "is impossible".

I don't imply it's actually impossible. Maybe there is some way to virtualize "line interrupts". I have doubts, but it's not my field of expertise, so maybe it's possible. Still you can't just confront opensource devs with a "business need". You will have to convince them that they will benefit. Or, of course, pay :D
 
Here is a challenge for you: run a benchmark with CUDA (clpeak will do) under bhyve in a Linux VM. Post result here.

Here I read "OpenCL is an open standard that can be used to program CPUs, GPUs, and other devices from different vendors, while CUDA is specific to NVIDIA GPUs. Although OpenCL promises a portable language for GPU programming, its generality may entail a performance penalty" ; so,if clpeak is an opecl benchmark tool and opencl "may entail a performance penalty" why should I use that tool ? it seems not the tool that can give a result that represents the true level of performance of the product.
 
blender-flex-fs8.png
By the way, Blender explicitly doesn't count.
 
If numbers are roughly similar you have nothing to worry about. I'm mostly interested in validating performance claims from this presentation (although I didn't take it seriously in the first place) and getting working CUDA examples from you (the Blender's settings screen only runs through API initialization, which clearly is not enough to claim it's working properly).
 
Do you want to help us or not ? you know what's needed to passthru an nvidia card inside a Windows 10 guest. I know that u can.
 
Back
Top