Clibboard exchange not working in VMware player 5 - vmware-player

I have a Kubuntu 12.10 64bit as host and CentOS 6 32bit as guest system on VMware player 5 on a Dell Latitude E6510.
Despite the installation of VMware tools, the clipboard exchange is not working.
I use a very similar guest system within VirtualBox and there cliboard exchange works fine.
Has someone experienced the same with a configuration similar to mine?
And is it possible, that the guest system causes the problem instead of the player?

I've found thaht suspending and then re-playing the VM will re-enable clipboard exchange.
Clipboard exchange will then work both between VMs and the Host machine as well as between VMs themselves.
(VMWare Player 5.0, Windows 7)

After having installed several constellations like that, I experienced, that in general it works, I can exchange the clipboard in both ways and even the desktop size adapts to the size of the VM window, but still from time to time having a situation, where it doesn't work and also heard of many other people who experienced that.
So, if someone can enlighten me on that point, I'll be happy, but I'm closing my question hereby.

Related

Missing VT-x option in Surface Laptop 3 BIOS

VT-x option is missing Surface Laptop 3 BIOS menu(Intel i7-1065G7 procesor), without this VT-x enabled, I cannot run any virtualization on Windows. Anyone encountered the same problem and know how to fix?
Bit late on the response so I dont know if you have worked this out already, but it might help someone else. I also have a Surface Laptop 3 but with an AMD CPU etc. Virtualisation was also missing on my BIOS. My issue was that when using Oracle VirtualBox, the 'Start' opting to begin installing Ubuntu was 'grayed out' or unable to be selected. After searching around, all I needed to proceed with installing Ubuntu was to do what this guide says.
Essentially I just searched in the Windows taskbar 'Turn Windows features on our off'. Here I was able to enable 'Virtual Machines Platform'. I also enabled Windows Hypervisor Platform although I am not sure if this is necessary. Restarted the system and I was able to proceed and install Ubuntu through VirtualBox! Hope this helps!
I found a little option using the Oracle Virtual Box for the Intel version of your Surface!
In the Task Manager, under Performance, you can check that virtualization is disabled. Just follow my easy steps:
Run VirtualBox as an administrator
Create new virtual machine (it doesn't matter what you choose)
Run it for the first time
Go to Machine Settings > System > Processor—as you can see, it is set to a default of 1
Change the number from one core to more than one and somewhere on the bottom side of the GUI you could see an attention icon that says something like
virtualization off. If you save these setting it will be automatically turned on
Just press OK and voila! It will be turned on!
Now when I type this response I checked too if it is enabled in Task Manager and it was, so yeah!

Current state and solutions for OpenGL over Windows Remote [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 2 years ago.
The community reviewed whether to reopen this question 5 months ago and left it closed:
Original close reason(s) were not resolved
Improve this question
OpenGL and Windows Remote don't play along nicely.
Solutions for this are dependent on the use case and answers are fragmented across the vast depths of the net.
This is a write-up I wish existed when I started researching this, both for coders and non-coders.
Problem:
A RDP session of Windows does not expose the graphics card, at least not directly. For instance you cannot change the desktop resolution and GraphicsCard drivers usually just disable their setting menus. Starting a OpenGL context higher than v1.1 fails because of this. The, especially in support IRCs, often suggested "Don't use WindowsRemote" is unfortunately not an option for many. In many corporate environments Windows Remote is a constantly used tool and an app has to work there as well.
Non-Coder workarounds
You can start the OpenGL program, allowing it to see the graphics card, create an opengl context and then connect via WindowsRemote. This always works, as Windows remote just transfers the window content. This can be accomplished by:
A batch script, that closes the session and starts the program, allowing you to connect to the program already running. (Source)
Using VNC or other to remote into the machine, start the program and then switch to Windows Remote. (Simple VNC programm, also with a portable client)
Coder workarounds
(Only for OpenGL ES)Translate OpenGL to DirectX. DirectX works under Windows Remote flawselly and even has a Software rendering fallback built into DX11 if something fails.
Use the ANGLE Project to do this at run-time. This is what QT officially suggests you do and how Chrome and Firefox implement WebGL. (Source)
Switch to software rendering as a fall back. Some CAD software like 3dsMax does this for instance:
Under SDL2 you can use SDL_CreateSoftwareRenderer (Source)
Under GLFW version 3.3 will release OSMesa (Mesa's off screen rendering), in the mean time you can build the Github version with -DGLFW_USE_OSMESA=TRUE, but I personally still struggle to get that running (Source)
Directly use Mesa's LLVM pipe for a fast OpenGL implementation. (Source)
Misc:
Use OpenGL 1.1: Windows has a built in implementation of OpenGL 1.1 and
earlier. Some game engines have a built in fall back to this and thus
work under Windows Remote.
Apparently there is a middle-ware, that allows for even OpenGL 4 over Windows Remote, but it's part of a bigger package and is a commercial solution. (Source)
Any other solutions or corrections are greatly appreciated.
[10] Nvidia -> https://www.khronos.org/news/permalink/nvidia-provides-opengl-accelerated-remote-desktop-for-geforce-5e88fc2035e342.98417181
According to this article it seems that now RDP handles newer versions of Direct3D and OpenGL on Windows 10 and Windows Server 2016, but by default it is disabled by Group Policy.
I suppose that for performance reasons, using a hardware graphics card is disabled, and RDP uses a software-emulated graphics card driver that provides only some baseline features.
I stumbled upon this problem when trying to run Ultimaker CURA over standard Remote Desktop from a Windows 10 client to a Windows 10 host. Cura shouted "cannot initialize OpenGL 2.0 context". I also noticed that Repetier Host's "preview" window runs terribly slow, and Repetier detects only an OpenGL 1.1 card. Pretty much fits the "only baseline features" description.
By running gpedit.msc then navigating to
Local Computer Policy\Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Remote Session Environment
and changing the value of
Use hardware graphics adapters for all Remote Desktop Services sessions
I was able to successfully run Ultimaker CURA via with no issues, and Repetier-Host now displays OpenGL 4.6, and everything finally runs fast as it should.
Note from genpfault:
As usual, this Policy is kept in the HKLM registry group in
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
Set REG_DWORD:bEnumerateHWBeforeSW to 1 to turn ON using GPUs in RDP.
OpenGL works great by RDP with professional Nvidia cards without anything like virtual machines and RemoteFX. For Quadro (Quadro 4000 tested) you need driver 377.xx. For M60 you can use the same driver. If you want to use last driver with M60, you have to change the driver mode to WDDM mode (see c:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.1.pdf). It is possible that there are some problems with licensing in this last case.
Some people recommend using "tscon.exe" if you can: https://stackoverflow.com/a/45723167/32453 or using a scheduler to do it on native hardware: https://stackoverflow.com/a/41839102/32453 or creating a group policy:
https://community.esri.com/thread/225251-enabling-gpu-rendering-on-windows-server-2016-windows-10-rdp
maybe copy opengl32.dll (or opengl64.dll) to your executable's dir: https://blender.stackexchange.com/a/73014 and newer version of the dll: https://fdossena.com/?p=mesa/index.frag
Remote Desktop and OpenGL does not play very well. When you connect to a Windows box the OpenGL Driver is unloaded and you end up with software emulation of OpenGL.
When you disconnect from the Windows box the OpenGL driver is not reloaded. This causes issues when you are running tests on the machine as you have to physically login to the machine to reset the drivers.
The solution I ended up using was to:
Disable Remote Desktop.
Delete all other software for remote desktop access. Because if it's used for logging in remotely the current set of drivers loaded may be messed up.
Install NoMachine
NoMachine is my personal favourite (when it does not play up) for a number of reasons:
Hardware acceleration of compression (video of desktop).
Works on Windows and Linux.
Works well on low-bandwidth connections especially if the client and server have the necessary hardware for compression of the data stream.
On Linux you get your desktop as you last left it when you were sitting in front of the machine.
On Windows it does not affect OpenGL.
currently free for personal and commercial use. Do check the licence in case it's changed.
When NoMachine plays up it hogs the CPU but this happens rarely. It is however in active development
Others to consider:
TurboVNC
TightVNC
TeamViewer - only free for personal use.

VirtualBox (VT-x/AMD-V enabled) Ubuntu main machine crashes

i have several virtual machines running on virtual box on my main Ubuntu OS.
But after the security updates (Spectre and Meltdown) on windows they weirdly stopped working.
I tried looking up the problem on google but it seems like no one else has experienced this problem.
Side Notes:
I have 2 OS-Systems (Windows/Ubuntu) running on a dual boot.
I have VT-X/AMD-v enabled in my BIOS settings and i disabled Hyper-V
on my Windows machine
I dont know how those two OS-Systems are even connect but i noticed
that my time switches about a hour if i first start Ubuntu and then
Windows. Therefore i guess that they are linked in some way
Some of the Virtual Machines require VT-X/AMD-v. I tried starting
those who dont require VT-X/AMD-v without it and they worked fine.
All machines worked perfectly fine before
Not sure if this question is off-topic on this website. If it is i'd be happy if someone can link me to places where this question is suitable.
What you experience is most likely a bug in the Virtualbox. Submit an issue to their bug tracker.
I have VT-X/AMD-v enabled in my BIOS settings and i disabled Hyper-V on my Windows machine
This is fine and is actually required.
my time switches about a hour if i first start Ubuntu and then Windows.
Most likely the timezone settings are different in two OSes, or one OS assumes that the CMOS clock runs in UTC and another thinks it is in local time zone. It has nothing to do with your problem.
Some of the Virtual Machines require VT-X/AMD-v.
Apparently pure application level software works fine, but hardware-accelerated VMMs require kernel modules to be loaded, and those may need adjustments after kernel updates, especially so drastic ones.
Not sure if this question is off-topic on this website.
Yes, it looks like this question is more suitable for ServerFault https://serverfault.com/

windows 8 task manager virtualization option

I am trying to find a way to programatically detect that my program runs on a virtual machine, as far as I know there is no common way for parallels to do that.
Windows 8 task manager performance tab displays a "Virtaulization" option, what does it mean? When i run windows 8 in a virtual machine it changes to virtual processors and virtual machine: yes, so some how windows 8 detects that it is running inside a virtual machine, how does windows 8 detect that it is running in a virtual machine? Is it possible to get this information programatically? I tried both on parallels and vm ware and both works fine.
You should take a look at this interesting article Red Pill... or how to detect VMM using (almost) one CPU instruction by Joanna Rutkowska which used to be here but is now dead and can only be viewed with the waybackmachine here and Virtualization: Red Pill or Blue? by Steven McElwee which also used to be here but can now only be viewed here.
Heres the code:
int swallow_redpill()
{
unsigned char m[2+4], rpill[] = "\x0f\x01\x0d\x00\x00\x00\x00\xc3";
*((unsigned*)&rpill[3]) = (unsigned)m;
((void(*)())&rpill)();
return (m[5]>0xd0) ? 1 : 0;
}
It should return 1 if running in a virtual machine and 0 if not.
Edit: It may return false-positives on modern cpus and its apparently better to combine a couple of tests together to make sure the result is real.
On VMware you could check for the CD drive vendor- should be "VMware" or "VMware, Inc." or something like this.
I don't know about VMware workstation but on ESXi your MAC address generally starts with "00:50:56". You could make use of this, too.
Have a look at virt-what. Maybe you can port it to Windows.
And maybe How to detect install is running on a VM? can help you.

What does it mean to run a virtual OS in "headless mode"?

I've been hearing a lot about about how the new version of VMWare Fusion can run virtual operating systems in "headless mode".
A Google search makes it clear that other virtualisation products also have similar features, however, I have not been able to find a good description of what this actually means? What is happening when you do this?
Headless mode means that the virtual machine is running in the background without any foreground elements visible (like the Vmware Fusion application)
You would have no screen to see running the front end; i.e. the screen/console would not be visible, even though the operating system is running, and would typically have to access the machine via SSH.
For anyone that is interested, you can activate headless mode in VMWare Fusion by running the following command in Terminal.app
defaults write com.vmware.fusion fluxCapacitor -bool YES