Setup for Graphic Design work / Failing to configure a PCI pasthrough on Archlinux

159 views
Skip to first unread message

joseph....@gmail.com

unread,
Jan 11, 2017, 9:06:09 PM1/11/17
to qubes-users
Hello.

Firstly, thank you for taking the time to read this, I'll be brief.

I'm a graphic designer, and a paranoid. With Qubes OS, I aspire to peform both of these roles at the same time, even if that requires some adaptation. I'm familiar with using Windows,the Adobe Creative Suite (Photoshop and Illustrator, occasionally InDesign), and working with a 13' Cintiq tablet (http://www.wacom.com/en-us/products/pen-displays/cintiq-13-hd). The laptop I've installed Qubes on is an Dell Inspiron 15 5547 (http://www.pcworld.idg.com.au/review/dell/inspiron_15_5547/545787/specs/ and https://wiki.archlinux.org/index.php/Dell_Inspiron_5547).

At first, I've tried installing running a windows 7 HVM, but gave up on the idea after discovering it would not work, as of now, with my Cintiq due to limitations on assigning it a USB controller (https://groups.google.com/forum/#!searchin/qubes-users/windows$20usb%7Csort:relevance/qubes-users/PtUAMzZGUHU/efAzwol9AwAJ). Then, I've installed Archlinux, intending on using Wine to run the applications. To be honest, I don't know if this is the most appropriate solution. I'm figuring this thing out as I go along.

As of now, I've created an AppVM based upon the Archlinux template, and tried to assign it an USB controller (00:14.0 USB controller: Intel Corporation 8 Series USB xHCI HC (rev 04), and a GPU (03:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Topaz XT [Radeon R7 M260/M265]). Eventually I'll have to figure out where is the HDMI exit in the lspci output list but, as of now, when assign those two pieces of hardware to the AppVM, it fails to boot. Even worse, from that point on, any other VM will also fail to boot until I restart the computer.

So, I would like to ask of you: is this solution most appropriate for its intended use? If so, how does one solve its technical issues? If not, what are the alternatives?

Again, I would like to thank you for your help.

Tai...@gmx.com

unread,
Jan 12, 2017, 2:34:03 AM1/12/17
to joseph....@gmail.com, qubes-users
Have you ran the HCL tools? does your chipset support IOMMU? (inspiron
is a garbage consumer level device so probably not)

Graphics device assignment is an experimental feature, it doesn't work
all of the time and you can only (easily) assign a secondary graphics
device that isn't in use. I assume you tried to assign your primary
video adapter...
It will only work with HVM.

If you want more than one video device on a laptop you can try an
external pci-e device, they connect via various interfaces including
expresscard.

Assigning a USB controller (all of it) doesn't involve emulation, any
usb device will work as long as the guest supports it just like on bare
metal.

I play the latest games in a virtual machine with an attached graphics
card on QEMU, I will be happy to help if you have any further questions.

Tai...@gmx.com

unread,
Jan 12, 2017, 2:38:05 AM1/12/17
to joseph....@gmail.com, qubes-users
On 01/11/2017 09:06 PM, joseph....@gmail.com wrote:

*UPDATED NEW* forgot the questions at the bottom and accidental top post
Have you ran the HCL tools? does your chipset support IOMMU? (inspiron
is a garbage consumer level device so probably not)

Graphics device assignment is an experimental feature, it doesn't work
all of the time and you can only (easily) assign a secondary graphics
device that isn't in use. I assume you tried to assign your primary
video adapter...
It will only work with HVM.

If you want more than one video device on a laptop you can try an
external pci-e device, they connect via various interfaces including
expresscard.

Assigning a USB controller (all of it) doesn't involve emulation, any
usb device will work as long as the guest supports it just like on bare
metal.

I play the latest games in a virtual machine with an attached graphics
card on QEMU, I will be happy to help if you have any further questions

It is what you should do if you want this and it is more secure than
bare metal or emulation if you follow the above.

Using it with qubes is difficult but some users have reported success,
maybe better to use another distro with xen or qemu if you want this.

joseph....@gmail.com

unread,
Jan 12, 2017, 6:50:48 AM1/12/17
to qubes-users, joseph....@gmail.com, Tai...@gmx.com
> Have you ran the HCL tools?
No, where do can I find it? I comes installed with Qubes 3.2? I went through the system requirements and recommendations (https://www.qubes-os.org/doc/system-requirements/), they all check.

> Does your chipset support IOMMU? (inspiron

> is a garbage consumer level device so probably not)

Yes, It's compatible with Intel VT-d. I believe that's it for IOMMU... or am I missing something?

> Graphics device assignment is an experimental feature, it doesn't work
> all of the time and you can only (easily) assign a secondary graphics
> device that isn't in use. I assume you tried to assign your primary
> video adapter...
> It will only work with HVM.

So you suggest that I assign the GPU to an HVM version of Archlinux instead of an AppVM version of it?



> If you want more than one video device on a laptop you can try an
> external pci-e device, they connect via various interfaces including
> expresscard.
>
> Assigning a USB controller (all of it) doesn't involve emulation, any
> usb device will work as long as the guest supports it just like on bare
> metal.
>
> I play the latest games in a virtual machine with an attached graphics
> card on QEMU, I will be happy to help if you have any further questions

Then I must thank you for your patience, because I don't think I got this part. XD How would this PCI-e and expresscard business be helpful? If Assigning a USB controller doesn't involve emulation, does it mean that it shouldn't cause any problems when assigning it to the Archlinux appVM? Because if I only assign the USB controller to the Archlinux AppVM, it still locks any new initialization of VMs. How would I go about using QEMU to run Adobe CC software?

> It is what you should do if you want this and it is more secure than
> bare metal or emulation if you follow the above.
>
> Using it with qubes is difficult but some users have reported success,
> maybe better to use another distro with xen or qemu if you want this.

Where were these successes reported?

Tai...@gmx.com

unread,
Jan 12, 2017, 10:25:30 PM1/12/17
to joseph....@gmail.com, qubes...@googlegroups.com
On 01/12/2017 06:50 AM, joseph....@gmail.com wrote:

>> Have you ran the HCL tools?
> No, where do can I find it? I comes installed with Qubes 3.2? I went through the system requirements and recommendations (https://www.qubes-os.org/doc/system-requirements/), they all check.
ok open a terminal in dom0 and type qubes-hcl-report press enter and
then paste the result after maybe removing any serial numbers if you
don't like to share them.
>
>> Does your chipset support IOMMU? (inspiron
>> is a garbage consumer level device so probably not)
> Yes, It's compatible with Intel VT-d. I believe that's it for IOMMU... or am I missing something?
Maybe the chipset theoretically is but your laptop? you still have not
ran the HCL nor checked the bios to see if IOMMU is supported (intel
calls it VT-d)
Consumer level computers don't bother to properly implement this 99% of
the time.
>
>> Graphics device assignment is an experimental feature, it doesn't work
>> all of the time and you can only (easily) assign a secondary graphics
>> device that isn't in use. I assume you tried to assign your primary
>> video adapter...
>> It will only work with HVM.
> So you suggest that I assign the GPU to an HVM version of Archlinux instead of an AppVM version of it?
Yeah you can try, but maybe you would have better luck not using qubes
for this.
Either way you must look up a tutorial "iommu vt-d graphics qubes xen",
it isn't plug and play just yet so you have to configure some obscure
options.
>
>> If you want more than one video device on a laptop you can try an
>> external pci-e device, they connect via various interfaces including
>> expresscard.
>>
>> Assigning a USB controller (all of it) doesn't involve emulation, any
>> usb device will work as long as the guest supports it just like on bare
>> metal.
>>
>> I play the latest games in a virtual machine with an attached graphics
>> card on QEMU, I will be happy to help if you have any further questions
> Then I must thank you for your patience, because I don't think I got this part. XD How would this PCI-e and expresscard business be helpful? If Assigning a USB controller doesn't involve emulation, does it mean that it shouldn't cause any problems when assigning it to the Archlinux appVM? Because if I only assign the USB controller to the Archlinux AppVM, it still locks any new initialization of VMs. How would I go about using QEMU to run Adobe CC software?
You are assigning the controller that is in use for your hypervisor, it
doesn't let you do this because either it is already assigned to a
usb-VM or as a built in safety feature to prevent you from locking
yourself out of controlling the hypervisor.

You can only assign secondary devices without significant effort.

You can't assign a primary video device without pain, so getting an
external expresscard to pci-e slot would let you pop in another graphics
device and assign that instead.

There are many tutorials as to how to do that, maybe google "kvm qemu
gaming"
>
>> It is what you should do if you want this and it is more secure than
>> bare metal or emulation if you follow the above.
>>
>> Using it with qubes is difficult but some users have reported success,
>> maybe better to use another distro with xen or qemu if you want this.
> Where were these successes reported?
If you google "qubes vt-d graphics" you can find them.
Reply all
Reply to author
Forward
0 new messages