• Updating/upgrading Intel graphics with NVidia


    Hi. I am trying to upgrade Intel graphics with Nvidia support on my DellXPS 15. Have been trying to play Metro 2033 Redux from Steam. Each time I make an attempt to play the game, I get the following pop-up error message:

    OpenGL 4.0 has not been found. Please make sure that your video card and driver support OpenGL 4.0
    

    I am dual-booting with Fedora 21. Same issue.
    Here are some specs on my video/graphics for my laptop:

    [[email protected] ~]$ lspci
    00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06)
    00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
    00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
    00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
    00:04.0 Signal processing controller: Intel Corporation Device 0c03 (rev 06)
    00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)
    00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)
    00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)
    00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
    00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)
    00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)
    00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5)
    00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)
    00:1f.0 ISA bridge: Intel Corporation HM87 Express LPC Controller (rev 05)
    00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)
    00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)
    00:1f.6 Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal Management Controller (rev 05)
    02:00.0 3D controller: NVIDIA Corporation GK107M [GeForce GT 750M] (rev a1)
    06:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b)
    07:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5249 PCI Express Card Reader (rev 01)
    

    When having gone to the Steam page at the Arch Wiki, I didn’t find anything of relevance there. However, since my laptop is 64 bit and I did install the lib32-mesa-libgl (wasn’t too sure if Metro2033 redux needs these lib files, I still entered the following into terminal with expected results:

    bash: glxinfo32: command not found
    

    Additional information of my laptop continues below:

    [[email protected] ~]$ glxinfo | grep OpenGL version OpenGL version string: 3.0 Mesa 10.6.1

    I need to upgrade to OpenGL 4.0 for Metro 2033 Redux to properly play on my laptop.
    An alternative terminal output to only display the version number is given here below

    [[email protected] ~]$ glxinfo | awk '/OpenGL version/ {print $4}' 3.0

    and here

    ` [[email protected] ~]$ lspci -k | grep -A 2 -E (VGA|3D)
    00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
    Subsystem: Dell Device 05fe
    Kernel driver in use: i915

    02:00.0 3D controller: NVIDIA Corporation GK107M [GeForce GT 750M] (rev a1)
    Subsystem: Dell Device 05fe
    Kernel driver in use: nouveau`

    and here

    [[email protected] ~]$ lspci -vnn | grep -i vga 00:02.0 VGA compatible controller [0300]: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller [8086:0416] (rev 06) (prog-if 00 [VGA controller])

    and here

    [[email protected] ~]$ grep -i chipset /var/log/Xorg.0.log [ 17.806] (II) intel: Driver for Intel(R) Integrated Graphics Chipsets: [ 17.806] (II) VESA: driver for VESA chipsets: vesa [ 17.841] (--) intel(0): Integrated Graphics Chipset: Intel(R) HD Graphics 4600

    More info here as well

    [[email protected] ~]$ lspci | grep -i --color 'VGA' 00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06

    Also providing this info from terminal output

    [[email protected] ~]$ pacman -Ss xf86-video extra/xf86-video-fbdev 0.4.4-4 (xorg-drivers xorg) [installed] xtra/xf86-video-intel 1:2.99.917+364+gb24e758-1 (xorg-drivers xorg) [installed] extra/xf86-video-vesa 2.3.4-1 (xorg-drivers xorg) [installed]

    I have gone to several sites to make separate determined conclusions as to what specific information I own and what drivers I need to upgrade in order to alleviate this problem and hence be able to play above mentioned game.

    I have gone to the nouveau CodeNames as per Arch Wiki instructions:
    Link is here: CodeNames

    Since my output above states that I have [GeForce GT 750M] which one am I suppose to choose in order to upgrade my video support for OpenGL?

    I have also visited the Intel Graphics wiki page on the Arch Wiki.
    Intel Graphics

    I have already installed the following packages:
    xf86-video-intel, mesa-libgl, and the lib32-mesa-libgl library packages. When going to the VA-API link from the above given Intel Graphics link: VA-API>Open Source Drivers > Intel, should I install this driver support or the Nvidia support?

    When going to VA-API> Proprietary Drivers> Nvidia, should I also install this driver support?

    I have gone to the legacy driver web link provide here: Legacy Drivers

    I have not found the GK107M [GeForce GT 750M] as provided in the previous terminal output displayed above. So therefore my driver must be newer.

    Since I am unsure which packages to download onto my Dell, I am quite confused with which packages to install as, at least from my terminal output and degree of understanding, which correct video/graphics should I install to upgrade to OpenGL 4.0

    Thanks in advance for your support.

    Download " antergos-wallpapers-extra " and enjoy community sponsored wallpapers.

    Use the "Linux Beginner Search Engine"

    https://cse.google.com/cse/home?cx=017607476515012185699:b_owgx6xyi0

  • @Modisc Could you please post back here the full output of the following three commands:

    lspci -vnn | grep '\''[030[02]]'
    inxi -Gxx
    optirun inxi -Gxx
    

    To be useful for GLX investigations, inxi utility must be installed along with mesa-demos package:

    sudo pacman -S inxi mesa-demos
    

    The expected output should look like:

    $ lspci -vnn | grep '\''[030[02]]'
    00:02.0 VGA compatible controller [0300]: Intel Corporation Haswell-ULT Integrated Graphics Controller [8086:0a16] (rev 09) (prog-if 00 [VGA controller])
    01:00.0 3D controller [0302]: NVIDIA Corporation GK107M [GeForce GT 750M] [10de:0fe4] (rev ff) (prog-if ff)
    $
    

    $ inxi -Gxx
    Graphics:  Card-1: Intel Haswell-ULT Integrated Graphics Controller bus-ID: 00:02.0 chip-ID: 8086:0a16
           Card-2: NVIDIA GK107M [GeForce GT 750M] bus-ID: 01:00.0 chip-ID: 10de:0fe4
           Display Server: X.Org 1.17.2 drivers: intel (unloaded: fbdev,vesa) Resolution: [email protected]
           GLX Renderer: Mesa DRI Intel Haswell Mobile GLX Version: 3.0 Mesa 10.6.1 Direct Rendering: Yes
    $
    

    the last, third command will most probably fail for you. If not, its output will look like:

    $ optirun inxi -Gxx
    Graphics:  Card-1: Intel Haswell-ULT Integrated Graphics Controller bus-ID: 00:02.0 chip-ID: 8086:0a16
           Card-2: NVIDIA GK107M [GeForce GT 750M] bus-ID: 01:00.0 chip-ID: 10de:0fe4
           Display Server: X.Org 1.17.2 drivers: intel (unloaded: fbdev,vesa) Resolution: [email protected]
           GLX Renderer: GeForce GT 750M/PCIe/SSE2 GLX Version: 4.5.0 NVIDIA 352.21 Direct Rendering: Yes
    $
  • Thank you for your reply, just.
    Here is further output:

    00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
    
    00:02.0 VGA compatible controller [0300]: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller [8086:0416] (rev 06) (prog-if 00 [VGA controller])
    02:00.0 3D controller [0302]: NVIDIA Corporation GK107M [GeForce GT 750M] [10de:0fe4] (rev a1)`
    
    Graphics:  Card-1: Intel 4th Gen Core Processor Integrated Graphics Controller
               bus-ID: 00:02.0 chip-ID: 8086:0416
               Card-2: NVIDIA GK107M [GeForce GT 750M]
               bus-ID: 02:00.0 chip-ID: 10de:0fe4
               Display Server: X.Org 1.17.2 drivers: intel (unloaded: fbdev,vesa)
               Resolution: [email protected]
               GLX Renderer: Mesa DRI Intel Haswell Mobile
               GLX Version: 3.0 Mesa 10.6.1 Direct Rendering: Yes
    
    optirun inxi -Gxx
    bash: optirun: command not found

    Download " antergos-wallpapers-extra " and enjoy community sponsored wallpapers.

    Use the "Linux Beginner Search Engine"

    https://cse.google.com/cse/home?cx=017607476515012185699:b_owgx6xyi0

  • Your Integrated Intel card does not support GL 4.0. You need to enable your nvidia card when you want to play the game. Do you have drivers installed for the nvidia card? If not you can try the open source driver first and then if need be you can try the nvidia driver.

    sudo pacman -S xf86-video-nouveau
    
  • @Modisc OK, very good. The hardware configuration is clear.

    1. You have the best videocard that exist for Linux - an Nvidia-Optimus hybrid one.

    2. You have not installed the best tool to control it - the Bumblebee.

    3. As you can see, mine card is exactly as your one - the GeForce GT 750M.

    4. I have no problem to play any game on Steam. Though I don’t have Metro 2033 Redux, which you’re trying to run, my Metro Last Light, Serious Sam 3, other heavy OpenGl stuff is smooth as silk.

    5. Your best bet is to install Bumblebee with native Nvidia drivers.

    6. At all costs try to avoid using open source nouveau drivers for any Nvidia-Optimus card.

    Unfortunately, the software configuration is not so clear. Due to chaotical installatin of various drivers and packages - as from OP.

    There’s a guide for installing Bumblebee on Arch. It’s here.

    It was written mainly for a “normal”, default Arch installation, with only Intel video driver (xf86-video-intel package) installed. Anyhow, try to read it carefully and to follow it very thoroughly. Don’t skip any single step. Especially those numerous preliminary checks, aimed to ensure the correct Bumblebee installation.

    If all checks from the guide will return the expected results, chances are that you’ll be able to install Bumblebee. To enjoy the full Nvidia-Optimus power.

    Good luck.

  • @just HI. I had gone to your tutorial. An excellent one, I would like to congratulate you on that one.
    All pre-checks, installs, and post checks worked out extremely well with much success. I stopped at point #20 as I did not install primus.

    However, I am still getting the original error along with a second pop-up stating that Metro 2033 Redux is ready along with the OpenGL 4.0 cannot be found pop up as well (the original one). I suspect that Metro is ready to play but perhaps there is an interference in the start up of it. Hence, the 2nd pop up which I did not experience before.

    Metro 2033 continues to not be fully loading.
    Some differences I noted: I did not get the auto login as per your output in step 13

    This is what I got instead:

    lp wheel bumblebee network video audio storage users
    

    Again, I am only missing the autologin. All your steps were followed. There are also a number of dependencies that I did not install as I wasn’t sure whether or not I should or even if those dependencies were needed.

    lp wheel bumblebee network video audio storage users
    

    Here you can see that the bumblebeed service has all 3 traits. It’s loaded, enabled, and active.

    ● bumblebeed.service - Bumblebee C Daemon
       Loaded: loaded (/usr/lib/systemd/system/bumblebeed.service; enabled; vendor preset: disabled)
       Active: active (running) since Wed 2015-07-01 18:11:39 MDT; 1min 46s ago
     Main PID: 377 (bumblebeed)
       CGroup: /system.slice/bumblebeed.service
               └─377 /usr/bin/bumblebeed
    
    Jul 01 18:11:39 DellXPS15 systemd[1]: Starting Bumblebee C Daemon...
    Jul 01 18:11:43 DellXPS15 bumblebeed[377]: [   16.814010] [INFO]/usr/bin/bum...d
    Hint: Some lines were ellipsized, use -l to show in full
    
    Polygons in scene: 62464 (61 spheres * 1024 polys/spheres)
    Visual ID of window: 0xb5
    Context is Direct
    OpenGL Renderer: Mesa DRI Intel(R) Haswell Mobile 
    67.697594 frames/sec - 75.550515 Mpixels/sec
    59.956751 frames/sec - 66.911734 Mpixels/sec
    59.977671 frames/sec - 66.935081 Mpixels/sec
    59.994750 frames/sec - 66.954142 Mpixels/sec
    
    Polygons in scene: 62464 (61 spheres * 1024 polys/spheres)
    Visual ID of window: 0x20
    Context is Direct
    OpenGL Renderer: GeForce GT 750M/PCIe/SSE2
    288.666447 frames/sec - 322.151755 Mpixels/sec
    290.948425 frames/sec - 324.698443 Mpixels/sec
    296.047174 frames/sec - 330.388646 Mpixels/sec
    298.405946 frames/sec - 333.021035 Mpixels/sec
    203.579523 frames/sec - 227.194747 Mpixels/sec
    

    Note the frame rates above. A bit higher than the ones displayed from your tuturial.

    From here is the point where the nvidia settings loaded successfully. I did not make any changes as I wasn’t sure if there even was anything to change.

    ** (nvidia-settings:1414): WARNING **: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
    (nvidia-settings:1414): GLib-GObject-WARNING **: The property GtkButton:use-stock is deprecated and shouldn't be used anymore. It will be removed in a future version.
    

    Below follows step #18. No issues here to report.

    Graphics:  Card-1: Intel 4th Gen Core Processor Integrated Graphics Controller
               bus-ID: 00:02.0 chip-ID: 8086:0416
               Card-2: NVIDIA GK107M [GeForce GT 750M]
               bus-ID: 02:00.0 chip-ID: 10de:0fe4
               Display Server: X.Org 1.17.2 drivers: intel (unloaded: fbdev,vesa)
               Resolution: [email protected]
               GLX Renderer: Mesa DRI Intel Haswell Mobile
               GLX Version: 3.0 Mesa 10.6.1 Direct Rendering: Yes
    

    Step #19 followed the same with nothing remarkable to report.

    Graphics:  Card-1: Intel 4th Gen Core Processor Integrated Graphics Controller
               bus-ID: 00:02.0 chip-ID: 8086:0416
               Card-2: NVIDIA GK107M [GeForce GT 750M]
               bus-ID: 02:00.0 chip-ID: 10de:0fe4
               Display Server: X.Org 1.17.2 drivers: intel (unloaded: fbdev,vesa)
               Resolution: [email protected]
               GLX Renderer: GeForce GT 750M/PCIe/SSE2
               GLX Version: 4.5.0 NVIDIA 352.21 Direct Rendering: Yes
    

    I decided to follow up on the re-install of mesa-demos even though I knew that these were installed previously.

    warning: inxi-2.2.25-1 is up to date -- reinstalling
    warning: mesa-demos-8.2.0-4 is up to date -- reinstalling
    resolving dependencies...
    looking for conflicting packages...
    Packages (2) inxi-2.2.25-1  mesa-demos-8.2.0-4
    Total Installed Size:  7.09 MiB
    Net Upgrade Size:      0.00 MiB
     Proceed with installation? [Y/n] y
    (2/2) checking keys in keyring                     [######################] 100%
    (2/2) checking package integrity                   [######################] 100%
    (2/2) loading package files                        [######################] 100%
    (2/2) checking for file conflicts                  [######################] 100%
    (2/2) checking available disk space                [######################] 100%
    (1/2) reinstalling inxi                            [######################] 100%
    (2/2) reinstalling mesa-demos                      [######################] 100%
    

    As I mentioned at the beginning of post. The game remains not loading with the continued " OpenGL 4.0 not being found" popup even though it is now fully installed/updated with multilibs enabled. These were enabled prior to beginning of attempted update/upgrade/install of OpenGL 4.0. - bumblebeed service

    Finally, I should also note as mentioned earlier that I did not install any dependencies for the reasons listed before. Is it necessary to install any of the listed dependencies?

        bbswitch: switch on/off discrete card [pending]
        nvidia: NVIDIA kernel driver [pending]
        nvidia-340xx: NVIDIA kernel driver for older devices
        nvidia-304xx: NVIDIA kernel driver for even older devices
        primus: faster back-end for optirun
        lib32-virtualgl: run 32bit applications with optirun
        lib32-primus: faster back-end for optirun
    

    Also, is this of importance? These were additional dependencies that I noted but did not install due to uncertainty. It doesn’t look like these were necessary.

    Optional dependencies for nvidia-utils
        gtk2: nvidia-settings [installed]
        xorg-server-devel: nvidia-xconfig
        opencl-nvidia: OpenCL support
    Optional dependencies for lib32-nvidia-utils
        lib32-opencl-nvidia
    

    bbswitch was successfully installed while in step #9

    (8/8) installing bbswitch

    step #10 was also followed with nothing remarkable to report:

    frankenstein
    [[email protected] ~]$ sudo gpasswd -a $USER bumblebee
    [sudo] password for frankenstein: 
    Adding user frankenstein to group bumblebee
    

    EDIT: When selecting to open the Nvidia X-server settings afterwards, (nothing was changed with regards to settings, I got this:

    (Though I think this was because I did not start it from Terminal. )

    [email protected] ~]$ sudo nvidia-xconfig
    
    WARNING: Unable to locate/open X configuration file.
    
    Package xorg-server was not found in the pkg-config search path.
    Perhaps you should add the directory containing `xorg-server.pc'
    to the PKG_CONFIG_PATH environment variableNo package 'xorg-server' found
    New X configuration file written to '/etc/X11/xorg.conf
    

    from journalctl when trying to start Metro Redux from Menu:

    Jul 01 20:18:19 DellXPS15 org.gnome.Terminal[645]: ** (gnome-terminal-server:16362): WARNING **: Couldn't register with accessibility bus: Did not receive a reply. Possible causes
    

    there was no causes listed. I could not read past this in Terminal.

    Download " antergos-wallpapers-extra " and enjoy community sponsored wallpapers.

    Use the "Linux Beginner Search Engine"

    https://cse.google.com/cse/home?cx=017607476515012185699:b_owgx6xyi0

  • @Modisc Your posts are very long. If I try to quote them, the reply would become completely unreadable. I’ll try to be more synthetic. Sorry.

    1. Metro 2033 Redux

    Don’t know why it doesn’t start. Do you start it on Nvidia GPU?

    I start Metro Last Light directly from DE here, without passing through Steam client. The Metro Last Light.desktop file by default launches the game on Intel GPU, by using the command:

    ...
    Exec=steam steam://rungameid/43160
    ...
    

    To launch the game on Nvidia GPU change it to (use any optirun compression you prefer):

    ...
    Exec=optirun -c yuv steam steam://rungameid/43160
    ...
    

    When Metro Last Light is started correctly, the first banner it presents in startup animation is:

    NVIDIA: the way it's meant to be played
    

    Do you get this banner on startup?.. Oops, sorry, the game doesn’t even start for you. Hmm…

    1. autologin group

    It has absolutely no relation with Bumblebee. I’ve included myself in autologin group to automatically login with LightDM display manager, which I use.

    For Bumblebee to work correctly, you must be a member of two groups only - bumblebee and video. Like in your case. So you’re OK.

    All other groups are unrelated to Bumblebee.

    1. bumblebeed service

    It’s in perfect state for you. Otherwise the optirun command would never work. If optirun works, then Bumblebee is perfectly OK. The fact itself that optirun works and doesn’t fail is the ultimate test for correct Bumblebee installation and configuration. Nothing else is needed. The simple rule of thumb is:

    Optirun works = Bumblebee OK
    
    1. glxspheres64 results

    Congratulations, your Dell XPS 15 with GeForce GT 750M seems to be a very good computer, if you get 227 fps with default (and slow) optirun options.

    The guide was written on Acer V5 with GeForce GT 750M, and with default optirun options it yelds only 104 fps.

    My best result was on Dell XPS 17 with (older) GeForce GT 555M. I’ve got 206 fps, by using optirun’s jpeg compression. It’s one of the strongest one, in my tests.

    You beat me on both my boxes with Nvidia-Optimus :smiley: !

    1. Dependencies

    No, it’s not neccessary to install any of the optional dependencies listed during Bumblebee installation. It’s enough to always accept the default answer, suggested by pacman (usually Y/n), by simply hitting <Enter> key. And ignore (doesn’t install separately) other packages it suggests.

    1. NVIDIA X-server settings

    It is launched by nvidia-settings utility. This utility is used for both simple, single-GPU Nvidia cards and for advanced double-GPU Nvidia-Optimus cards. By default it is installed in the system’s menu with the options to be launched on single-GPU Nvidia. It is never installed to be launched on Nvidia-Optimus.

    The only correct way to execute it on Optimus is to use the command described in the guide. The one you’ve used in terminal.

    If you want to launch it correctly from menu, you should edit the menu’s entry for NVIDIA X-server settings and replace the default command with one you use in terminal.

    Never follow the suggestion to run nvidia-xconfig. Otherwise it will immediately destroy Bumblebee.

    nvidia-settings and nvidia-xconfig behaviour and correct configuration for Nvidia-Optimus are described in details here.

    1. Conclusion

      • I don’t know, why Metro 2033 Redua doesn’t start for you
      • I can’t exclude some quirk in the game on the Valve’s side. It wouldn’t be for the first time
      • Bumblebee is installed and runs correctly on your computer
      • You have a good (fast) hardware

    In the future, could you try to avoid to write such a long posts? They’re hard to read, difficult to understand, take to-o-o much time to answer.

  • Edit: The presence of the

    NVIDIA: the way it's meant to be played
    

    banner is not the indication that the game runs on Nvidia GPU. It is always displayed, either the game runs on Intel or on Nvidia.

    Adjusting Steam launcher to make the game run on Nvidia is my first to-do after installing a new game, so it never runs on Intel here.

    To make a good test, I removed optirun prefix from Exec=... command now, to make Metro Last Light run on Intel. Nevertheless, the banner is displayed on startup.

    My fault.

Posts 8Views 3261
Log in to reply