View previous topic :: View next topic |
Author |
Message |
ccube n00b
Joined: 15 Feb 2011 Posts: 70
|
Posted: Fri Apr 25, 2014 11:46 am Post subject: Nouveau >=3.14 fails to activate KMS |
|
|
Hey!
Since Kernel 3.14 I cannot boot with my nvidia card and nouveau driver. I am on a lenovo w530 with optimus disabled. Booting integrated card is always working fine. When using discrete graphics , everyhting is working with kernel <=3.13, but not with more recent versions.
Since 3.14 KMS is not working on this box. Here is my Xorg log:
http://pastebin.com/vcNKFFCp
Any hints for me?
Thanks in advance,
ccube |
|
Back to top |
|
|
TomWij Retired Dev
Joined: 04 Jul 2012 Posts: 1553
|
Posted: Fri Apr 25, 2014 12:41 pm Post subject: |
|
|
See "Activating KMS" at http://nouveau.freedesktop.org/wiki/KernelModeSetting/ on how to activate it; make sure that you don't have any results of the steps to deactivate it on your system, you can use "Am I running KMS?" to verify if KMS is activated.
If you share the dmesg output and .config of 3.13 and 3.14, we can run a diff comparison between them; this should highlight where the difference lies, if it is an accidental configuration problem. If it is not, it could be a bad commit; bad commits can be found out by doing a kernel git bisect, which is detailed at https://wiki.gentoo.org/wiki/Kernel_git-bisect |
|
Back to top |
|
|
ccube n00b
Joined: 15 Feb 2011 Posts: 70
|
Posted: Fri Apr 25, 2014 1:24 pm Post subject: |
|
|
Here are the configs and dmesg outputs. I didnt change anything on my system. I can easily reproduce the problem with switching the kernel.
/lu/temp/linux-3.13.7-gentoo.config
URL: http://pastebin.com/ysuvn68a
/lu/temp/linux-3.13.7-gentoo.dmesg
URL: http://pastebin.com/V8L73kU5
/lu/temp/linux-3.15.0-rc2-gentoo.config
URL: http://pastebin.com/6wjMcDfB
/lu/temp/linux-3.15.0-rc2-gentoo.dmesg
URL: http://pastebin.com/pyHyDmEM
I think this is the faulty part:
Code: |
14.710122] nouveau: unknown parameter 'NvBios' ignored
[ 14.711034] nouveau [ DEVICE][0000:01:00.0] BOOT0 : 0x0e73b0a2
[ 14.711037] nouveau [ DEVICE][0000:01:00.0] Chipset: GK107 (NVE7)
[ 14.711038] nouveau [ DEVICE][0000:01:00.0] Family : NVE0
[ 14.712089] nouveau [ VBIOS][0000:01:00.0] checking PRAMIN for image...
[ 14.712104] nouveau [ VBIOS][0000:01:00.0] ... signature not found
[ 14.712105] nouveau [ VBIOS][0000:01:00.0] checking PROM for image...
[ 14.712140] nouveau [ VBIOS][0000:01:00.0] ... signature not found
[ 14.712142] nouveau [ VBIOS][0000:01:00.0] checking ACPI for image...
[ 14.712143] nouveau [ VBIOS][0000:01:00.0] ... signature not found
[ 14.712145] nouveau [ VBIOS][0000:01:00.0] checking PCIROM for image...
[ 14.712151] nouveau 0000:01:00.0: Invalid ROM contents
[ 14.712233] nouveau [ VBIOS][0000:01:00.0] ... appears to be valid
[ 14.712235] nouveau [ VBIOS][0000:01:00.0] using image from PCIROM
[ 14.712325] nouveau [ VBIOS][0000:01:00.0] BIT signature found
[ 14.712328] nouveau [ VBIOS][0000:01:00.0] version 80.07.31.00.18
[ 14.713666] nouveau E[ VBIOS][0000:01:00.0] 0x8542[ ]: unknown opcode 0xc0
[ 14.713668] nouveau E[ DEVINIT][0000:01:00.0] init failed, -22
[ 14.713670] nouveau E[ DRM] failed to create 0x80000080, -22
|
|
|
Back to top |
|
|
TomWij Retired Dev
Joined: 04 Jul 2012 Posts: 1553
|
Posted: Fri Apr 25, 2014 3:06 pm Post subject: |
|
|
Yeah, appears to be a regression (only in the newer kernel); thus, you'll want to do a kernel git bisect to find out what the bad commit is.
Quote: | [ 14.713666] nouveau E[ VBIOS][0000:01:00.0] 0x8542[ ]: unknown opcode 0xc0 |
From this line I get the idea that an operation is being used that your device BIOS does not support; in other words, they've implemented or changed a feature in a way that they think the feature is supported on your card as well while it isn't. The other option is that they made a typo; less common, but might also be the case. |
|
Back to top |
|
|
ccube n00b
Joined: 15 Feb 2011 Posts: 70
|
Posted: Sat Apr 26, 2014 6:48 pm Post subject: |
|
|
kk, bisecting now... |
|
Back to top |
|
|
ccube n00b
Joined: 15 Feb 2011 Posts: 70
|
Posted: Sun Apr 27, 2014 9:06 am Post subject: |
|
|
Finally I found the breaking commit.
Quote: |
Bisecting: 7286 revisions left to test after this (roughly 13 steps)
[82c477669a4665eb4e52030792051e0559ee2a36] Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Bisecting: 3945 revisions left to test after this (roughly 12 steps)
[ca2a650f3dfdc30d71d21bcbb04d2d057779f3f9] Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
Bisecting: 1970 revisions left to test after this (roughly 11 steps)
[f2de3a159937bfb1ab1ca671e0f2d06cda286a24] Merge tag 'sound-3.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Bisecting: 989 revisions left to test after this (roughly 10 steps)
[2def2ef2ae5f3990aabdbe8a755911902707d268] x86, x32: Correct invalid use of user timespec in the kernel
Bisecting: 492 revisions left to test after this (roughly 9 steps)
[fae0ce15c29ecc19ec192566f61ccbffe4f25ed0] drm/i915: Make semaphore modparam RO
Bisecting: 222 revisions left to test after this (roughly 8 steps)
[53d8ab29f8f6d67e37857b68189b38fa3d87dd8e] Merge branch 'for-3.14/drivers' of git://git.kernel.dk/linux-block
Bisecting: 134 revisions left to test after this (roughly 7 steps)
[dfa19426160046770b3a38985042df9c9760a25a] ipmi: Add missing rv in ipmi_parisc_probe()
Bisecting: 67 revisions left to test after this (roughly 6 steps)
[e2dd003dfa81de3247d7edae5d1a49427cf5a2c4] drm/nv50/gr: add more trap names to print on error
Bisecting: 33 revisions left to test after this (roughly 5 steps)
[dd95c8f782a053db361855298778a7d31de04a48] drm/nve0/fb: typo in register name
Bisecting: 16 revisions left to test after this (roughly 4 steps)
[a763951a8638881fbc76263ff0e3da7675ed1ff2] drm/nv108/fifo: initial support
Bisecting: 7 revisions left to test after this (roughly 3 steps)
[ab9b18a6a13c438505d3419bd59dcd8e1856cedd] drm/nv04/plane: add support for nv04/nv05 video overlay
Bisecting: 3 revisions left to test after this (roughly 2 steps)
[2e2cfbe61b8e2cb1339e456ba764c0bd7c913a6e] drm/nouveau/vm: reduce number of entry-points to vm_map()
Bisecting: 1 revision left to test after this (roughly 1 step)
[d0ce7b8567ae76b8a6c0eb8361d121deb98c1b3f] drm/nouveau: make vga_switcheroo code depend on VGA_SWITCHEROO
Bisecting: 0 revisions left to test after this (roughly 0 steps)
[918be888d613e58938338b4b0c895de97579173d] drm/mgag200: on cards with < 2MB VRAM default to 16-bit
d0ce7b8567ae76b8a6c0eb8361d121deb98c1b3f is the first bad commit
commit d0ce7b8567ae76b8a6c0eb8361d121deb98c1b3f
Author: Jeff Mahoney <jeffm@suse.com>
Date: Tue Jan 21 14:34:52 2014 -0800
drm/nouveau: make vga_switcheroo code depend on VGA_SWITCHEROO
Commit 8116188fdef594 ("nouveau/acpi: hook up to the MXM method for mux
switching.") broke the build on non-x86 architectures due to the new
dependency on MXM and MXM being an x86 platform driver.
It built previously since the vga switcheroo registration routines were
zereod out on !X86. The code was built in but unused.
This patch makes all of the DSM code depend on CONFIG_VGA_SWITCHEROO,
allowing it to build on non-x86 and shrinking the module size as well.
[rdunlap@infradead.org: fix build eror when VGA_SWITCHEROO is not enabled]
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: David Airlie <airlied@linux.ie>
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
:040000 040000 1e59a72b10cbe5e1009e91f0d94d94135af7a1d4 5278604b7f75f3631394897819473cc99c5c9320 M drivers
|
After that I activated CONFIG_VGA_SWITCHEROO in my kernel config and now everything is working fine.
I always thought that switcheroo is only for old school multiplexing systems, but not for optimus graphics, since optimus isn't working with linux at all.
Is this expected behaviour? Which advantages has switcheroo config for me? (Besides of activating my nvidia card again) |
|
Back to top |
|
|
TomWij Retired Dev
Joined: 04 Jul 2012 Posts: 1553
|
Posted: Sun Apr 27, 2014 9:56 am Post subject: |
|
|
Dunno, but it seems that Nouveau wants to use it somehow; so, even though it might not be completely in use, it might need to use a small part of it and thus have it enabled. |
|
Back to top |
|
|
kernelOfTruth Watchman
Joined: 20 Dec 2005 Posts: 6111 Location: Vienna, Austria; Germany; hello world :)
|
Posted: Sun May 04, 2014 8:38 pm Post subject: |
|
|
as far as I know this already was mentioned on lkml
so either they should activate it by default or fix it
anyways: glad it works for you and you found the cause
probably by enabling the switcheroo part - certain parts of the kernel a activated that are needed for it to function
what hardware is this ?
edit:
ok, either
NVIDIA® Quadro® K2000M 2GB VRAM/NVIDIA® Quadro® K1000M 2
I've my nvidia graphics disabled completely in the laptop - so didn't run into this issue, desktop also runs fine
with
# CONFIG_VGA_SWITCHEROO is not set _________________ https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.9.0
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa
Hardcore Gentoo Linux user since 2004 |
|
Back to top |
|
|
|