Getting Qubes R3.1 rc1 working with Skylake's integrated GPU

428 views
Skip to first unread message

Eric Shelton

unread,
Dec 9, 2015, 9:58:02 AM12/9/15
to qubes-users
As a followup to the instructions for installing on R3.0 (https://groups.google.com/d/msg/qubes-users/IllB1PaX5tA/-YA1-h59AwAJ), here are instructions for getting Skylake's integrated GPU working with Qubes R3.1 rc1:

1) Boot the R3.1 rc1 install ISO.  At the first screen, press tab.  Before the last set of three dashes, add 'i915.preliminary_hw_support=1'.  For example, the entire line might read:

> mboot.c32 xen.gz console=none --- vmlinuz inst.stage2=hd:LABEL=Qubes\x20R3.1-rc1\x20x86_64 quiet rhgb i915.preliminary_hw_support=1 --- initrd.img

Press enter to boot, then run the first phase of installation as normal.

2) On the first boot after all of the packages have been installed, at the first screen press 'e'.  At the end of the line beginning with 'module   /vmlinux-4.1.13-6.pvops.qubes.x86_64, add the same string as in step 1 - 'i915.preliminary_hw_support=1'.  For example, the edited line would read:

module  /vmlinuz-4.1.13-6.pvops.qubes.x86_64 placeholder root=/dev/mapper/qubes_dom0-root ro rd.lvm.lv=qubes_dom0/root vconsole.font=latarcyrheb-sun16 rd.luks.uuid=luks-8225d7d8-7a74-4647-927b-7892d3796801 rd.lvm.lv=qubes_dom0/swap rhgb quiet i915.preliminary_hw_support=1

Press Ctrl-x, and then complete the install as normal.

3) In a dom0 console (for example, System Tools->Konsole (Terminal)), edit /boot/grub2/grub.cfg (for example, 'sudo vi /boot/grub2/grub.cfg').  Add 'i915.preliminary_hw_support=1' to the end of the two lines beginning with 'module   /vmlinux-4.1.13-6.pvops.qubes.x86_64'.  Basically, they will both look like:

module  /vmlinuz-4.1.13-6.pvops.qubes.x86_64 placeholder root=/dev/mapper/qubes_dom0-root ro rd.lvm.lv=qubes_dom0/root vconsole.font=latarcyrheb-sun16 rd.luks.uuid=luks-8225d7d8-7a74-4647-927b-7892d3796801 rd.lvm.lv=qubes_dom0/swap rhgb quiet i915.preliminary_hw_support=1

4) Go to System Tools->System Settings->Power Management, and diable/uncheck Screen Energy Saving.  On kernels less than version 4.2, if the screen blanks (probably including suspending a notebook computer), the screen will go crazy, and you will have to reboot the system.  The fix for this is building your own RPMs for the 4.2.6 Linux kernel.

Best,
Eric

Eric Shelton

unread,
Dec 9, 2015, 9:59:43 AM12/9/15
to qubes-users
 To clear up the issue mentioned in step 4, I propose RPMs for linux-kernel 4.2.6 be added to the 3.1 unstable repo.

Eric

Eric Shelton

unread,
Dec 9, 2015, 12:36:01 PM12/9/15
to qubes-users
On Wednesday, December 9, 2015 at 9:58:02 AM UTC-5, Eric Shelton wrote:
As a followup to the instructions for installing on R3.0 (https://groups.google.com/d/msg/qubes-users/IllB1PaX5tA/-YA1-h59AwAJ), here are instructions for getting Skylake's integrated GPU working with Qubes R3.1 rc1:

1) Boot the R3.1 rc1 install ISO.  At the first screen, press tab.  Before the last set of three dashes, add 'i915.preliminary_hw_support=1'.  For example, the entire line might read:

> mboot.c32 xen.gz console=none --- vmlinuz inst.stage2=hd:LABEL=Qubes\x20R3.1-rc1\x20x86_64 quiet rhgb i915.preliminary_hw_support=1 --- initrd.img

Press enter to boot, then run the first phase of installation as normal.

2) On the first boot after all of the packages have been installed, at the first screen press 'e'.  At the end of the line beginning with 'module   /vmlinux-4.1.13-6.pvops.qubes.x86_64, add the same string as in step 1 - 'i915.preliminary_hw_support=1'.  For example, the edited line would read:

module  /vmlinuz-4.1.13-6.pvops.qubes.x86_64 placeholder root=/dev/mapper/qubes_dom0-root ro rd.lvm.lv=qubes_dom0/root vconsole.font=latarcyrheb-sun16 rd.luks.uuid=luks-8225d7d8-7a74-4647-927b-7892d3796801 rd.lvm.lv=qubes_dom0/swap rhgb quiet i915.preliminary_hw_support=1

Press Ctrl-x, and then complete the install as normal.

3) In a dom0 console (for example, System Tools->Konsole (Terminal)), edit /boot/grub2/grub.cfg (for example, 'sudo vi /boot/grub2/grub.cfg').  Add 'i915.preliminary_hw_support=1' to the end of the two lines beginning with 'module   /vmlinux-4.1.13-6.pvops.qubes.x86_64'.  Basically, they will both look like:

module  /vmlinuz-4.1.13-6.pvops.qubes.x86_64 placeholder root=/dev/mapper/qubes_dom0-root ro rd.lvm.lv=qubes_dom0/root vconsole.font=latarcyrheb-sun16 rd.luks.uuid=luks-8225d7d8-7a74-4647-927b-7892d3796801 rd.lvm.lv=qubes_dom0/swap rhgb quiet i915.preliminary_hw_support=1

Actually, an improved step 3 is as follows, since you won't have to keep updating grub.cfg down the road:

3) Add 'i915.preliminary_hw_support=1' to kernel cmdline in /etc/default/grub (GRUB_CMDLINE_LINUX line)

3.5) Rebuild grub config ('sudo grub2-mkconfig -o /boot/grub2/grub.cfg)

Eric Shelton

unread,
Dec 15, 2015, 2:28:51 PM12/15/15
to qubes-users
To provide a data point, I have been using 4.2.6 without any issues for a week now.  4.2.7 appears to also work fine, except that the attached patch is needed to fix a regression introduced in 4.2.7.  Without the patch, DispVM will not work.

Eric
fix-rtc-cmos.patch

rk...@datarecognitioncorp.com

unread,
Jan 4, 2016, 6:23:33 PM1/4/16
to qubes-users
Do you know if updating these settings will fix problems with multiple monitors not being detected? I have one monitor working but cannot get the system to recognize the other display devices that I have.

When I installed I updated dom0 with the current-testing repo enabled

When I try to boot from my USB drive to follow your steps above I cannot figure out which screen to use tab on (novice here).

I tried it on the screen where you select to install qubes os but I can't get it to bring up what you describe by using 'e' or 'c'. There is also no grub.cfg file where it should be either when I mount the installed system for recovery and look in /mnt/sysimage or when I boot into the installed system and look for it in dom0.

The gist is that I am terribly confused about how to get qubes to recognize all three of my displays at the same time (they are all the same monitor but I am using VGA, HDMI, and DVI across them and HDMI is the one that is getting used by default).

Marek Marczykowski-Górecki

unread,
Jan 4, 2016, 6:55:43 PM1/4/16
to Eric Shelton, qubes-users
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
In the meantime I've uploaded 4.3.3 to unstable repo. And will upload
new build in a moment, with that patch applied...

- --
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJWiwZ6AAoJENuP0xzK19cs6wwH/jGJ2f0ik/LXuAdL7LlESHXm
TDezjt4FmkjmOm1Y+7D5kZt+4hrTXrKfeo+qaB0nIvPdhM5jbhcN8BjlkNdgC5T0
lo61tClgbg0pm1fDro4ZRI52rYbcqvHWJYh3NBFrZgC+PKEa3pqQI6VvAmGPS1WI
jZM3+9+rjS4Ej3jgOrS/kO2JGRzBNgHacpQV0B+h1mBNIapIyxZLM5Ra6yBaRbRm
cezlgFRrnTDetsM/zRp3lVptOiQgc8HyKiDa4XxKf/n78oxUIdAWANSlgZdGByvK
oc2D9G4/PWsWU6LmG/Q/sWBMHoBi+tN/WSmcQHQ8H79CQ9gyj9k9nL1TbExsV8Q=
=83Hx
-----END PGP SIGNATURE-----

Marek Marczykowski-Górecki

unread,
Jan 4, 2016, 6:56:31 PM1/4/16
to Eric Shelton, qubes-users
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

But it shouldn't matter for dom0 kernel, I guess.

- --
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJWiwaoAAoJENuP0xzK19csqXMH/2BFrDMeuflJoTgXmvL8JB1K
aZG4dYYzLAWoLRHxJNy7PKWx9OOonGYmpmPs5JoDL/SLdn+B8oQQOy++F3hNEymu
HA39Dv4R/NCj2YdFZJITTu8ZytZIff1e84zATpdo1mzICMXPjfBJ4nvnOPkXFVbW
pIpMcX/GBL7jgmOTFZFq44b4g5VEfVCueJxwuIBPcANxXrG9bNv2tagn4MaP+RkP
dk5Wx8DAtcXULdaN8bwepUgqM+6blNhqyfi/ujk6kfxaOWbGJgN+bTY5TJE5g0JP
6ysMo1/0arECi4Lr4rzm+B6ZUmhmyiJX/1yx/fsG+vcBdRfh4do8XyRZCPtdltU=
=ztwk
-----END PGP SIGNATURE-----

Eric Shelton

unread,
Jan 4, 2016, 7:22:15 PM1/4/16
to qubes-users, marmarek
I have had no success with the 4.3 kernel series - there appears to be some kind of Xen-related bug that seems to cause vchan to break down after a little while.  A consistent way to demonstrate the problem with 4.3 is to play a Youtube video for a little while in an AppVM.  All of the audio traffic via vchan seems to accelerate creating the failure, although I run into the same problem with a simple text console too.  However, it is likely not worth investigating this issue, as it is not present in the 4.4 RC's - whatever the bug was, it has been fixed in more recent kernels.

I have also not had success with the 4.4 RC's.  Although they do not demonstrate the above problem, at least through rc6 (I have not tried rc7 or rc8) netvm will not come up - there always seems to be some kernel memory allocation failure or such associated with loading _any_ network adapter (or at least the two adapters by different manufacturers that I tried).  I have attached a copy from 'dmesg' on sys-net from rc5, I believe.  On top of that, there seems to be some issue with the i915 drivers (at least from Skylake) that does not allow running multiple displays (again, at least up to rc6).

Thus, I still propose making a 4.2 series kernel available - 4.2.8 is the current (and EOL) release.  I have been using it without any problems.

Eric

Eric Shelton

unread,
Jan 4, 2016, 7:51:36 PM1/4/16
to qubes-users, marm...@invisiblethingslab.com
Attachment now attached... 
sys-net-dmesg-4.4.output

wahyzcrak

unread,
Jan 4, 2016, 8:12:47 PM1/4/16
to qubes-users
I was able to use sudo qubes-dom0-update with the unstable repo to get multiple monitor support about 30 minutes ago. I am going to play around with it a bit more when I get home.

After rebooting my computer all 3 of my monitors were automatically detected without further tinkering.

I haven't tried YouTube (or really anything) after running the update so won't know for sure if there are problems until later.

Will update with results when I know.

Thank you for posting this fix.

marmarek

unread,
Jan 4, 2016, 10:22:14 PM1/4/16
to Eric Shelton, qubes-users
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Fair enough. Uploaded 4.2.8, with that patch applied. Sources available
in devel-4.2 branch on my github account.

On 4.3.3 in dom0 I've got xenstored crashes (SIGBUS). So removed 4.3.3
completely from unstable repository.

- --
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJWizbfAAoJENuP0xzK19csQDsH/3ew6Xz+isMKNV/eRm3Glk1A
N109IGUxmjr3J4F7w1QIakbr66VGdldfzPg05rPu2pkFApl9a2VszYm/fW/IAZDE
60TDwqXNA+++lefumM3N24xTvRp6Mz1PzNkFmny5Rv8dulkrt1AjDgj5bW9Bh/9P
ZQizhvy4VKbKwOMWLBPu65lPU6tIOPZueDRPeT29hY/Wim4u9rqZfeE2YK2/dtJw
9BwICRFDkSvHkw4Ukxacy12k49avS4rau303m4sdmB8wH7HsytI3IUkoCtWT54+3
R64FlnvciHbBKwuQwJvt/Y7AyBI7dOVqcQVkAjftR0hIkUpkuAVVcxQQQ1bP2ds=
=Rl7R
-----END PGP SIGNATURE-----

wahyzcrak

unread,
Jan 5, 2016, 10:40:32 AM1/5/16
to qubes-users, knock...@gmail.com
Just to follow up that I also see various errors after trying the 4.3 unstable from last night. I am going to redeploy with a previous version and see if I can figure out how to put this patch in manually on an earlier kernel.
 

Eric Shelton

unread,
Jan 5, 2016, 12:07:35 PM1/5/16
to qubes-users, knock...@gmail.com
Thanks; I think it will be helpful for upcoming Skylake installs.

Although you have a lot of stuff on your plate, you may want to look into the problem with netvm on the 4.4 rc series before they do a final release (although it sounds like it is imminent).  4.4 is the next long-term support series, and I suspect that the bug is in some way specific to a Xen network driver domain - I can't imagine them getting up to rc6 with network driver modules failing to load.  Unfortunately, I do not have experience with tracking down these types of kernel bugs, and cannot offer much help with it.  The best I can do is to try building rc8 to see if the problem remains.

Eric

Eric Shelton

unread,
Jan 5, 2016, 1:55:44 PM1/5/16
to qubes-users, knock...@gmail.com, marmarek
Confirmed: sys-net still fails under 4.4 rc8.  'dmesg' output attached.

Eric 
dmesg-sys-net-4.4-rc8.txt

Patrick Bouldin

unread,
Jun 6, 2016, 11:10:52 AM6/6/16
to qubes-users


On Wednesday, December 9, 2015 at 8:58:02 AM UTC-6, Eric Shelton wrote:
Hello, I was wondering. I'm having same issues on screen crazy, etc. In order to do the 'i915.preliminary_hw_support=1' to fix the issue, must I re-install QubesOS as indicated above, or is there a way to simply update things?

Thanks.
Patrick 
Reply all
Reply to author
Forward
0 new messages