Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Alienware 17r3 setup
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo
View previous topic :: View next topic  
Author Message
KShots
Guru
Guru


Joined: 09 Oct 2003
Posts: 591
Location: Florida

PostPosted: Mon Dec 07, 2015 9:13 pm    Post subject: Alienware 17r3 setup Reply with quote

I'm posting this because this laptop was just plain horribly difficult to configure. At this point, I have everything working except wireless (although wireless has some partial support).

What works:
  • Skylake GPU (via intel)
  • nVidia GPU (proprietary only via nvidia)
  • Sound (via snd_hda_intel)
  • Ethernet (via alx)
  • SSD (via nvme)
  • HDD (via ahci)
  • Bluetooth (via btusb)

What doesn't work:
  • Wireless
Now... to be fair, there is some progress with wireless support. The manufacturer (Killer 1535) claims to support linux with some firmware obtainable via github and some additional firmware they provide. I've also seen a post from someone using the board firmware supplied by dell themselves for this specific laptop. Below are ebuilds I built for both cases:

sys-firmware/killer1535-ucode
Dell Firmware
Code:
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=5

inherit git-r3

DESCRIPTION="Killer 1535 firmware blob"
HOMEPAGE="http://www.killernetworking.com"
SRC_URI="http://downloads.dell.com/FOLDER03204012M/1/Communications_Driver_M9PYT_WN64_1.1.54.1220_A00.EXE"

LICENSE="AS-IS"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""

DEPEND="app-arch/unzip"
RDEPEND=""

EGIT_REPO_URI="https://github.com/kvalo/ath10k-firmware.git"

src_unpack() {
   unzip "${DISTDIR}"/Communications_Driver_M9PYT_WN64_1.1.54.1220_A00.EXE || die unzip
   git-r3_src_unpack
}

src_compile() {
   echo 'nothing to build'
}

src_install() {
   install -D QCA6174/hw3.0/firmware-${PV}.bin_WLAN.RM.2.0-00180-QCARMSWPZ-1 "${D}"/lib/firmware/ath10k/QCA6174/hw3.0/firmware-${PV}.bin || die 'install firmware'
   install -D "${WORKDIR}"/drivers/Production/Windows10-x64/k1535w10/eeprom_ar6320_3p0_NFA344a.bin "${D}"/lib/firmware/ath10k/QCA6174/hw3.0/board.bin || die 'install board'
}
Killer 1535 firmware
Code:
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=5

inherit git-r3

DESCRIPTION="Killer 1535 firmware blob"
HOMEPAGE="http://www.killernetworking.com"
SRC_URI="http://www.killernetworking.com/support/board.bin -> ${PN}-board.bin"

LICENSE="AS-IS"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""

DEPEND=""
RDEPEND=""

EGIT_REPO_URI="https://github.com/kvalo/ath10k-firmware.git"

src_unpack() {
   git-r3_src_unpack
}

src_compile() {
   echo 'nothing to build'
}

src_install() {
   install -D QCA6174/hw3.0/firmware-${PV}.bin_WLAN.RM.2.0-00180-QCARMSWPZ-1 "${D}"/lib/firmware/ath10k/QCA6174/hw3.0/firmware-${PV}.bin || die 'install firmware'
   install -D "${DISTDIR}"/${PN}-board.bin "${D}"/lib/firmware/ath10k/QCA6174/hw3.0/board.bin || die 'install board'
}
In my limited testing, I believe the board vendor (killer) firmware is more reliable than the dell board firmware. Both appear to load and initialize properly, and both work with small amounts of traffic. However, every time I hit the dell driver with larger amounts of traffic, it froze the interface (requiring me to bring it down and back up). The Killer firmware seemed to work for a longer period of time, but would ultimately also fall flat on its face with any real traffic. I note that I have the same problem under Windows 10, although it lasts for a couple of gigabytes of traffic before disabling the interface. There are lots of other people with the same problem under Windows, so I don't think the board is defective... apparently it works without these issues under Windows 8.1.

Also, I started running into another issue when I tried the Dell firmware, but I'm not positive it was the firmware or a buggy Intel driver - it would hard lock my system after about 10 minutes, with nothing in the systemd journal to indicate what might have caused the crash. Each time I had to hold the power button down for 4 seconds to get the laptop to respond in any way. I've since disabled the wifi and enabled Optimus (see below) and haven't seen the crashes since. I'll see if they return when I re-enable wifi later in case it was just the skylake GPU crashing.

For ethernet support, it won't work out of the box. You'll use the 'alx' driver (from Qualcomm), but it won't recognize the hardware. Luckily, making it work is fairly trivial. Create the following files:

/etc/tmpfiles.d/ethernet.conf
Code:
w /sys/bus/pci/drivers/alx/new_id - - - - "1969 e0a1"
/etc/modules-load.d/qualcomm.conf
Code:
alx
The ethernet.conf file creates a new file on boot that tells the alx module to accept hardware ID "1969 e0a1". This can be done during runtime with the following command:

echo '1969 e0a1' > /sys/bus/pci/drivers/alx/new_id

You'll also need to create the qualcomm.conf driver as the kernel will not automatically load the alx module (it doesn't detect any applicable hardware). The config file forces it to load on boot. You can do this during runtime with modprobe alx

In order to access the SSD, you need to have the nvme module. This is located under "Device Drivers->Block devices->NVM Express block device". It will not show up under /dev/sd*, it shows up as /dev/nvme0n1 as the root block device, and partitions starting from p1 through however many you have. If you run parted, point it at /dev/nvme0n1.

Kernel support for the skylake GPU is a bit iffy. Under kernel 4.1.12, the bottom 1/4" of my screen showed a black bar, hiding whatever was beneath it. I was able to resolve this under 4.2.6 and also adding the kernel parameter i915.preliminary_hw_support=1. This parameter did not work under 4.1.12. Note also that the i915 driver under skylake now requires proprietary firmware in order to operate properly. Without this firmware, you will see hundreds of error messages on boot (but luckily it appears to at least support the framebuffer without the firmware). This firmware appears to be available in sys-kernel/linux-firmware-20150812 under /lib/firmware/i915/*. To install this firmware, either make sure your initrd has it available or compile it directly into the kernel. To install into the kernel, go do Device Drivers->Generic Driver Options->Firmware blobs root directory and set it to /lib/firmware. Also, set Device Drivers->Generic Driver Options->External firmware blobs to build into the kernel binary to i915/bxt_dmc_ver1_04.bin i915/bxt_dmc_ver1.bin i915/skl_dmc_ver1_04.bin i915/skl_dmc_ver1_16.bin i915/skl_dmc_ver1_18.bin i915/skl_dmc_ver1.bin i915/skl_guc_ver1_1059.bin i915/skl_guc_ver1.bin. I'll admit that it's possible some of those may be unnecessary - I just grabbed all the files under i915 and dumped them in. Afterwards, all the errors on boot disappear.

To get X working with the intel module, you must run xorg-server 1.17 or later for any kind of GL support, as mesa versions prior to 10.6.9 do not recognize the skylake GPU and fail to initialize. Note that mesa should be configured with support for i965. Configure X to use the intel driver, and everything should fire right up. I briefly tested this config for functionality by running "alien isolation" from steam. The game warned me that my driver was not supported, but still started. It ran at a 4k resolution at maybe 10-15 FPS with most textures missing, but it was enough to show me that most OGL support was functional (I was expecting it to barf completely if it wasn't setup properly).

Another problem you will run into is flickering (or tearing) of the display (whether in FB console mode, X11 intel, or even X11 nvidia). This can be minor (once every minute or so) or severe (several times per second). It seems to occur (or not occur) whenever the display is initialized, so if your display goes to sleep in a particularly bad state (say, several times per second), when you wake it up, the flicker will behave differently (it could even disappear). The only other way I've seen to re-initialize the display is to reboot. Here's to hoping a future kernel update fixes this issue :(

Next, in order to get your nvidia card working, you need to enable "Optimus" support. This can be done with the below xorg.conf options, which - when working properly - should produce a nice black screen whenever you start X:
Code:
Section "Device"
   Identifier "nvidia"
   Driver "nvidia"
   # Change the BusID if necessary. Tips: (lspci | grep -E "VGA|3D") (Change 01:00.0 to 1:0:0)
   BusID "PCI:1:0:0"
   Option "ConnectedMonitor" "CRT-0"
   Option "CustomEDID" "CRT-0:/sys/class/drm/card0-eDP-1/edid"
   Option "UseEDID" "true"
#   Option "AccelMethod" "none"
EndSection

Section "Device"
   Identifier "intel"
   Driver "modesetting"
   #Driver "intel"
   # Change BusID if necessary. Tips: (lspci | grep -E "VGA|3D") (Change 00:02.0 to 0:2:0)
   BusID "PCI:0:2:0"
   #Option "AccelMethod" "none"
   Option "AccelMethod" "sna"
   #Option "AccelMethod" "uxa"
   # The next three options help to reduce tearing, but reduce performance
   Option   "TearFree" "True"
   Option   "Tiling" "True"
   Option   "SwapbuffersWait" "True"
EndSection
Section "ServerLayout"
   Identifier "layout"
   #Screen 0 "nvidia"
   Screen 1 "nvidia"
   Inactive "intel"
   #Screen 0 "intel"
   #Inactive "nvidia"
EndSection
Section "Monitor"
   Identifier   "builtin"
   DisplaySize    382 214   # in millimeters
EndSection
Section "Screen"
   Identifier "nvidia"
   Device "nvidia"
   Option "AllowEmptyInitialConfiguration" "Yes"
EndSection

Section "Screen"
   Identifier "intel"
   Device "intel"
EndSection
If you get a black screen, then the above config is working properly. To get a functional X environment, you need to run the appropriate xrandr commands defined by every optimus guide in existence, most of which show different configs depending on your desktop environment of choice (so I'll leave it to them to show the proper config for your preferred desktop environment).
_________________
Life without passion is death in disguise
Back to top
View user's profile Send private message
d3day
n00b
n00b


Joined: 04 May 2016
Posts: 3

PostPosted: Thu May 05, 2016 12:03 am    Post subject: Reply with quote

A bit of necroposting, but with 4.4.6 ~amd kernel I've managed to get wifi on alienware 15 working. The backlight flickering is a major problem for me and I didn't find any solution to fix it as well as to find the root cause. (by flickering I mean backlight level changes)
_________________
Magic is a matter of science.
Back to top
View user's profile Send private message
axl
Veteran
Veteran


Joined: 11 Oct 2002
Posts: 1144
Location: Romania

PostPosted: Thu May 05, 2016 11:24 am    Post subject: Reply with quote

A little bit offtopic.

I see this laptop has a GTX 970 board, which ofc means you had to select nvidia-drivers.

But there is _some_ nouveau support for your video card.

According to https://nouveau.freedesktop.org/wiki/ Mar, 2016: GM20x acceleration support (with redistributable signed firmware) merged in Linux 4.6 and Mesa 11.2

Personally I have a GTX 960. Mine isn't working yet. I think I have a weird revision of the board or smth. Firmware wont load at boot.

You prolly already have mesa & nouveau. Prolly just need to reinstall linux-firmware (to get the nvidia firmware stubs) and put a 4.6-rc kernel. And maybe you will be one of the lucky ones that gets new generation of nvidia cards to work with nouveau driver :)

Good luck :)
Back to top
View user's profile Send private message
KShots
Guru
Guru


Joined: 09 Oct 2003
Posts: 591
Location: Florida

PostPosted: Fri May 06, 2016 3:57 am    Post subject: Reply with quote

As far as the flickering I previously reported goes, it may be attributed to a defective laptop. The laptop I originally posted on/with had that issue, and shortly thereafter died with a fried CPU. The replacement/RMA laptop did not flicker when configured similarly (going on 4 months now).

Also note that the current stable kernel (4.4.6) works just fine with the hardware in this laptop (with the exception of nouveau, see the post from axl above for help with that if you want). Mine actually has the GTX 980, not the 970, but support for that is also lacking. nvidia-drivers appears to work fine, though.

d3day, I haven't noticed any backlight flickering in my laptop... does it do the same under windows (if you dual-boot)? I've also had working wifi for several months, although I get errors in my dmesg log about "invalid board magic" from my board.bin (or board-2.bin, it doesn't seem to matter).

Also, as of the 4.4 and later kernel, the alx module supports the wired ethernet board directly, so no more forcing it to work via PCI ID hacking.
_________________
Life without passion is death in disguise
Back to top
View user's profile Send private message
d3day
n00b
n00b


Joined: 04 May 2016
Posts: 3

PostPosted: Sun May 15, 2016 3:48 pm    Post subject: Reply with quote

For windows 8.1 that was preinstalled on this laptop no problems with flickering were found, however I was not able to disable the dynamic brightness while changing from light background to darker one (while browsing etc). It works correctly but is quite annoying.

Before I even started to play with gentoo on this laptop I had problem with nvidia card (970m) as the core clock was stuck and nothing helped (vbios change, overclocking, changing voltage, configuration using nvidia software, different drivers versions) . This problem was resolved when mb was changed (as cpu and gpu are soldered and are not removable). Now everything is working as expected in windows. But gentoo is different story...

Also the nvidia card is not used anywhere and modules for are not loaded as well. So basically only intel card is used.

About the wifi card. If you happen to install drivers for it with the so called software (bloatware that is trying to do traffic prioritization) you should try to disable the prioritization. I had similar problems in windows 8.1 they are gone after I've unchecked that check-box.
_________________
Magic is a matter of science.
Back to top
View user's profile Send private message
KShots
Guru
Guru


Joined: 09 Oct 2003
Posts: 591
Location: Florida

PostPosted: Mon May 16, 2016 12:31 pm    Post subject: Reply with quote

axl wrote:
A little bit offtopic.

I see this laptop has a GTX 970 board, which ofc means you had to select nvidia-drivers.

But there is _some_ nouveau support for your video card.

According to https://nouveau.freedesktop.org/wiki/ Mar, 2016: GM20x acceleration support (with redistributable signed firmware) merged in Linux 4.6 and Mesa 11.2

Personally I have a GTX 960. Mine isn't working yet. I think I have a weird revision of the board or smth. Firmware wont load at boot.

You prolly already have mesa & nouveau. Prolly just need to reinstall linux-firmware (to get the nvidia firmware stubs) and put a 4.6-rc kernel. And maybe you will be one of the lucky ones that gets new generation of nvidia cards to work with nouveau driver :)

Good luck :)
Any idea if full acceleration is available in nouveau yet, or is it still stuck in power-saving mode? I'd love to be able to use it, but I'd kinda like to be able to use more than 10% of the performance of the card.
_________________
Life without passion is death in disguise
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum