-   Slackware (
-   -   Thinkpad W530, Nvidia, Nouveau (solved .. sort of) (

bimboleum 01-01-2013 06:04 PM

Thinkpad W530, Nvidia, Nouveau (solved .. sort of)
I have a Thinkpad W530 (NVIDIA K1000M,32G ddr3, 32G msata, 500G sata).
I have Slackware 14 installed after previously having Slackware 13.37.

The story so far:-

13.37 NVIDIA proprietary drivers worked fine (Discrete Graphics enabled)
Intel Graphics driver sort of worked OK (Integrated graphics

14 Intel Graphics driver works perfectly.
Kernel 3.2.29 boot stops during APCI initialisation if Discrete
Graphics enabled. Kernel boots if nox2apic specified on boot.

Aha! ... rebuild 3.2.29 kernel with x2apic support disabled .. now I can boot without having to specify a boot option. I can now build the NVIDIA proprietary drivers.

Results:- startx gives a blank screen, unresponsive keyboard/mouse
nvidia-xconfig --query-gpu-info gives same result

This is true for NVIDIA 304.37, 304.64, 310.19.
Further investigation shows that access to /dev/nvidia0 gives I/O errors.

So I gave up on the NVIDIA drivers and turned to nouveau. .. No go there as the nouveau driver in 3.2.29 does not support the NVIDIA NVE0 family of GPU's.

I went to the nouveau site ( and got their latest tree from git. This is Linux kernel 3.8.0 with the latest nouveau drivers. Compiled with the config file from Slackware 14 but with x2apic support disabled. Rewind elastic ... nouveau works!!!

All of this kurfuffle was just so I could connect the mini-display port to the TV to watch movies!

So I conclude that there is something in the W530 hardware setup that does not like the 3.2.29 kernel .. who knows what. Since the NVIDIA drivers worked fine under the 2.6 kernel (Slackware 13.37) the GPU setup and the drivers are at least sane. So I would guess that the kernel/hardware interaction with 3.2.29 is responsible for the NVIDA drivers not working.

I chose to try the latest nouveau build because it handles the GPU firmware load internally (prior builds needed you to scrape the firmware from an mmio trace). I dont know whether the NVIDIA drivers will work with the later kernels. I dont do games so I have the support I need with the nouveau drivers.

With the 13.37 NVIDIA drivers, I did not get sound via the mini-display port (hdmi input to the tv handles sound). I dont know if this still the case .. it didn't matter since I can pipe the sound out of the headphone jack into an external amplifier.


pete hilton

folkenfanel 01-02-2013 09:49 PM

Hi Pete.

Your laptop seems (according to to use Optimus.


NVIDIA® Optimus™ technology for long battery life
I happen to happily own Lenovo laptops (not as powerful as yours ;) congratulations!) that make use of Optimus. After playing trying to enable the NVIDIA GPU only, I gave Bumblebee a try. It does make your battery last longer by using the Intel GPU for routine tasks that don't require too much power. Of course you will have to do "optirun whateverapprequiresyournvidiagpu" to start whatever apps require your NVIDIA GPU. While using demanding games the battery drains noticeably faster (assuming your discrete GPU is properly configured it should also automatically detect that you're not using too much power and set the correct speed, so the noticeable increase in power consumption should happen only when you actually use it e.g. to run a demanding game, or let's say engineering apps).

By the way I'm using kernel 3.7.1, and the NVIDIA proprietary drivers compile well with this kernel.

folkenfanel 01-02-2013 10:05 PM

glxspheres results

I had measured Intel Ivybridge and Sandybridge versus NVIDIA GPUs using glxspheres and the 3.6.10 kernel.

Intel GPUs had an average of 55-65 fps and NVIDIA GPUs about 120 here.

With kernel 3.7.1 a Sandybridge has the same glxspheres fps as an NVIDIA GT540M (123 fps median).

I know the NVIDIA GPUs have dedicated infrastructure the Intel GPUs lack, so this might be a glxspheres-only phenomenon.

dimm0k 01-03-2013 08:30 AM

I have the Lenovo W520 and can tell you that I've had issues with the stock 3.2.29 kernel and was forced to use 3.6 and now 3.7. If you didn't recompile the kernel disabling x2apic you can disable VT-d in the BIOS and things should work also... at least on my system it does. Not sure if this is a BIOS issue, kernel issue, or what...

bimboleum 01-04-2013 12:01 PM

I tried disabling VT-d and vanilla Slackware-14 booted so what the interaction is between the hardware and the OS is not clear. However, nouveau at the Slackware-14 level does not support the NVIDIA GPU that I have so I still need to go with a later kernel and nouveau to support the GPU. Maybe NVIDIA's drivers will work with vanilla 14, but I would MUCH rather use the open driver. I don't need to use the Optimus so that is a non-issue for me.

I still cannot get my bluetooth headset to work. I am toying with the idea of installing pulseaudio 2.1 ... I tried compiling it last night but I get unresolved reference errors when linking pulseaudio (json references) even though I have the json libraries compiled and installed. I was too tired last night to follow this up but I may try again over the weekend.


prairiecity 01-27-2013 10:32 PM

The issue where the W530 (or W520) won't boot with VT-x and Discrete Graphics simultaneously enabled and without the "nox2apic" workaround is a bug in the BIOS.

For some reason I'm not allowed to post URLs, so here are two things that most definitely aren't URLs unless you were to, say, put http and a colon and two slashes in front of them:

There have been patches proposed but I don't know if they're in the trunk yet. It would be nice if Lenovo would fix their BIOS, but perhaps that's too much to hope for.

delt0r 04-30-2013 01:39 PM

So i just got my W530 today. Thanks to this thread I have the nvidia drivers now working.

Slackware 14.0 default:
Worked ok with default bios settings out of the box, that did include Optimus set to on. I didn't get HW opengl. But for plain stuff it was fine. It also did have the full 1080 resolution. Not sure what driver was running.

Installing and NVIDIA driver resulted is "no screens available". Setting bios to Discrete grfx card only, resulted in more or less a lockup. Just a black screen. The Xorg.0.log file showed the error message "Could not initialize NVIDIA card at PCI.." something.

Going back to default setup, it works but only with a vga driver and hence not at full resolution.

with Kernel 3.9 with bios set to discrete only:
nouveau worked properly (K2000M) and got good 2d performance again and full resolution.

NVIDIA drivers work perfectly.

Since i need opengl support this was what i needed. thanks.

All times are GMT -5. The time now is 04:48 PM.