Bounty and timeline on vmware 5.x on FreeBSD 6.x
Eric Anderson
anderson at freebsd.org
Thu Apr 5 13:15:11 UTC 2007
On 04/05/07 02:12, Per Hedeland wrote:
> Eric Anderson <anderson at freebsd.org> wrote:
>> On 04/04/07 17:17, Per Hedeland wrote:
>>> Christian Laursen <xi at borderworlds.dk> wrote:
>>>> "Rick C. Petty" <rick-freebsd at kiwi-computer.com> writes:
>>>>
>>>>> On Wed, Apr 04, 2007 at 01:44:01PM -0500, Eric Anderson wrote:
>>>>>> libglibmm-2.4.so.1 => not found
>>>>>> libglibmm_generate_extra_defs-2.4.so.1 => not found
>>>>>> libatkmm-1.6.so.1 => not found
>>>>>> libpangomm-1.4.so.1 => not found
>>>>>> libgdkmm-2.4.so.1 => not found
>>>>>> libgtkmm-2.4.so.1 => not found
>>>>>> libgnomecanvasmm-2.6.so.1 => not found
>>>>>> libsexymm.so.1 => not found
>>>>> I suspect most of these come from their GNOME C++ counterparts, such as
>>>>> glibmm, gtkmm, gnomemm, libgnomecanvasmm, libsexymm, et al. Not sure if
>>>>> this would work but you could try installing the freebsd ports for these
>>>>> and adding some /etc/libmap.conf entries??
>>>> That will not work. Linux binaries need linux libraries, so the right thing
>>>> to do would be to make linux-* ports of the neccesary linux libraries.
>>> I don't want to dissuade anyone from trying, but unless things have
>>> changed drastically from vmware 3/4, the hard part of getting it to work
>>> on FreeBSD isn't finding Linux libraries for the binary, nor even
>>> fiddling with the Linuxolator to provide additional support for it (if
>>> that is even needed), but to port the Linux versions of the vmmon and
>>> (assuming you want networking) vmnet kernel modules.
>>>
>>> Source for these used to be, and probably still is, available in the
>>> vmware distribution, but it's a significant amount of work for someone
>>> with good kernel knowledge, and the requirements seem to be more or less
>>> different for each combination of vmware version and FreeBSD version
>>> (i.e. you need to produce vmware-version-specific ports with lots of
>>> FreeBSD #ifdefs). The diffs for vmware-3-vmmon are over 7000 lines.
>>>
>>> Orlando had "almost finished" the vmmon port for vmware 4, but there
>>> were still some problems left (e.g. it couldn't run on SMP FreeBSD
>>> IIRC), and he hadn't even started on vmnet (I believe that's the simpler
>>> of the two though, you basically replace it completely with an interface
>>> to if_tap which has/had most of the functionality needed). I had vmware
>>> 4 running briefly with his preliminary vmmon port, but without
>>> networking it was useless to me.
>>>
>>> Note that this isn't optional optimization stuff like kqemu, vmware will
>>> not run without vmmon, and will not have networking without vmnet.
>>> Again, this is the case with vmware 3/4, I haven't even looked at
>>> current versions.
>> Thanks for the info - all good points. We'll never know unless someone
>> at least *tries* to make it work, which is all I'm doing. I just want
>> to know what the barriers are, so someone who just wants to code can
>> jump right in and start hacking away without all this other stuff in the
>> way.
>
> That's great of course, I just wanted to spare some/anyone the
> disappointment of thinking the lib dependencies were the major obstacle,
> only to find out that this isn't the case after a lot of boring work.:-)
Yes, understood. I'm not particularly enjoying this part, but nobody
else seems to be jumping up to the task, so I figured I could at least
start on it. I'm not a library guru, so I'm spinning a lot, but
eventually I'll have those ironed out at least.
>> Maybe the real question is, what is QEMU missing, that VMWare has? I
>> can think of three things right off:
>>
>> - Good video card support
>> - Real PXE enabled network card
>> - VM extension use (huge in my opinion)
>
> Personally (a relatively happy qemu user since a year or so) I don't
> care at all about the first two - and don't know if I care about the
> last one - what is it?:-)
The first one is essential for running any graphical OS at full screen
on a halfway decent system (my laptop has 1920x1200 resolution!). Sure
I can run in a smaller window, but my point is that it isn't synchronous
to vmware in that case.
PXE boot support is essential for a lot of people doing lots of kernel
development, either in FreeBSD or Linux. Of course you don't have to
have that, but I've found it to be incredibly helpful. QEMU actually
has etherboot support, which supports pxe booting, but the FreeBSD BTX
goo is slightly unhappy with that, and causes it not to work. I don't
know anything about BTX or assembly, so I can't help there.
The last one is relating to newer processors' feature of virtual machine
extensions, both Intel ('Core' and 'Core 2') and latest AMD processors
have that. What that allows, is basically the virtual machine to run
it's own virtual processor, using the real processor to do most of the
CPU virtualization - which means the system runs native speed. I can
tell you from using VMWare workstation 5.5 with that extension, that it
is *FAST*. I think only work on kqemu kernel module would be needed
there, but I don't know really.
Eric
More information about the freebsd-emulation
mailing list