Intel 显卡无法开启 opengl 吗?

虽然已经成功安装上了 bumblebee,实现了双显卡切换,但默认独显是不启用的。曾经想过设置开机启用独显,但想想仅仅是为了桌面特效不值得。可集成的 intel 显卡无法在桌面效果中将混成类型设置成 opengl,很多特效无法启用,非常郁闷:难道 intel 显卡无法开启 opengl 吗?

刚在网上搜了一下,intel 好像真的不支持 opengl 呀。郁闷。

我在网上搜到的信息不太乐观,但仍不死心。
我的集成显卡是 Intel GMA HD 4600,不知道是否支持 openGL?有谁知道吗?先谢谢了。

居然有这样的方法:
:joy:
解决 Y460N 在 linux 下双显卡的若干问题
版权所有 © 鲨鱼辣椒 2011-2012
该死的 intel 和 nvidia 双显卡在 linux 下无法工作的问题集锦。
1,双显卡的工作原理是什么?
双显卡一般指的是一个 intel 集成显卡和另一块第三方独立显卡同时存在的一种硬件环境。我们这里只谈 nvidia,amd 的云云请离开。在这种环境下 intel 显卡负责 2D 运算以及信号输出,nvidia 显卡负责 3D 运算。当然,如果禁用 nvidia 显卡,intel 显卡也会承担 3D 运算。但是,由于显示信号的输出必须由 intel 显卡负责,主要是因为 nvidia 在笔记本上屏蔽了 2D 运算核心,因此不能禁用集成显卡。而 intel 显卡由于不支持 openGL,因此导致其性能在 linux 下很不给力。当然,如果你对操作系统原理很了解,你可以屏蔽 intel 集显的,因为 nvidia 也只是屏蔽掉独显的 2D 核心,物理上还是存在的,只要你能让系统直接调用 nvidia 的地址线去寻址,具体的我也不会,嘿嘿。
2,闪屏问题是咋回事?
有两个原因,一是驱动装上了,但是兼容不好,导致系统频繁在集成显卡和独立显卡上切换,导致闪屏。另一个原因可能是由于 linux 对 nvidia 的温控做的不好,导致显卡核心温度过高,使得信号输出出现故障,遇到此类问题的只需要给自己的本本加一个大功率散热底座就好。
3,有什么方法能解决这个问题呢?
一款软件叫 bumblebee,这个可以手动修改使用哪个显卡,虽然操作复杂一些。不过在大部分机器上是好用的。
目前的 kde gnome2.x gnome3 unity 桌面都有相应的版本,另外 gnome2.x 和 kde 的软件是通用的。gnome3 和 unity 没用过,不好乱讲。
bumblebee 并没有解决温控问题,因此还是需要一个散热底座。
具体操作如下:
……(此处省略若干字数)
4,不用独显行不行。
可以,通过修改 linux 的内核可以让其绕过独立显卡,这样就只使用集显卡,也不会闪屏了,不过华丽的桌面特效也没了。
5,还有别的方法么?——以下是重点:
有,旁门左道一直都有,据说有人安装上 nvidia 的驱动重启以后进入了命令行,然后用 sudo 删除了 nvidia 驱动,再重启又进入命令行,然后 start x-window 居然可以进入桌面,而且系统不再提示需要更新驱动,而特效也能正常打开。我的理解是单纯的 sudo 卸载肯定是卸载不干净的,没准恰恰的因为没卸载干净使得系统加载的驱动文件不全,正好把有兼容性问题的驱动丢失了,使得内核只挂载了一部分 opengl 的驱动。恰好如我所意。不过由于这个方法比较赌人品,一旦失败就去要重装 linux,因此建议大部分童鞋三四后行。

是给我希望吗:

英特尔的开源 Linux OpenGL 驱动已经比苹果自己开发的 OS X OpenGL 驱动更快。Phoronix 在硬件规格基本相同的 Mac Mini(双核 Intel Core i5,2GB 内存,OS X 10.8.3)和运行 Ubuntu 13.04 的 PC(四核 Intel Core i5 2415M,2GB 内存)上测试了英特尔集成显卡 HD 3000 的跨平台 OpenGL 性能。
结果显示,开源 Linux OpenGL 驱动比苹果快 30% 以上,而最新的英特尔开源 OpenGL 驱动与苹果驱动的性能差距更大。

这些信息是什么意思:

glxinfo | grep -i rend
direct rendering: Yes
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 0x302)
GL_NV_conditional_render, GL_AMD_draw_buffers_blend

从你给出的电脑型号看,你的 CPU 应该是第一代的 Intel Core i 系列,估计是 Westmere 制程。此代使用的集成显卡是 Intel HD Graphics,好像是胶水显卡,支持 OpenGL 2.1 (zh.wikipedia.org/wiki/Intel_HD_Graphics)。Intel 的集显的性能在近几代才说得过去(个人感觉 Haswell 的 HD Graphics 4400/4600 挺不错,IvyBridge 的 HD Graphics 4000 还行,之前的都不行),所以我感觉你的硬件“有点老了”。但是老归老,用还是应该能用的。

不管怎么说,Intel 都是最省心的

PS:如果我是你,我会选择老老实实的屏蔽独显、只用集显,因为我觉得我玩不转 bumblebee
PS2:要是你不缺钱,我倒建议你买 Haswell 的本。我找到过 Haswell、没有独显、没有 Windows 的本,例如 Dell Ins15V-4516。IvyBridge 也行,例如 ThinkPad E430(3254A56)。或者可以选我用的这款可以只用独显的 T430 的 bios 有只用独显的选项 。不好意思,鼓动你花钱了

我的电脑是联想 Y410,CPU 是 i5-4200,显卡是:NVIDIA GeForce GT 755M(独立)+Intel GMA HD 4600(集成)。前面是我引用的文章,不是我写的。
已经安装成功 bumblebee,运行得很好,默认就是禁用独显的,我只在用 blender 时才启用独显。因此我想在用集显时也能启用 OpenGL。既然您说集显是支持 OpenGL 的,知道如何设置吗?非常感谢。

哦,是这样,被引用的文章误导了。那你的集显很不错(4600?本子上不是该用 4400 吗)

你是说使用 bumblebee 之后还没有特效吗?还是安装 bumblebee 但在 BIOS 里禁用独显后没特效?
我没用过 bumblebee(因为太笨,wiki 压根没看懂),也幸运地可以只用独显,不知道 bumblebee 后的效果是啥样。我刚才试了一下只开集显,确实特效没了,但我估计与 Xorg 的配置有关。你可以看一下 lsmod 是否加载了 intel。在我这里因为安装了 nvidia 闭源驱动,intelfb 被 blacklist 了,我感觉和这个有关。

还有我感觉接着折腾可能会破坏辛辛苦苦弄好的 bumblebee
还有还有,应该写作 Intel HD Graphics 4600 吧

你的问题是不是可以等效为原使用独显,后改为使用集显,再重新开启特效
找了半天还真没有什么收获。如果当初安装的时候就用集显,估计特效是开着的。
我感觉很可能和内核的加载模块有关

最初安装好时就无法启用 OpenGL。安装好 bumblebee 后,使用集显是默认状态,独显是要用 optirun 命令才能调出来的。

我安装好系统后就在系统设置 - 桌面效果中设置启用 OpenGL,但设置好后一旦设置应用某些桌面特效,就弹出提示说这些桌面效果只能在开启 OpenGL 后才能应用。且一旦重启系统,原来在高级选项卡中设置好的 OpenGL 又变回 XRender,说明 OpenGL 根本无法设置成功。

刚才在终端输入了 ismod 命令,出现了以下信息,的确有几条是 intel 的,但我看不懂,不知是否已民加载了 intel 显卡?

Module                  Size  Used by
pppoe                  17874  2 
pppox                  13343  1 pppoe
ppp_generic            37136  6 pppoe,pppox
slhc                   13482  1 ppp_generic
fuse                   87139  3 
bbswitch               13932  0 
xt_tcpudp              12885  2 
xt_pkttype             12505  3 
xt_LOG                 17522  10 
xt_limit               12712  10 
af_packet              39587  4 
bnep                   19702  2 
bluetooth             341895  7 bnep
ip6t_REJECT            12940  3 
nf_conntrack_ipv6      14684  3 
nf_defrag_ipv6         18262  1 nf_conntrack_ipv6
ip6table_raw           12684  1 
ipt_REJECT             12542  3 
iptable_raw            12679  1 
xt_CT                  12869  4 
iptable_filter         12811  1 
ip6table_mangle        12701  0 
nf_conntrack_netbios_ns    12666  0 
nf_conntrack_broadcast    12590  1 nf_conntrack_netbios_ns
nf_conntrack_ipv4      15013  3 
nf_defrag_ipv4         12730  1 nf_conntrack_ipv4
ip_tables              27240  2 iptable_raw,iptable_filter
xt_conntrack           12761  6 
nf_conntrack           98519  6 nf_conntrack_ipv6,xt_CT,nf_conntrack_netbios_ns,nf_conntrack_broadcast,nf_conntrack_ipv4,xt_conntrack
ip6table_filter        12816  1 
ip6_tables             27208  3 ip6table_raw,ip6table_mangle,ip6table_filter
x_tables               34060  15 xt_tcpudp,xt_pkttype,xt_LOG,xt_limit,ip6t_REJECT,ip6table_raw,ipt_REJECT,iptable_raw,xt_CT,iptable_filter,ip6table_mangle,ip_tables,xt_conntrack,ip6table_filter,ip6_tables
arc4                   12616  2 
acpi_cpufreq           19572  1 
mperf                  12668  1 acpi_cpufreq
coretemp               13394  0 
kvm_intel             136915  0 
kvm                   475491  1 kvm_intel
crc32c_intel           12902  0 
ghash_clmulni_intel    13260  0 
aesni_intel            55441  0 
ablk_helper            13598  1 aesni_intel
cryptd                 16307  3 ghash_clmulni_intel,aesni_intel,ablk_helper
lrw                    13287  1 aesni_intel
aes_x86_64             17256  1 aesni_intel
xts                    12915  1 aesni_intel
gf128mul               14952  2 lrw,xts
alx                    72577  0 
snd_hda_codec_realtek    82329  1 
snd_hda_codec_hdmi     40844  1 
snd_hda_intel          42034  5 
snd_hda_codec         147417  3 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_intel
snd_hwdep              13603  1 snd_hda_codec
snd_pcm               110154  3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_seq                69780  0 
brcmsmac              548950  0 
brcmutil               14756  1 brcmsmac
cordic                 12575  1 brcmsmac
b43                   395893  0 
mac80211              598150  2 brcmsmac,b43
uvcvideo               84941  0 
videobuf2_core         35910  1 uvcvideo
cfg80211              218484  3 brcmsmac,b43,mac80211
iTCO_wdt               13481  0 
iTCO_vendor_support    13719  1 iTCO_wdt
ssb                    66991  1 b43
joydev                 17378  0 
mmc_core              119332  2 b43,ssb
videodev              129333  2 uvcvideo,videobuf2_core
pcmcia                 65900  2 b43,ssb
videobuf2_vmalloc      13021  1 uvcvideo
pcmcia_core            27630  1 pcmcia
lpc_ich                17062  0 
snd_timer              29371  2 snd_pcm,snd_seq
ideapad_laptop         18395  0 
sparse_keymap          13891  1 ideapad_laptop
sr_mod                 22296  0 
videobuf2_memops       13645  1 videobuf2_vmalloc
microcode              35785  0 
snd_seq_device         14498  1 snd_seq
serio_raw              13376  0 
pcspkr                 12719  0 
i2c_i801               22440  0 
sg                     36525  0 
cdrom                  46688  1 sr_mod
snd                    91489  19 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_seq,snd_timer,snd_seq_device
mfd_core               13436  1 lpc_ich
bcma                   44635  2 brcmsmac,b43
mdio                   13808  1 alx
rfkill                 26530  5 bluetooth,cfg80211,ideapad_laptop
battery                18769  0 
mei                    79557  0 
soundcore              15048  1 snd
shpchp                 37033  0 
snd_page_alloc         18711  2 snd_hda_intel,snd_pcm
pci_hotplug            35160  1 shpchp
ac                     13133  0 
wmi                    19071  0 
autofs4                42771  2 
thermal                18712  0 
i915                  605629  0 
xhci_hcd              103975  0 
drm_kms_helper         50840  1 i915
drm                   293115  2 i915,drm_kms_helper
i2c_algo_bit           13414  1 i915
video                  19401  1 i915
button                 13953  1 i915
processor              44950  5 acpi_cpufreq
thermal_sys            24957  3 thermal,video,processor
scsi_dh_rdac           17409  0 
scsi_dh_emc            17259  0 
scsi_dh_hp_sw          12895  0 
scsi_dh_alua           17162  0 
scsi_dh                14844  4 scsi_dh_rdac,scsi_dh_emc,scsi_dh_hp_sw,scsi_dh_alua

glxinfo | grep -i rend
direct rendering: Yes
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 0x302)
GL_NV_conditional_render, GL_AMD_draw_buffers_blend

说明默认加载的并不是 intel 驱动,如果能设置加载的默认驱动是 intel,我想就能成功了。

修改/etc/X11/xorg.conf.d/50-device.conf文件:
原文:

# Having multiple "Device" sections is known to be problematic. Make
# sure you don't have in use another one laying around e.g. in another
# xorg.conf.d file or even a generic xorg.conf file. More details can
# be found in https://bugs.freedesktop.org/show_bug.cgi?id=32430.
#
#Section "Device"
#  Identifier "Default Device"
#
#  #Driver "radeon"
#
#  ## Required magic for radeon/radeonhd drivers; output name
#  ## (here: "DVI-0") can be figured out via 'xrandr -q'
#  #Option "monitor-DVI-0" "Default Monitor"
#
#EndSection

改为:

# Having multiple "Device" sections is known to be problematic. Make
# sure you don't have in use another one laying around e.g. in another
# xorg.conf.d file or even a generic xorg.conf file. More details can
# be found in https://bugs.freedesktop.org/show_bug.cgi?id=32430.
#
Section "Device"
  Identifier "Default Device"

  #Driver "radeon"
  Driver “intel”
  ## Required magic for radeon/radeonhd drivers; output name
  ## (here: "DVI-0") can be figured out via 'xrandr -q'
  #Option "monitor-DVI-0" "Default Monitor"

EndSection

失败。重启后无法进入系统,只能进入修复模式。

google 了一下 Gallium 0.4 on llvmpipe,发现网上蛮多人有这个问题,都是与 intel 显卡有关,估计是 intel 驱动不起作用后,Gallium 0.4 on llvmpipe 驱动才起了作用。

我的电脑 cpu 是第一代的 i3, Nvidia GT335M 的显卡,KDE 4.10,装了 bumblebee 以后 glxspheres 在集显和 optirun 下都可以运行啊。
桌面特效本来也是关的,到 KDE 系统设置 - 桌面效果 - 高级 把混成类型从 XRender 改成 OpenGL 就可以开特效了……虽然老集显效果丑了点,不过总还是有的嘛。

我的机子上:
glxinfo|grep -i rend
direct rendering: Yes
OpenGL renderer string: Mesa DRI Intel® Ironlake Mobile
GL_NV_conditional_render, GL_ARB_ES2_compatibility, GL_ARB_debug_output,

是 Mesa 驱动,不知道对你有没有帮助

我的设置不了,设置完会重新变回 XRender。

请问如何设置?