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?