Xen: Graphical output on domU after secondary GPU passthrough

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP












2















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:



  1. Enabled VT-d in motherboard BIOS

  2. Added intel_iommu=on to dom0 GRUB

  3. Blacklisted modules of GPU and it's audio subsystem

  4. modprobe xen-pciback


  5. xl pci-assignable-add _______ for both GPU and it's audio subsystem

  6. Added the two PCI IDs to the Xen configuration file: pci = [ '_____', '_____' ]

  7. 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: radeon
Kernel 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:



  1. Installed fglrx

  2. Ran sudo aticonfig --initial

  3. Added the four lines to /etc/xorg.conf from 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










share|improve this question




























    2















    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:



    1. Enabled VT-d in motherboard BIOS

    2. Added intel_iommu=on to dom0 GRUB

    3. Blacklisted modules of GPU and it's audio subsystem

    4. modprobe xen-pciback


    5. xl pci-assignable-add _______ for both GPU and it's audio subsystem

    6. Added the two PCI IDs to the Xen configuration file: pci = [ '_____', '_____' ]

    7. 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: radeon
    Kernel 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:



    1. Installed fglrx

    2. Ran sudo aticonfig --initial

    3. Added the four lines to /etc/xorg.conf from 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










    share|improve this question


























      2












      2








      2








      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:



      1. Enabled VT-d in motherboard BIOS

      2. Added intel_iommu=on to dom0 GRUB

      3. Blacklisted modules of GPU and it's audio subsystem

      4. modprobe xen-pciback


      5. xl pci-assignable-add _______ for both GPU and it's audio subsystem

      6. Added the two PCI IDs to the Xen configuration file: pci = [ '_____', '_____' ]

      7. 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: radeon
      Kernel 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:



      1. Installed fglrx

      2. Ran sudo aticonfig --initial

      3. Added the four lines to /etc/xorg.conf from 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










      share|improve this question
















      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:



      1. Enabled VT-d in motherboard BIOS

      2. Added intel_iommu=on to dom0 GRUB

      3. Blacklisted modules of GPU and it's audio subsystem

      4. modprobe xen-pciback


      5. xl pci-assignable-add _______ for both GPU and it's audio subsystem

      6. Added the two PCI IDs to the Xen configuration file: pci = [ '_____', '_____' ]

      7. 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: radeon
      Kernel 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:



      1. Installed fglrx

      2. Ran sudo aticonfig --initial

      3. Added the four lines to /etc/xorg.conf from 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






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      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




















          1 Answer
          1






          active

          oldest

          votes


















          1














          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







          share|improve this answer























          • 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










          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
          );



          );













          draft saved

          draft discarded


















          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









          1














          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







          share|improve this answer























          • 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















          1














          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







          share|improve this answer























          • 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













          1












          1








          1







          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







          share|improve this answer













          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








          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jun 7 '17 at 15:33









          StrongBadStrongBad

          2,21662655




          2,21662655












          • 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
















          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

















          draft saved

          draft discarded
















































          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.




          draft saved


          draft discarded














          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





















































          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






          Popular posts from this blog

          Peggy Mitchell

          Palaiologos

          The Forum (Inglewood, California)