Xen: Graphical output on domU after secondary GPU passthrough

Clash Royale CLAN TAG#URR8PPP
I have done a secondary GPU passthrough to a Linux domU, but I don't know how to output Xorg from the secondary GPU.
The dom0 is using an Intel integrated graphics card. I am passing through an AMD 6450 to domU, as it there were two mentions of it here:
https://wiki.xenproject.org/wiki/Xen_VGA_Passthrough_Tested_Adapters
Short list of what I did:
- Enabled VT-d in motherboard BIOS
- Added
intel_iommu=onto dom0 GRUB - Blacklisted modules of GPU and it's audio subsystem
modprobe xen-pcibackxl pci-assignable-add _______for both GPU and it's audio subsystem- Added the two PCI IDs to the Xen configuration file:
pci = [ '_____', '_____' ] - Booted and installed Linux in the domU
When I boot, after the above steps, I get one error message:libxl: error: libxl_pci.c:1151:libxl__device_pci_reset: The kernel doesn't support reset from sysfs for PCI device 0000:01.00.0
Despite the above error, when I run lspci -nnk on the domU, it shows the GPU and audio sub-device, including these lines:Kernel driver in use: radeonKernel driver in use: snd_hda_intel
Also, of course, a line for the primary domU virtual GPU:Kernel driver in use: cirrus
Then, if I connect a VGA or DVI cable from the passed through GPU to the monitor, the monitor stays on (green power button) with a dark grey screen. Whereas
usually, when the monitor detects no input, it just goes straight to standby (orange power button). So there is some kind of GPU output.
If I startx and run xrandr through VNC, there doesn't seem to be any sign of the physical monitor, it seems there is only the virtualized
VNC/cirrus monitor.
If I add gfx_passthru=1 to the configuration file, it always fails at boot. The first error message that appears when I add gfx_passthru=1 is:libxl: error: libxl_dm.c:1302:libxl__build_device_model_args_new: unable to detect required gfx_passthru_kind
Before I ever used virtualisation, to switch output from primary/secondary graphics card to the other, I would usually just change the settings in the
BIOS, and Linux would follow. So Xorg + domU is very different territory for me.
Does anyone know how I can output Xorg through the secondary GPU in the domU, after this point ? Various GPU passthrough guides online only cover
Windows.
UPDATE
After StrongBad's response, I have moved from an Arch domU to a Debian 8.8 from the Debian wiki domU, as fglrx is not in the official Arch repos anymore.
However, unlike the Arch domU, the Debian domU has no mysterious dark grey monitor output with always-on green power button, when the passed through GPU is connected to the monitor.
Nonetheless, I did the following:
- Installed
fglrx - Ran
sudo aticonfig --initial - Added the four lines to
/etc/xorg.conffrom the Debian wiki
However, when I run startx from a VNC TTY, it just crashes. The first error message in Xorg.0.log states:(EE) fglrx(0): Failed to open CMMQS connection
linux virtual-machine xen radeon fglrx
add a comment |
I have done a secondary GPU passthrough to a Linux domU, but I don't know how to output Xorg from the secondary GPU.
The dom0 is using an Intel integrated graphics card. I am passing through an AMD 6450 to domU, as it there were two mentions of it here:
https://wiki.xenproject.org/wiki/Xen_VGA_Passthrough_Tested_Adapters
Short list of what I did:
- Enabled VT-d in motherboard BIOS
- Added
intel_iommu=onto dom0 GRUB - Blacklisted modules of GPU and it's audio subsystem
modprobe xen-pcibackxl pci-assignable-add _______for both GPU and it's audio subsystem- Added the two PCI IDs to the Xen configuration file:
pci = [ '_____', '_____' ] - Booted and installed Linux in the domU
When I boot, after the above steps, I get one error message:libxl: error: libxl_pci.c:1151:libxl__device_pci_reset: The kernel doesn't support reset from sysfs for PCI device 0000:01.00.0
Despite the above error, when I run lspci -nnk on the domU, it shows the GPU and audio sub-device, including these lines:Kernel driver in use: radeonKernel driver in use: snd_hda_intel
Also, of course, a line for the primary domU virtual GPU:Kernel driver in use: cirrus
Then, if I connect a VGA or DVI cable from the passed through GPU to the monitor, the monitor stays on (green power button) with a dark grey screen. Whereas
usually, when the monitor detects no input, it just goes straight to standby (orange power button). So there is some kind of GPU output.
If I startx and run xrandr through VNC, there doesn't seem to be any sign of the physical monitor, it seems there is only the virtualized
VNC/cirrus monitor.
If I add gfx_passthru=1 to the configuration file, it always fails at boot. The first error message that appears when I add gfx_passthru=1 is:libxl: error: libxl_dm.c:1302:libxl__build_device_model_args_new: unable to detect required gfx_passthru_kind
Before I ever used virtualisation, to switch output from primary/secondary graphics card to the other, I would usually just change the settings in the
BIOS, and Linux would follow. So Xorg + domU is very different territory for me.
Does anyone know how I can output Xorg through the secondary GPU in the domU, after this point ? Various GPU passthrough guides online only cover
Windows.
UPDATE
After StrongBad's response, I have moved from an Arch domU to a Debian 8.8 from the Debian wiki domU, as fglrx is not in the official Arch repos anymore.
However, unlike the Arch domU, the Debian domU has no mysterious dark grey monitor output with always-on green power button, when the passed through GPU is connected to the monitor.
Nonetheless, I did the following:
- Installed
fglrx - Ran
sudo aticonfig --initial - Added the four lines to
/etc/xorg.conffrom the Debian wiki
However, when I run startx from a VNC TTY, it just crashes. The first error message in Xorg.0.log states:(EE) fglrx(0): Failed to open CMMQS connection
linux virtual-machine xen radeon fglrx
add a comment |
I have done a secondary GPU passthrough to a Linux domU, but I don't know how to output Xorg from the secondary GPU.
The dom0 is using an Intel integrated graphics card. I am passing through an AMD 6450 to domU, as it there were two mentions of it here:
https://wiki.xenproject.org/wiki/Xen_VGA_Passthrough_Tested_Adapters
Short list of what I did:
- Enabled VT-d in motherboard BIOS
- Added
intel_iommu=onto dom0 GRUB - Blacklisted modules of GPU and it's audio subsystem
modprobe xen-pcibackxl pci-assignable-add _______for both GPU and it's audio subsystem- Added the two PCI IDs to the Xen configuration file:
pci = [ '_____', '_____' ] - Booted and installed Linux in the domU
When I boot, after the above steps, I get one error message:libxl: error: libxl_pci.c:1151:libxl__device_pci_reset: The kernel doesn't support reset from sysfs for PCI device 0000:01.00.0
Despite the above error, when I run lspci -nnk on the domU, it shows the GPU and audio sub-device, including these lines:Kernel driver in use: radeonKernel driver in use: snd_hda_intel
Also, of course, a line for the primary domU virtual GPU:Kernel driver in use: cirrus
Then, if I connect a VGA or DVI cable from the passed through GPU to the monitor, the monitor stays on (green power button) with a dark grey screen. Whereas
usually, when the monitor detects no input, it just goes straight to standby (orange power button). So there is some kind of GPU output.
If I startx and run xrandr through VNC, there doesn't seem to be any sign of the physical monitor, it seems there is only the virtualized
VNC/cirrus monitor.
If I add gfx_passthru=1 to the configuration file, it always fails at boot. The first error message that appears when I add gfx_passthru=1 is:libxl: error: libxl_dm.c:1302:libxl__build_device_model_args_new: unable to detect required gfx_passthru_kind
Before I ever used virtualisation, to switch output from primary/secondary graphics card to the other, I would usually just change the settings in the
BIOS, and Linux would follow. So Xorg + domU is very different territory for me.
Does anyone know how I can output Xorg through the secondary GPU in the domU, after this point ? Various GPU passthrough guides online only cover
Windows.
UPDATE
After StrongBad's response, I have moved from an Arch domU to a Debian 8.8 from the Debian wiki domU, as fglrx is not in the official Arch repos anymore.
However, unlike the Arch domU, the Debian domU has no mysterious dark grey monitor output with always-on green power button, when the passed through GPU is connected to the monitor.
Nonetheless, I did the following:
- Installed
fglrx - Ran
sudo aticonfig --initial - Added the four lines to
/etc/xorg.conffrom the Debian wiki
However, when I run startx from a VNC TTY, it just crashes. The first error message in Xorg.0.log states:(EE) fglrx(0): Failed to open CMMQS connection
linux virtual-machine xen radeon fglrx
I have done a secondary GPU passthrough to a Linux domU, but I don't know how to output Xorg from the secondary GPU.
The dom0 is using an Intel integrated graphics card. I am passing through an AMD 6450 to domU, as it there were two mentions of it here:
https://wiki.xenproject.org/wiki/Xen_VGA_Passthrough_Tested_Adapters
Short list of what I did:
- Enabled VT-d in motherboard BIOS
- Added
intel_iommu=onto dom0 GRUB - Blacklisted modules of GPU and it's audio subsystem
modprobe xen-pcibackxl pci-assignable-add _______for both GPU and it's audio subsystem- Added the two PCI IDs to the Xen configuration file:
pci = [ '_____', '_____' ] - Booted and installed Linux in the domU
When I boot, after the above steps, I get one error message:libxl: error: libxl_pci.c:1151:libxl__device_pci_reset: The kernel doesn't support reset from sysfs for PCI device 0000:01.00.0
Despite the above error, when I run lspci -nnk on the domU, it shows the GPU and audio sub-device, including these lines:Kernel driver in use: radeonKernel driver in use: snd_hda_intel
Also, of course, a line for the primary domU virtual GPU:Kernel driver in use: cirrus
Then, if I connect a VGA or DVI cable from the passed through GPU to the monitor, the monitor stays on (green power button) with a dark grey screen. Whereas
usually, when the monitor detects no input, it just goes straight to standby (orange power button). So there is some kind of GPU output.
If I startx and run xrandr through VNC, there doesn't seem to be any sign of the physical monitor, it seems there is only the virtualized
VNC/cirrus monitor.
If I add gfx_passthru=1 to the configuration file, it always fails at boot. The first error message that appears when I add gfx_passthru=1 is:libxl: error: libxl_dm.c:1302:libxl__build_device_model_args_new: unable to detect required gfx_passthru_kind
Before I ever used virtualisation, to switch output from primary/secondary graphics card to the other, I would usually just change the settings in the
BIOS, and Linux would follow. So Xorg + domU is very different territory for me.
Does anyone know how I can output Xorg through the secondary GPU in the domU, after this point ? Various GPU passthrough guides online only cover
Windows.
UPDATE
After StrongBad's response, I have moved from an Arch domU to a Debian 8.8 from the Debian wiki domU, as fglrx is not in the official Arch repos anymore.
However, unlike the Arch domU, the Debian domU has no mysterious dark grey monitor output with always-on green power button, when the passed through GPU is connected to the monitor.
Nonetheless, I did the following:
- Installed
fglrx - Ran
sudo aticonfig --initial - Added the four lines to
/etc/xorg.conffrom the Debian wiki
However, when I run startx from a VNC TTY, it just crashes. The first error message in Xorg.0.log states:(EE) fglrx(0): Failed to open CMMQS connection
linux virtual-machine xen radeon fglrx
linux virtual-machine xen radeon fglrx
edited Jan 26 at 15:33
Rui F Ribeiro
40.1k1479136
40.1k1479136
asked Jun 7 '17 at 13:56
j-deerj-deer
133
133
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
It looks like you are pretty far along. I more or less successfully got secondary VGA passthrough working with Xen 4.4.0 (and a few later versions). I had trouble with version 4.7, but never really tried to debug it. If I recall correctly, in my working system, I also got an error like:
libxl: error: libxl_pci.c:1151:libxl__device_pci_reset: The kernel doesn't support reset from sysfs for PCI device 0000:01.00.0
While trying to get secondary passthrough working I asked a question on the Xen list. I had two issues that I could never solve. The first is that the TTYs are on the primary device so I cannot see any boot messages and can only use an X session. The second issue was I could only use the proprietary catalyst drivers. It looks like you are trying to use the Radeon drivers, so that might be your issue.
I am pretty sure gfx_passthru=1 is only for primary passthrough so you probably do not want it. I asked on the Xen mailing list what the difference between primary and secondary passthrough, apart from a lot of pain, is. The response was:
The only advantage of passing the interface as primary (and FWIW I have
never actually seen this work) is that in that case you get to see the SeaBIOS POST screen and the domU OS boot progress before it loads the GPU
OK I will givefglrxa try and see what happens. I hadn't thought of that making a difference, thank you for the tip !
– j-deer
Jun 7 '17 at 19:58
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f369737%2fxen-graphical-output-on-domu-after-secondary-gpu-passthrough%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
It looks like you are pretty far along. I more or less successfully got secondary VGA passthrough working with Xen 4.4.0 (and a few later versions). I had trouble with version 4.7, but never really tried to debug it. If I recall correctly, in my working system, I also got an error like:
libxl: error: libxl_pci.c:1151:libxl__device_pci_reset: The kernel doesn't support reset from sysfs for PCI device 0000:01.00.0
While trying to get secondary passthrough working I asked a question on the Xen list. I had two issues that I could never solve. The first is that the TTYs are on the primary device so I cannot see any boot messages and can only use an X session. The second issue was I could only use the proprietary catalyst drivers. It looks like you are trying to use the Radeon drivers, so that might be your issue.
I am pretty sure gfx_passthru=1 is only for primary passthrough so you probably do not want it. I asked on the Xen mailing list what the difference between primary and secondary passthrough, apart from a lot of pain, is. The response was:
The only advantage of passing the interface as primary (and FWIW I have
never actually seen this work) is that in that case you get to see the SeaBIOS POST screen and the domU OS boot progress before it loads the GPU
OK I will givefglrxa try and see what happens. I hadn't thought of that making a difference, thank you for the tip !
– j-deer
Jun 7 '17 at 19:58
add a comment |
It looks like you are pretty far along. I more or less successfully got secondary VGA passthrough working with Xen 4.4.0 (and a few later versions). I had trouble with version 4.7, but never really tried to debug it. If I recall correctly, in my working system, I also got an error like:
libxl: error: libxl_pci.c:1151:libxl__device_pci_reset: The kernel doesn't support reset from sysfs for PCI device 0000:01.00.0
While trying to get secondary passthrough working I asked a question on the Xen list. I had two issues that I could never solve. The first is that the TTYs are on the primary device so I cannot see any boot messages and can only use an X session. The second issue was I could only use the proprietary catalyst drivers. It looks like you are trying to use the Radeon drivers, so that might be your issue.
I am pretty sure gfx_passthru=1 is only for primary passthrough so you probably do not want it. I asked on the Xen mailing list what the difference between primary and secondary passthrough, apart from a lot of pain, is. The response was:
The only advantage of passing the interface as primary (and FWIW I have
never actually seen this work) is that in that case you get to see the SeaBIOS POST screen and the domU OS boot progress before it loads the GPU
OK I will givefglrxa try and see what happens. I hadn't thought of that making a difference, thank you for the tip !
– j-deer
Jun 7 '17 at 19:58
add a comment |
It looks like you are pretty far along. I more or less successfully got secondary VGA passthrough working with Xen 4.4.0 (and a few later versions). I had trouble with version 4.7, but never really tried to debug it. If I recall correctly, in my working system, I also got an error like:
libxl: error: libxl_pci.c:1151:libxl__device_pci_reset: The kernel doesn't support reset from sysfs for PCI device 0000:01.00.0
While trying to get secondary passthrough working I asked a question on the Xen list. I had two issues that I could never solve. The first is that the TTYs are on the primary device so I cannot see any boot messages and can only use an X session. The second issue was I could only use the proprietary catalyst drivers. It looks like you are trying to use the Radeon drivers, so that might be your issue.
I am pretty sure gfx_passthru=1 is only for primary passthrough so you probably do not want it. I asked on the Xen mailing list what the difference between primary and secondary passthrough, apart from a lot of pain, is. The response was:
The only advantage of passing the interface as primary (and FWIW I have
never actually seen this work) is that in that case you get to see the SeaBIOS POST screen and the domU OS boot progress before it loads the GPU
It looks like you are pretty far along. I more or less successfully got secondary VGA passthrough working with Xen 4.4.0 (and a few later versions). I had trouble with version 4.7, but never really tried to debug it. If I recall correctly, in my working system, I also got an error like:
libxl: error: libxl_pci.c:1151:libxl__device_pci_reset: The kernel doesn't support reset from sysfs for PCI device 0000:01.00.0
While trying to get secondary passthrough working I asked a question on the Xen list. I had two issues that I could never solve. The first is that the TTYs are on the primary device so I cannot see any boot messages and can only use an X session. The second issue was I could only use the proprietary catalyst drivers. It looks like you are trying to use the Radeon drivers, so that might be your issue.
I am pretty sure gfx_passthru=1 is only for primary passthrough so you probably do not want it. I asked on the Xen mailing list what the difference between primary and secondary passthrough, apart from a lot of pain, is. The response was:
The only advantage of passing the interface as primary (and FWIW I have
never actually seen this work) is that in that case you get to see the SeaBIOS POST screen and the domU OS boot progress before it loads the GPU
answered Jun 7 '17 at 15:33
StrongBadStrongBad
2,21662655
2,21662655
OK I will givefglrxa try and see what happens. I hadn't thought of that making a difference, thank you for the tip !
– j-deer
Jun 7 '17 at 19:58
add a comment |
OK I will givefglrxa try and see what happens. I hadn't thought of that making a difference, thank you for the tip !
– j-deer
Jun 7 '17 at 19:58
OK I will give
fglrx a try and see what happens. I hadn't thought of that making a difference, thank you for the tip !– j-deer
Jun 7 '17 at 19:58
OK I will give
fglrx a try and see what happens. I hadn't thought of that making a difference, thank you for the tip !– j-deer
Jun 7 '17 at 19:58
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f369737%2fxen-graphical-output-on-domu-after-secondary-gpu-passthrough%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown