nvidia driver and GTX880M on MSI laptop

nvidia driver and GTX880M on MSI laptop

Postby jiml8 » Apr 18th, '15, 20:05

I have just assembled a barebones MSI laptop kit into a functioning system (i7-4700MQ, 16 GB RAM, 1TB SSD), I have installed Mageia 4, and I am having trouble with the nvidia driver. I briefly had the display running with nouveau, but after using that for awhile I made the mistake of trying again to get the nvidia driver running, and now I can't get X running at all...even with nouveau.

I am using the driver that the distro provides, rather than downloading and installing the source from Nvidia. While I do that with my workstation, I would prefer to not get into that loop with this new laptop.

The i7 chip does contain an Intel graphics device, and this device is detected by XFdrake. There is no way to disable that device in BIOS, and I did wrestle with it a bit and I am sure I had some conflicts. I resolved those, and my current xorg.conf appears to be very close. In fact, I think it is correct, but the real problem lies someplace else.

I have at this point blacklisted nouveau and written a new initrd in order to completely eliminate it. At present, my xorg.conf file is this:
Code: Select all
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 331.113  (iurt@ecosse.mageia.org)  Mon Dec 22 23:58:55 UTC 2014

# File generated by XFdrake (rev 262502)
# **********************************************************************
# Refer to the xorg.conf man page for details about the format of
# this file.
# **********************************************************************

Section "ServerLayout"

    #Option "Xinerama"
    Identifier     "layout1"
    Screen         "screen1" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Module"

    #Load "glx"
    Load           "v4l" # Video for Linux
    Load           "glx"
EndSection

Section "ServerFlags"
 # allows the server to start up even if the mouse does not work
    #DontZoom # disable <Ctrl><Alt><KP_+>/<KP_-> (resolution switching)
    Option         "allowmouseopenfail"
    Option         "DontZap" "False" # disable <Ctrl><Alt><BS> (server abort)
EndSection

Section "InputDevice"
    # generated from data in "/etc/sysconfig/keyboard"
    Identifier     "Keyboard0"
    Driver         "keyboard"
    Option         "XkbLayout" "us"
    Option         "XkbModel" "pc105"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "Monitor"

    # TV fullscreen mode or DVD fullscreen output.
    # 768x576 @ 79 Hz, 50 kHz hsync
    Identifier     "monitor1"
    VendorName     "Generic"
    ModelName      "Flat Panel 1920x1080"
    HorizSync       31.5 - 67.0
    VertRefresh     56.0 - 65.0
    ModeLine       "768x576" 50.00 768 832 846 1000 576 590 595 630
    ModeLine       "768x576" 63.07 768 800 960 1024 576 578 590 616
    ModeLine       "1920x1080_120" 368.76 1920 2072 2288 2656 1080 1081 1084 1157 -hsync +vsync
    ModeLine       "1920x1080_100" 302.02 1920 2072 2280 2640 1080 1081 1084 1144 -hsync +vsync
    ModeLine       "1920x1080_85" 252.93 1920 2064 2272 2624 1080 1081 1084 1134 -hsync +vsync
    ModeLine       "1920x1080_75" 220.64 1920 2056 2264 2608 1080 1081 1084 1128 -hsync +vsync
    ModeLine       "1920x1080_60" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -hsync +vsync
    ModeLine       "1920x1080_50" 141.45 1920 2032 2232 2544 1080 1081 1084 1112 -hsync +vsync
    ModeLine       "1600x900_120" 255.69 1600 1728 1904 2208 900 901 904 965 -hsync +vsync
    ModeLine       "1600x900_100" 208.90 1600 1720 1896 2192 900 901 904 953 -hsync +vsync
    ModeLine       "1600x900_85" 174.79 1600 1712 1888 2176 900 901 904 945 -hsync +vsync
    ModeLine       "1600x900_75" 152.28 1600 1704 1880 2160 900 901 904 940 -hsync +vsync
    ModeLine       "1600x900_60" 119.00 1600 1696 1864 2128 900 901 904 932 -hsync +vsync
    ModeLine       "1600x900_50" 97.04 1600 1680 1848 2096 900 901 904 926 -hsync +vsync
    ModeLine       "1368x768_120" 185.67 1368 1472 1624 1880 768 769 772 823 -hsync +vsync
    ModeLine       "1368x768_100" 151.73 1368 1464 1616 1864 768 769 772 814 -hsync +vsync
    ModeLine       "1368x768_85" 125.67 1368 1456 1600 1832 768 769 772 807 -hsync +vsync
    ModeLine       "1368x768_75" 110.19 1368 1456 1600 1832 768 769 772 802 -hsync +vsync
    ModeLine       "1368x768_60" 85.86 1368 1440 1584 1800 768 769 772 795 -hsync +vsync
    ModeLine       "1368x768_50" 69.92 1368 1424 1568 1768 768 769 772 791 -hsync +vsync
    ModeLine       "1360x765_120" 182.63 1360 1456 1608 1856 765 766 769 820 -hsync +vsync
    ModeLine       "1360x765_100" 149.22 1360 1456 1600 1840 765 766 769 811 -hsync +vsync
    ModeLine       "1360x765_85" 124.65 1360 1448 1592 1824 765 766 769 804 -hsync +vsync
    ModeLine       "1360x765_75" 108.34 1360 1440 1584 1808 765 766 769 799 -hsync +vsync
    ModeLine       "1360x765_60" 84.40 1360 1424 1568 1776 765 766 769 792 -hsync +vsync
    ModeLine       "1360x765_50" 69.34 1360 1416 1560 1760 765 766 769 788 -hsync +vsync
    ModeLine       "1280x720_120" 161.56 1280 1376 1512 1744 720 721 724 772 -hsync +vsync
    ModeLine       "1280x720_100" 131.85 1280 1368 1504 1728 720 721 724 763 -hsync +vsync
    ModeLine       "1280x720_85" 110.01 1280 1360 1496 1712 720 721 724 756 -hsync +vsync
    ModeLine       "1280x720_75" 95.65 1280 1352 1488 1696 720 721 724 752 -hsync +vsync
    ModeLine       "1280x720_60" 74.48 1280 1336 1472 1664 720 721 724 746 -hsync +vsync
    ModeLine       "1280x720_50" 60.47 1280 1328 1456 1632 720 721 724 741 -hsync +vsync
EndSection

Section "Device"
    Identifier     "device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "NVIDIA GeForce 400 series and later"
    BusID          "PCI:1:0:0"
EndSection

Section "Screen"
    Identifier     "screen1"
    Device         "device1"
    Monitor        "monitor1"
    DefaultDepth    24
    Option         "DPMS"
    #Option "AddARGBGLXVisuals"
    #Option "DynamicTwinView" "false"
    SubSection     "Display"
        Depth       8
        Modes      "1920x1080" "1600x900" "1366x768" "1360x765" "1280x720"
    EndSubSection
    SubSection     "Display"
        Depth       15
        Modes      "1920x1080" "1600x900" "1366x768" "1360x765" "1280x720"
    EndSubSection
    SubSection     "Display"
        Depth       16
        Modes      "1920x1080" "1600x900" "1366x768" "1360x765" "1280x720"
    EndSubSection
    SubSection     "Display"
        Depth       24
        Modes      "1920x1080" "1600x900" "1366x768" "1360x765" "1280x720"
    EndSubSection
EndSection


and Xorg.0.log is this:
Code: Select all
[    20.380]
X.Org X Server 1.14.5
Release Date: 2013-12-12
[    20.380] X Protocol Version 11, Revision 0
[    20.380] Build Operating System: Linux_3.14.27-server-1.mga4 Mageia
[    20.380] Current Operating System: Linux localhost.localdomain 3.14.32-desktop-1.mga4 #1 SMP Sat Feb 7 00:41:35 UTC 2015 x86_64
[    20.380] Kernel command line: BOOT_IMAGE=linux root=UUID=f7cbd33f-97c4-48b0-b83e-8e5820139600 splash quiet resume=/dev/mapper/crypt_sda5 vga=788
[    20.381] Build Date: 11 February 2015  04:28:00PM
[    20.381] 
[    20.381] Current version of pixman: 0.32.4
[    20.381]    Before reporting problems, check http://bugs.mageia.org
        to make sure that you have the latest version.
[    20.381] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    20.381] (==) Log file: "/var/log/Xorg.0.log", Time: Sat Apr 18 10:16:46 2015
[    20.383] (==) Using config file: "/etc/X11/xorg.conf"
[    20.383] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[    20.385] (==) ServerLayout "layout1"
[    20.385] (**) |-->Screen "screen1" (0)
[    20.385] (**) |   |-->Monitor "monitor1"
[    20.385] (**) |   |-->Device "device1"
[    20.385] (**) |-->Input Device "Keyboard0"
[    20.385] (**) |-->Input Device "Mouse0"
[    20.385] (**) Option "DontZap" "False"
[    20.385] (**) Option "AllowMouseOpenFail"
[    20.385] (==) Automatically adding devices
[    20.385] (==) Automatically enabling devices
[    20.385] (==) Automatically adding GPU devices
[    20.385] (==) FontPath set to:
        catalogue:/etc/X11/fontpath.d
[    20.385] (==) ModulePath set to "/usr/lib64/xorg/extra-modules,/usr/lib64/xorg/modules"
[    20.385] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[    20.385] (WW) Disabling Keyboard0
[    20.385] (WW) Disabling Mouse0
[    20.385] (II) Loader magic: 0x7fdc40
[    20.385] (II) Module ABI versions:
[    20.385]    X.Org ANSI C Emulation: 0.4
[    20.385]    X.Org Video Driver: 14.1
[    20.385]    X.Org XInput driver : 19.1
[    20.385]    X.Org Server Extension : 7.0
[    20.386] (II) xfree86: Adding drm device (/dev/dri/card1)
[    20.386] (II) xfree86: Adding drm device (/dev/dri/card0)
[    20.387] (--) PCI:*(0:0:2:0) 8086:0416:1462:1105 rev 6, Mem @ 0xf7400000/4194304, 0xd0000000/268435456, I/O @ 0x0000f000/64
[    20.387] (--) PCI: (0:1:0:0) 10de:1198:1462:1105 rev 161, Mem @ 0xf6000000/16777216, 0xe0000000/268435456, 0xf0000000/33554432, I/O @ 0x0000e000/128, BIOS @ 0x????????/524288
[    20.387] (II) Open ACPI successful (/var/run/acpid.socket)
[    20.387] Initializing built-in extension Generic Event Extension
[    20.387] Initializing built-in extension SHAPE
[    20.387] Initializing built-in extension MIT-SHM
[    20.387] Initializing built-in extension XInputExtension
[    20.387] Initializing built-in extension XTEST
[    20.387] Initializing built-in extension BIG-REQUESTS
[    20.387] Initializing built-in extension SYNC
[    20.387] Initializing built-in extension XKEYBOARD
[    20.387] Initializing built-in extension XC-MISC
[    20.387] Initializing built-in extension SECURITY
[    20.387] Initializing built-in extension XINERAMA
[    20.387] Initializing built-in extension XFIXES
[    20.387] Initializing built-in extension XFree86-Bigfont
[    20.387] Initializing built-in extension RENDER
[    20.387] Initializing built-in extension RANDR
[    20.387] Initializing built-in extension COMPOSITE
[    20.387] Initializing built-in extension DAMAGE
[    20.387] Initializing built-in extension MIT-SCREEN-SAVER
[    20.387] Initializing built-in extension DOUBLE-BUFFER
[    20.387] Initializing built-in extension RECORD
[    20.387] Initializing built-in extension DPMS
[    20.387] Initializing built-in extension X-Resource
[    20.387] Initializing built-in extension XVideo
[    20.387] Initializing built-in extension XVideo-MotionCompensation
[    20.387] Initializing built-in extension XFree86-VidModeExtension
[    20.387] Initializing built-in extension XFree86-DGA
[    20.387] Initializing built-in extension XFree86-DRI
[    20.387] Initializing built-in extension DRI2
[    20.387] (II) "glx" will be loaded. This was enabled by default and also specified in the config file.
[    20.387] (II) LoadModule: "v4l"
[    20.388] (II) Loading /usr/lib64/xorg/modules/drivers/v4l_drv.so
[    20.389] (II) Module v4l: vendor="X.Org Foundation"
[    20.389]    compiled for 1.14.3, module version = 0.1.1
[    20.389]    ABI class: X.Org Video Driver, version 14.1
[    20.389] (II) LoadModule: "glx"
[    20.389] (II) Loading /usr/lib64/xorg/extra-modules/libglx.so
[    20.417] (II) Module glx: vendor="NVIDIA Corporation"
[    20.417]    compiled for 4.0.2, module version = 1.0.0
[    20.417]    Module class: X.Org Server Extension
[    20.417] (II) NVIDIA GLX Module  331.113  Mon Dec  1 20:24:35 PST 2014
[    20.417] Loading extension GLX
[    20.417] (II) LoadModule: "nvidia"
[    20.417] (II) Loading /usr/lib64/xorg/extra-modules/nvidia_drv.so
[    20.426] (II) Module nvidia: vendor="NVIDIA Corporation"
[    20.426]    compiled for 4.0.2, module version = 1.0.0
[    20.426]    Module class: X.Org Video Driver
[    20.427] (II) v4l driver for Video4Linux
[    20.427] (II) NVIDIA dlloader X Driver  331.113  Mon Dec  1 20:01:51 PST 2014
[    20.427] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[    20.427] (++) using VT number 1

[    20.427] (WW) Falling back to old probe method for v4l
[    20.428] (II) Loading sub module "fb"
[    20.428] (II) LoadModule: "fb"
[    20.428] (II) Loading /usr/lib64/xorg/modules/libfb.so
[    20.429] (II) Module fb: vendor="X.Org Foundation"
[    20.429]    compiled for 1.14.5, module version = 1.0.0
[    20.429]    ABI class: X.Org ANSI C Emulation, version 0.4
[    20.429] (WW) Unresolved symbol: fbGetGCPrivateKey
[    20.429] (II) Loading sub module "wfb"
[    20.429] (II) LoadModule: "wfb"
[    20.430] (II) Loading /usr/lib64/xorg/modules/libwfb.so
[    20.431] (II) Module wfb: vendor="X.Org Foundation"
[    20.431]    compiled for 1.14.5, module version = 1.0.0
[    20.431]    ABI class: X.Org ANSI C Emulation, version 0.4
[    20.431] (II) Loading sub module "ramdac"
[    20.431] (II) LoadModule: "ramdac"
[    20.431] (II) Module "ramdac" already built-in
[    20.433] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
[    20.433] (==) NVIDIA(0): RGB weight 888
[    20.433] (==) NVIDIA(0): Default visual is TrueColor
[    20.433] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[    20.433] (**) NVIDIA(0): Enabling 2D acceleration
[    21.024] (II) NVIDIA(GPU-0): Found DRM driver nvidia-drm (20130102)
[    21.025] (II) NVIDIA(0): NVIDIA GPU GeForce GTX880M (GK104) at PCI:1:0:0 (GPU-0)
[    21.025] (--) NVIDIA(0): Memory: 8388608 kBytes
[    21.025] (--) NVIDIA(0): VideoBIOS: 80.04.f7.00.07
[    21.025] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[    21.028] (--) NVIDIA(0): Valid display device(s) on GeForce GTX880M at PCI:1:0:0
[    21.028] (--) NVIDIA(0):     DFP-0
[    21.028] (--) NVIDIA(0):     DFP-1
[    21.028] (--) NVIDIA(0):     DFP-2
[    21.028] (--) NVIDIA(0): DFP-0: Internal Single Link TMDS
[    21.028] (--) NVIDIA(0): DFP-0: 165.0 MHz maximum pixel clock
[    21.028] (--) NVIDIA(0): DFP-1: Internal Single Link TMDS
[    21.028] (--) NVIDIA(0): DFP-1: 165.0 MHz maximum pixel clock
[    21.028] (--) NVIDIA(0): DFP-2: Internal DisplayPort
[    21.028] (--) NVIDIA(0): DFP-2: 960.0 MHz maximum pixel clock
[    21.028] (EE) NVIDIA(0): Failed to assign any connected display devices to X screen 0.
[    21.028] (EE) NVIDIA(0):     Set AllowEmptyInitialConfiguration if you want the server
[    21.028] (EE) NVIDIA(0):     to start anyway
[    21.043] (EE) NVIDIA(0): Failing initialization of X screen 0
[    21.043] (II) UnloadModule: "nvidia"
[    21.043] (II) UnloadSubModule: "wfb"
[    21.043] (II) UnloadSubModule: "fb"
[    21.043] (EE) Screen(s) found, but none have a usable configuration.
[    21.043] (EE)
[    21.043] (EE) no screens found(EE)
[    21.043] (EE)
Please consult the The X.Org Foundation support
         at http://bugs.mageia.org
 for help.
[    21.043] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[    21.043] (EE)
[    21.047] (EE) Server terminated with error (1). Closing log file.


In the xorg.conf file, I did find it necessary to manually edit the file in order to place the bus address of the card; without it the driver does not find the device. However, the log file clearly shows the driver loading and identifying the card, but failing to identify the screen. Note that the log file shows both the intel device and the nvidia device being detected.

The xorg.conf file has a fairly broad monitor and screen definitions as I attempt to sort this out; given that it is a laptop screen, I expect the only required resolution to be 1920x1080 24 bit. I really have no idea what the horizontal refresh and vertical sync values should be for this device but given that it is an led display I would certainly expect the ranges provided in xorg.conf to cover it.

Some googling turns up that on some distros a config file gets written in /usr/share/X11/xorg.conf.d that is associated with nvidia. However, Mageia apparently does not do that; this laptop shows no such file and neither does my workstation (which also uses nvidia graphics).

I suspect there is another file hidden someplace that I need to either adjust or delete and permit the system to recreate. I'm guessing this is something to do with systemd. If so, where would it be? Alternatively, what is wrong with this?
jiml8
 
Posts: 1253
Joined: Jul 7th, '13, 18:09

Re: nvidia driver and GTX880M on MSI laptop

Postby doktor5000 » Apr 18th, '15, 20:44

Can you please post the complete Xorg.0.log ?
The log talks about X screen 0 whereas your config has screen1 ... which seems weird.
Could you also post the output of
Code: Select all
lspci -tv
and also check if your bootloader entry has "nomodeset" kernel option?

Apart from that, are you really sure that the internal laptop display is wired to the nvidia chip? It does not seem to physically detect it, it only detects 3 digital outputs.
You might need to run
Code: Select all
nvidia-xconfig -a
to generate a new xorg.conf.
Cauldron is not for the faint of heart!
Caution: Hot, bubbling magic inside. May explode or cook your kittens!
----
Disclaimer: Beware of allergic reactions in answer to unconstructive complaint-type posts
User avatar
doktor5000
 
Posts: 17630
Joined: Jun 4th, '11, 10:10
Location: Leipzig, Germany

Re: nvidia driver and GTX880M on MSI laptop

Postby jiml8 » Apr 19th, '15, 01:27

I did post the complete Xorg.0.log. Every line. And I had not noticed that screen 0 vs screen 1. However, it is identical to how my workstation is configured, and I will point out this line in the log file (which is also found in the log file for my workstation):

[ 20.385] (**) |-->Screen "screen1" (0)

I interpret that line to mean that the "screen1" in the conf file is defined as screen 0 for X.

The barebones kit came with the Nvidia card preinstalled, and the heatsink assembly fits that card perfectly. Also, given that there are many different CPUs that will fit into the kit, I can't imagine that the design would not integrate the display with the Nvidia card. Also, I did have it working with nouveau, until I decided to tamper with it further. I have no good excuse for why I did not save that working xorg.conf so that I could back up to it if necessary, but in fact I did not save that xorg.conf. :(

I did an install using grub. I don't recall that the system asked me, and grub is what I have. I did not try to do a UEFI install; I did legacy. So I don't have boot options, other than on the kernel line in menu.lst. I do not have nomodeset on that line; should I add it? Or perhaps I should reinstall and try to make UEFI work to get grub2?

As for the lspci command, I ran it but presently I am imaging the entire drive to my NAS so that I can keep the current configuration should I want it, if I have to blow this off and start over. That is sucking up all the network bandwidth for this laptop, and my attempt to ssh the file containing the results of that command failed. I'll post it later.
jiml8
 
Posts: 1253
Joined: Jul 7th, '13, 18:09

Re: nvidia driver and GTX880M on MSI laptop

Postby jiml8 » Apr 19th, '15, 01:37

lspci -tv

Code: Select all
-[0000:00]-+-00.0  Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller
           +-01.0-[01]--+-00.0  NVIDIA Corporation GK104M [GeForce GTX 880M]
           |            \-00.1  NVIDIA Corporation GK104 HDMI Audio Controller
           +-02.0  Intel Corporation 4th Gen Core Processor Integrated Graphics Controller
           +-14.0  Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI
           +-16.0  Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1
           +-1a.0  Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2
           +-1b.0  Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller
           +-1c.0-[02]--
           +-1c.2-[03]----00.0  Qualcomm Atheros Killer E220x Gigabit Ethernet Controller
           +-1c.3-[04]----00.0  Intel Corporation Wireless 7260
           +-1c.4-[05]----00.0  Realtek Semiconductor Co., Ltd. RTS5227 PCI Express Card Reader
           +-1d.0  Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1
           +-1f.0  Intel Corporation HM87 Express LPC Controller
           +-1f.2  Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode]
           \-1f.3  Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller


Also, I put nomodeset on the kernel line and rebooted. That caused the consoles to come up in a larger font (lower resolution display I think) but still X did not start.
jiml8
 
Posts: 1253
Joined: Jul 7th, '13, 18:09

Re: nvidia driver and GTX880M on MSI laptop

Postby jiml8 » Apr 19th, '15, 06:11

As I dig into this issue, it appears it is a known problem and there is a project to address it, called "bumblebee" which can be found here: http://bumblebee-project.org .

Basically, the video device in the processor cannot be disabled in hardware, and it interferes. I must presume that the one time I did have X running, I had managed to use the intel device without realizing it.

This is very troubling. I had not realized there was such a major class of devices out there that is so poorly supported by linux. Apparently the major fault lies with Nvidia.
jiml8
 
Posts: 1253
Joined: Jul 7th, '13, 18:09

Re: nvidia driver and GTX880M on MSI laptop

Postby jiml8 » Apr 21st, '15, 16:49

To finish this thread, the problem turns out to be that this is an Optimus laptop.

I have done no work with laptops for several years, and had no familiarity with this technology. In the last few days, I have become thoroughly educated.

Essentially, the Optimus technology is an unholy alliance between Intel and Nvidia. Intel provides a built-in GPU in their mobile processors, and Nvidia provides high-end secondary GPUs on MXM cards for use in laptops. In ordinary usage, the Intel GPU runs the display, but when high performance is needed, the Nvidia device handles that. In all cases, the Intel GPU displays the output, but in performance cases the Nvidia renders it, and the Nvidia has no direct access to the built-in display, unless there is a multiplexer switch on the motherboard. Few devices have such a mux switch, and my device is not one of those.

The apparent purpose of this is to keep power usage down and extend battery life while retaining high-performance video capability for those things that need it. Also, with reduced power usage comes reduced heat, and I must say that this laptop tends to run cool.

Apparently Optimus technology has had some issues (driver problems mostly) in the Windows world, but the most recent Windows systems have gotten it right. On a Windows system, there is apparently a control panel that allows the user to specify which GPU to use, if the user wishes to, but the system itself is supposed to decide which to use - and apparently in recent Windows systems, the system mostly gets it right.

In Linux, we have the bumblebee project, which makes Optimus technology usable for Linux systems although it is not yet as automatic as it is in Windows. When bumblebee is properly installed, the user can specify which GPU to use for a specific program by starting that program with the command "optirun" if it is desirable to use the Nvidia GPU.

Bumblebee is not available for Mageia, and I encountered problems compiling from source on a brand new system; I had to get the proper automake tools running, and I promptly started encountering unsatisfied dependencies which I was having trouble sorting out. Given that I was working strictly from console windows, this was more difficult than it would have been if I'd had the graphical tools available.

Also, for the time I DID have X running (and it must have been using the Intel driver, not nouveau), I had established that bluetooth did not seem to work correctly, and wifi did not connect. I had not debugged either of those issues at all when I moved on to "fix" the X installation, and broke it instead. So it appeared I had more issues ahead of me, even after I got X working again.

I therefore gave up and started over because I need this machine running; I didn't drop this kind of money on a whim and I really couldn't afford the time to sort it out.

I installed OpenSUSE. It came right up in X, bluetooth worked, wifi worked, most of the special keys and switches on the laptop worked...right from the beginning. OpenSUSE packages bumblebee, and it installed correctly and I now can access the Nvidia card as required though the Intel GPU works adequately for most of the things I do.

The upshot is that the laptop is now fully configured, up and running - and running very well. And today, it makes its first trip with me to a remote site where I will be working periodically. This is the reason I bought it.

I realize that the Mageia team has limited resources, and the fact is that I like Mageia better than I like OpenSUSE for some particular reasons. But in this instance, Mageia was going to take a lot of work - was already taking too much work - and OpenSUSE just dropped right in.
jiml8
 
Posts: 1253
Joined: Jul 7th, '13, 18:09

Re: nvidia driver and GTX880M on MSI laptop

Postby doktor5000 » Apr 24th, '15, 21:28

Bumblebee is available from the Mageia repo, and previously was available from the russian MRC community repository: http://translate.google.com/translate?h ... inux.ru%2F
There's also a wiki page for it: https://wiki.mageia.org/en/Bumblebee

Code: Select all
┌─[doktor5000@Mageia5]─[21:26:49]─[~]
└──╼ ufn bumblebee
Core 32bit Release:bumblebee-3.2.1-14.20150120.2.mga5.i586
Core 32bit Release:bumblebee-nouveau-3.2.1-14.20150120.2.mga5.i586
Core Release:bumblebee-3.2.1-14.20150120.2.mga5.x86_64
Core Release:bumblebee-nouveau-3.2.1-14.20150120.2.mga5.x86_64
Nonfree 32bit Release:bumblebee-nvidia-3.2.1-14.20150120.2.mga5.nonfree.i586
Nonfree Release:bumblebee-nvidia-3.2.1-14.20150120.2.mga5.nonfree.x86_64



Also it really depends how those chips are wired internally, and how what outputs are connected to each of the chips. The main difference for laptops with hybrid graphics is "muxed" vs. muxless.

Basically with newer linux distros you have at least four choices on hybrid graphics (in no particular order)

Some more on this topic:
https://wiki.archlinux.org/index.php/bu ... e_monitors
https://blueprints.launchpad.net/ubuntu ... d-graphics

I've had a similar issue with a Thinkpad T420 with hybrid graphics (nvidia optimus). The VGA display is hardwired to the Intel GPU, the digital displays are wired to the Nvidia graphics.
If you want to control it dynamically during runtime, it's pretty hard to have more then 2 displays. There are possibilities although, check e.g.
https://devtalk.nvidia.com/default/topi ... 4/#3982224
or maybe http://zachstechnotes.blogspot.de/2012/ ... -w520.html which has a good explanation about the underlying issues and the internal wiring.
Cauldron is not for the faint of heart!
Caution: Hot, bubbling magic inside. May explode or cook your kittens!
----
Disclaimer: Beware of allergic reactions in answer to unconstructive complaint-type posts
User avatar
doktor5000
 
Posts: 17630
Joined: Jun 4th, '11, 10:10
Location: Leipzig, Germany


Return to Video

Who is online

Users browsing this forum: No registered users and 1 guest

cron