Enable 3D Hardware graphics acceleration for VMWare Workstation on Ubuntu

Due to my work I need to use Internet Explorer, but I can’t make Internet Explorer to work on Ubuntu environment. So Windows on virtual machine is my only option to use Internet Explorer. I normally use Virtualbox but this time I want to try out VMWare. VMware works fine for me, but I ran into 3D Hardware graphics acceleration error with Ubuntu when I run virtual machines. Luckily there is a way to Enable 3D Hardware graphics acceleration for VMWare Workstation 15 on Ubuntu 18.04

No 3D support is available from the host
The 3D features of the virtual machine will be disabled.

Hardware graphics acceleration is not available
As a result, this virtual machine may experience very low graphics performance. Follow the instructions provided by your graphics card vendor or Linux distriution in order to update your computer's OpenGL drivers.

Ubuntu / Kubuntu 18.04 by default does support 3D Hardware graphics acceleration, but for some reason VMWare can’t take advance of it because VMWare blacklisted Mesa DRI driver (Mesa is an open-source OpenGL implementation) for most Intel’s integrated graphic processors IGPUs. So we have to edit vmware’s preferences file to Enable 3D Hardware graphics acceleration for VMWare Workstation 15 on Ubuntu 18.04

Test3D Hardware graphic acceleration is enable on Ubuntu

To test if 3D Hardware graphic acceleration is enable on Ubuntu, you will have to install mesa-utils

$ apt-get install mesa-utils

After you have mesa-utils installed, run glxinfo and look for “direct rendering” line (hardware acceleration)

glxinfo | grep "direct rendering"

If the output is “yes” then hardware acceleration is enabled already in your Ubuntu system.

Enable 3D Hardware graphics acceleration for VMWare Workstation per Linux’s User

Edit vmware’s preferences file for your specific Linux’s user, make sure the current working directory is at /home/yourusername (replace yourusername with your actual user name). You can check your current working directory by using pwd command

$ pwd

To change your current working directory (replace yourusername with your actual user name).

$ cd /home/yourusername

Edit vmware’s preferences file

$ nano .vmware/preferences

add this line to the end preferences file

mks.gl.allowBlacklistedDrivers = "TRUE"

Your vmware’s preferences file should look like

.encoding = "UTF-8"                                                                                                                                                                                                                                                            
pref.lastUpdateCheckSec = "1552119343"                                                                                                                                                                                                                                         
pref.keyboardAndMouse.vmHotKey.enabled = "FALSE"                                                                                                                                                                                                                               
pref.keyboardAndMouse.vmHotKey.count = "0"                                                                                                                                                                                                                                     
pref.hostMRU.saveCredentials = "FALSE"                                                                                                                                                                                                                                         
pref.ws.session.window.count = "1"                                                                                                                                                                                                                                             
pref.ws.session.window0.tab.count = "3"                                                                                                                                                                                                                                        
pref.ws.session.window0.tab0.dest = ""                                                                                                                                                                                                                                         
pref.ws.session.window0.tab0.file = "home"                                                                                                                                                                                                                                     
pref.ws.session.window0.tab0.type = "home"                                                                                                                                                                                                                                     
pref.ws.session.window0.tab0.cnxType = "vmdb"                                                                                                                                                                                                                                  
pref.ws.session.window0.tab0.focused = "FALSE"                                                                                                                                                                                                                                 
pref.ws.session.window0.sidebar = "FALSE"                                                                                                                                                                                                                                      
pref.ws.session.window0.sidebar.width = "208"                                                                                                                                                                                                                                  
pref.ws.session.window0.statusBar = "TRUE"                                                                                                                                                                                                                                     
pref.ws.session.window0.tabs = "TRUE"                                                                                                                                                                                                                                          
pref.ws.session.window0.thumbnailBar = "FALSE"                                                                                                                                                                                                                                 
pref.ws.session.window0.thumbnailBar.size = "125"                                                                                                                                                                                                                              
pref.ws.session.window0.thumbnailBar.view = "same-folder"                                                                                                                                                                                                                      
pref.ws.session.window0.placement.left = "53"                                                                                                                                                                                                                                  
pref.ws.session.window0.placement.top = "40"                                                                                                                                                                                                                                   
pref.ws.session.window0.placement.right = "1086"                                                                                                                                                                                                                               
pref.ws.session.window0.placement.bottom = "916"                                                                                                                                                                                                                               
pref.ws.session.window0.maximized = "FALSE"                                                                                                                                                                                                                                    
vmWizard.guestKey = "windows9-64"                                                                                                                                                                                                                                              
vmWizard.installMediaType = "later"                                                                                                                                                                                                                                            
hint.ui.wizard.vm.showSuccessPage = "FALSE"                                                                                                                                                                                                                                    
hints.hideAll = "FALSE"                                                                                                                                                                                                                                                        
vmWizard.isoLocationMRU.count = "1"                                                                                                                                                                                                                                            
vmWizard.isoLocationMRU0.location = "/home/namhuy/Downloads/Win10_1809Oct_English_x64.iso"                                                                                                                                                                                      
pref.ws.session.window0.tab1.dest = ""
pref.ws.session.window0.tab1.file = "folder:localhost"
pref.ws.session.window0.tab1.type = "folder"
pref.ws.session.window0.tab1.cnxType = "vmdb"
pref.ws.session.window0.tab1.focused = "FALSE"
pref.ws.session.window0.tab2.dest = ""
pref.ws.session.window0.tab2.file = "/home/namhuy/vmware/Windows 10 x64/Windows 10 x64.vmx"
pref.ws.session.window0.tab2.type = "vm"
pref.ws.session.window0.tab2.cnxType = "vmdb"
pref.ws.session.window0.tab2.focused = "TRUE"
mks.gl.allowBlacklistedDrivers = "TRUE"

Enable 3D Hardware graphics acceleration for VMWare Workstation globally

The method above I showed you is for specific Linux User on your system. If you have multiple user in your system, you can enable 3D Hardware graphics acceleration for everyone without edit preferences for each single one.

$ sudo nano /etc/vmware/config

Add the same line to the end of vmware global configure file

mks.gl.allowBlacklistedDrivers = TRUE

Your vmware global configure file should look like

VMCI_CONFED = "yes"                                                                                                                                                                                                                                                            
NETWORKING = "yes"                                                                                                                                                                                                                                                             
initscriptdir = "/etc/init.d"                                                                                                                                                                                                                                                  
VMBLOCK_CONFED = "yes"                                                                                                                                                                                                                                                         
authd.fullpath = "/usr/sbin/vmware-authd"                                                                                                                                                                                                                                      
gksu.rootMethod = "sudo"                                                                                                                                                                                                                                                       
VSOCK_CONFED = "yes"                                                                                                                                                                                                                                                           
libdir = "/usr/lib/vmware"                                                                                                                                                                                                                                                     
bindir = "/usr/bin"                                                                                                                                                                                                                                                            
vmware.fullpath = "/usr/bin/vmware"                                                                                                                                                                                                                                            
vix.libdir = "/usr/lib/vmware-vix"                                                                                                                                                                                                                                             
installerDefaults.componentDownloadEnabled = "yes"                                                                                                                                                                                                                             
hostUUID = "6b910470-4243-11e9-acc0-847beb4bdfc3"                                                                                                                                                                                                                              
installerDefaults.autoSoftwareUpdateEnabled.epoch = "7737431270"                                                                                                                                                                                                               
vix.config.version = "1"                                                                                                                                                                                                                                                       
player.product.version = "15.0.2"                                                                                                                                                                                                                                              
installerDefaults.dataCollectionEnabled.epoch = "6597273746"                                                                                                                                                                                                                   
installerDefaults.dataCollectionEnabled = "no"                                                                                                                                                                                                                                 
installerDefaults.transferVersion = "1"                                                                                                                                                                                                                                        
installerDefaults.autoSoftwareUpdateEnabled = "no"                                                                                                                                                                                                                             
product.buildNumber = "10952284"                                                                                                                                                                                                                                               
authd.client.port = "902"                                                                                                                                                                                                                                                      
authd.proxy.nfc = "vmware-hostd:ha-nfc"                                                                                                                                                                                                                                        
product.version = "15.0.2"                                                                                                                                                                                                                                                     
workstation.product.version = "15.0.2"                                                                                                                                                                                                                                         
product.name = "VMware Workstation"                                                                                                                                                                                                                                            
prefvmx.minVmMemPct = "100"
mks.gl.allowBlacklistedDrivers = TRUE

 

4 thoughts on “Enable 3D Hardware graphics acceleration for VMWare Workstation on Ubuntu”

Leave a Reply

%d bloggers like this: