LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   Intel HD Graphics 4000 - Needed kernel upgrade (http://www.linuxquestions.org/questions/slackware-14/intel-hd-graphics-4000-needed-kernel-upgrade-4175413076/)

drumz 06-24-2012 02:27 AM

Intel HD Graphics 4000 - Needed kernel upgrade
 
2 Attachment(s)
Hello all, I just bought a new laptop and long story short I needed to upgrade the kernel to 3.4.4 to have a usable system.

My system:
System76 Gazelle Professional Laptop
3rd Gen Intel Core i7-3720QM Processor (2.60 GHz 6MB L3 Cache)
Intel HD Graphics 4000
8 GB Dual Channel DDR3 SDRAM at 1600MHz
750 GB 7200 RPM SATA II
Intel Centrino Advanced-N 6235 - 802.11A/B/G/N Wireless LAN + Bluetooth Combo

It came pre-installed with Ubuntu 12.04 LTS 64 bit. My goal is to get Slackware up and running on it. I installed Slackware64-current (Sat Jun 16 16:19:36 UTC 2012) using a USB boot stick and external hard drive with no problems.

First problem: Unable to boot using KMS. The beginning of the boot process works (I can see text flying by), but as soon as the screen is resized the display goes black and occasionally flashes.
Solution: Boot with the "nomodeset" parameter. I'm even able to startx from here to start KDE. This works for both generic and huge kernels. I've attached the outputs of dmesg, lsmod, lspci, and the Xorg log. You can see the vesa driver is being used instead of the Intel driver. Trying to switch away from VT7 to VT1 or 2 causes the system to freeze up. Logging out of KDE causes the system to freeze as well.

Second problem: I want to use the Intel driver (and KMS).
Solution: I decided to try upgrading to the latest kernel (3.4.4). I used make oldconfig, starting with the Slackware kernel config to try to keep as close to vanilla Slackware as possible. I also removed some hardware support for devices my laptop doesn't have. This worked - I can now boot without the nomodeset parameter, and the Intel driver is used when starting X. I discovered a new problem, though...

Third problem: Wireless device not recognized. Checking dmesg shows:
iwlwifi 0000:02:00.0: request for firmware file 'iwlwifi-6000g2b-6.ucode' failed.
Solution: Examining Slackware's installed packages and a bit of searching led me to http://intellinuxwireless.org/iwlwif...18.168.6.1.tgz, which includes iwlwifi-6000g2b-6.ucode. After placing that file in /lib/firmware/ and reloading the iwlwifi kernel module, wireless now works.

The logs-3.2.13.txt attachment has the outputs of dmesg, lsmod, lspci -v, and /var/log/Xorg.0.log from running the vanilla 3.2.13 Slackware kernel. The logs-3.4.4.txt attachment has the outputs of dmesg, lsmod, lspci -v, /var/log/Xorg.0.log, and glxinfo from running my 3.4.4 kernel.

I realize this kind of weird because I'm not actually asking a question, but I wanted to put this information up in case someone else has a similar problem. My Google searches weren't turning up anything useful, so I just tried upgrading the kernel to see if it would work for me.

TommyC7 06-24-2012 09:10 AM

A computer like that, on an Intel HD X000 video card is quite odd to me. Are you sure there isn't a second video card that the computer is capable of using, say an nVidia 6XXM or an AMD/ATi 7XXX (I'm guessing the model numbers because those tend to come with the newer intel CPU's, at least they do with HP laptops).

As for the Intel WiFi thing, is: iwlwifi-6xxx-ucode in Slackware not compatible? The one in the mirror is not version 18.168.6.1, instead it's version 17.168.5.2 but I would assume it's still somewhat capable (and at least this way pkgtool can keep track of it). Plus you can always use the .SlackBuild and other files Pat provides (e.g. slack-desc) to build a newer version of the iwlwifi-6xxx-ucode package that can still be managed with pkgtool.

For the changing terminals thing, I have no idea. I don't see how a computer with specs like that can't come with a more modern graphics card from AMD/ATi or nvidia, though. Perhaps it's disabled in the BIOS? Although I think lspci would still pick that up. :/

drumz 06-24-2012 05:43 PM

I can assure you the Intel card is the only graphics card. All of the current laptops from System76 currently have only Intel graphics cards. I only play games casually, and in addition I'm voting with my $ for hardware manufacturers that supply open-source drivers, so the Intel integrated graphics card is sufficient for me. For the wireless, Slackware provides /lib/firmware/iwlwifi-6000g2b-5.ucode, but the new kernel I'm using and my hardware require iwlwifi-6000g2b-6.ucode. You're right, I could build a new package, but it's just one file and I'm lazy. From my understanding booting with nomodeset is what keeps me from switching terminals. But with the new kernel I have no problem switching terminals. My problems arose because the hardware is so new.

ReaperX7 06-25-2012 12:20 AM

Often you want to buy laptops that have been out on the market at least 6 months to 1 year to at least let any Linux distribution time to get hardware supported in the Testing/Development branches.

Also, I'm surprised that the Intel HD 4000 is using the older Tungsten Graphics DRI driver in Mesa rather than the newer Gallium3D driver. Your IGP does support the proper shader hardware model to use Gallium3D.

drumz 06-25-2012 12:47 AM

A portion of the mesa build script from Slackware-current is:
Code:

# Be sure this list is up-to-date:
DRI_DRIVERS="i915,i965,nouveau,r200,radeon,swrast"

...

CFLAGS="$SLKCFLAGS" \
./configure \
  --prefix=/usr \
  --sysconfdir=/etc \
  --libdir=/usr/lib${LIBDIRSUFFIX} \
  --mandir=/usr/man \
  --docdir=/usr/doc/mesa-$VERSION \
  --with-dri-driverdir=/usr/lib${LIBDIRSUFFIX}/xorg/modules/dri \
  --with-dri-drivers="$DRI_DRIVERS" \
  --with-gallium-drivers=nouveau,swrast,r300,r600 \
  --enable-gallium-llvm \
  --build=$ARCH-slackware-linux

# r300 requires llvm
# Other gallium drivers:
# galahad,i915,identity,llvmpipe,noop,nv50,nvc0,nvfx,rbug,softpipe,svga,trace

Should I try
Code:

    --with-gallium-drivers=nouveau,swrast,r300,r600,i915 \
to enable the Gallium3D driver?

ReaperX7 06-25-2012 01:35 AM

Try

Code:

--with-gallium-drivers=i915,i965,nouveau,r300,r600,svga,swrast \
You may want to install the package "driconf" from http://www.slackbuilds.org to configure things like VSync and such.

There are some new Gallium3D drivers that I haven't seen since I published my original unofficial Mesa package for 7.11, so you may want to run ./configure against the bare libmesa package to see what is new and available for Gallium3D.

http://www.linuxquestions.org/questi...ckware-907245/

adamk75 06-25-2012 06:15 AM

The official intel GPU drivers do not use gallium3d. The gallium3d drivers are something a few of the mesa/vmware developers are working on, so you may want to double check if that's really the driver you want to use.

Adam

ReaperX7 06-25-2012 04:50 PM

Yes, Gallium3D for some cards is still considered experimental, but I have gotten Gallium3D to work on various Intel 9x0 based graphics chips like the 945G/M without any penalties.

Intel only says to stick with the Tungsten driver because it works with all their GPUs past and present, not just some of them like the older 740, 810/815, 830, and other pre-9x0 series GPUs, but Gallium3D will support 915 and later GPUs.

Edit:

There is also a new Radeon Gallium3D driver for newer AMD cards called radeonsi as well as some newer functionality drivers for certain other random hardware and driver formats that have been added recently. You could probably get away with building all the drivers, but for now the above coded option I posted is probably the safest at this time for all hardware.

drumz 06-26-2012 12:11 AM

The new -current update includes a new kernel (still 3.2, but maybe my problem was fixed) so I'd like to try that. Also I'd like to try the Gallium3D driver. I did check configure and i965 is not a valid option for --with-gallium-drivers.

-current also updated kernel-firmware, so maybe it includes iwlwifi-6000g2b-6.ucode.

I'll check later this week and report back.

ReaperX7 06-26-2012 01:23 AM

According to Phoronix the i915 Gallium3D driver supports the following chipsets:

Intel 915/945/G33/Q33/Q35/Pineview IGPs

It's also noted from Phoronix that the 915 and 965 drivers are a bit behind the Tungsten Graphics DRI driver and as of 8.0.3 from checking the configuration files the 965 driver may have been removed/deprecated from the code build which supported the:

946GZ, 965G, 965Q, 965GM 965GME, GM45, G41, B43, Q45, and G45 IGPs.

http://www.phoronix.com/scan.php?pag...item&px=OTYxNg

Apparently, Intel still wants to favor usage of the classic DRI mesa code for reasons that are not well explained.

http://www.phoronix.com/scan.php?pag...item&px=OTYxNA

I'm probably going to say that you might do well to stick to the DRI driver for now as it seems to be to more feature rich driver architecture.

With as new of a chipset as you have you might want to try out kernel 3.4.4 and see if the staging drivers for the kernel may offer some added support.

drumz 06-28-2012 01:40 AM

Out of my initial three problems number 3 is now solved in -current. kernel-firmware-20120622git-noarch-1.txz contains iwlwifi-6000g2b-6.ucode. Haven't checked yet if 1) and 2) are solved by the newest vanilla Slackware kernel in -current.

drumz 07-01-2012 07:19 PM

With the latest -current updates (new kernel 3.2.21) my graphics card now works (including KMS)! I'm now running a vanilla Slackware install; the only extra step was to make an initrd including the ext4 module as that's my root filesystem. It must have been a kernel bug that was causing my original graphics problems. Marking this as solved as all my original problems have been solved by Slackware itself.

drumz 07-01-2012 07:24 PM

ReaperX7, thanks for all the suggestions but since I have a working setup I'm no longer motivated to investigate further for what would most likely be a small or non-existant performance improvement. I may upgrade kernels, though, since my hardware is so new I might see performance improvements.


All times are GMT -5. The time now is 07:29 AM.