由於vmware對opengl的支援有限,目前最新版本的vmware workstation15 pro只支援到opengl3.3的core profile(核心模式),在有條件的前提下建議安裝linux真機,可以裝win10+deepin或者win10+manjaro,win10+ubuntu的雙系統。
在linux下,可以通過sudo glxinfo | grep "opengl"檢視當前的opengl版本,如圖所示:
前面的core profile指的是opengl的核心模式版本,後面的es指的是opengl es版本,這個一般在安卓,ios等裝置上用的多。如果檢視版本的命令列提示無效,輸入以下命令後即可:sudo apt-get install mesa-utils。
2.檢查虛擬機器的vmwgfx版本,必須是大於2.9.0。命令列如下:dmesg | grep -i vmwgfx。
3.更新到最新版本的mesa 3d 圖形庫及 svga 驅動
sudo add-apt-repository ppa:ubuntu-x-swat/updates
sudo apt-get update
sudo apt-get dist-upgrade
這個問題是由於vmware只支援3.3版本的核心模式(core profile),並不支援其相容模式(compatibility profile),設定只應用核心模式即可.
1.在qt中
在實現opengl功能的類(繼承了qopenglwidget的類)中的建構函式裡新增:
qsu***ceformat fmt;
fmt.setversion( 3, 3 );
fmt.setprofile( qsu***ceformat::coreprofile );
setformat( fmt );
qsu***ceformat::setdefaultformat( fmt );
2.在glfw中
在main.cpp中加入:
glfwwindowhint(glfw_context_version_major, 3);
glfwwindowhint(glfw_context_version_minor, 3);
glfwwindowhint(glfw_opengl_profile, glfw_opengl_core_profile);
這是由於開啟了虛擬機器的3d加速,在虛擬機器的設定—顯示裡把3d加速關閉即可,如圖所示。
如果出錯的是#version 330版本的著色器**,這可能是由於glsl版本過低造成的問題,可以參考這篇將glsl3.3的著色器**改為glsl1.x:
雖然補救了很多,但是在虛擬機器中使用opengl還是容易出現許多亂七八糟的錯誤,畢竟opengl主要是基於電腦上的顯示卡的,連opengl的庫都是顯示卡生產商開發的。vmware固然可以虛擬,但效果不是很好,有條件的還是使用雙系統吧,更新一下驅動就能用上最新的opengl版本,或者直接在windows上開發。
圖為筆記本雙系統(win10+deepin)上使用的deepin15.11 linux:
虛擬機器的使用
虛擬機器首先會看到的是 新建虛擬機器,開啟虛擬機器 然後哦我們點選後,便可以在硬碟當中尋找虛擬機器的檔案,然後進行開啟。便如上所示,這個時候開啟便可以看見之前裝過的虛擬機器了。然後我們講如何進行新建虛擬機器 在點選新建虛擬機器之後我們會看到兩個選項 如上所示,我們會遇到兩個選項,其實這兩個和我們在安...
虛擬機器安裝jenkins遇到的問題
最近學習打算學習jenkins.所以安裝了用虛擬機器virtrualbox安裝了centos7,下面紀錄在安裝中遇到的問題 網絡卡1 設定為nat模式,用來讓虛擬機器系統連線網路 有時候設定了nat模式仍然不能上網,是應為網絡卡沒有開啟,進入路徑 etc sysconfig network scri...
虛擬機器裝ubuntu遇到的問題
1 安裝過程 在virtualbox中安裝的時候出現了問題,一直停留在下面的介面。一開始找不到原因,我以為是virtualbox損壞了,然後我又在電腦裝了vmware,在安裝時候出現了下面的介面,才發現原來是電腦bios沒有設定可以使用虛擬機器。2 vb中安裝ubuntu後 退出ubuntu再重新進...