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

          Unable to install fglrx

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

          up vote
          -1
          down vote

          favorite

          I’m having a lot of problems installing the package fglrx. This is my system information:

          seraphid@Astrocleyer ~ $ cat /etc/os-release
          NAME="Linux Mint"
          VERSION="18.2 (Sonya)"
          ID=linuxmint
          ID_LIKE=ubuntu
          PRETTY_NAME="Linux Mint 18.2"
          VERSION_ID="18.2"
          HOME_URL="http://www.linuxmint.com/"
          SUPPORT_URL="http://forums.linuxmint.com/"
          BUG_REPORT_URL="http://bugs.launchpad.net/linuxmint/"
          VERSION_CODENAME=sonya
          UBUNTU_CODENAME=xenial
          

          and this is my error:

          seraphid@Astrocleyer ~ $ sudo apt-get install fglrx
          Reading package lists... Done
          Building dependency tree       
          Reading state information... Done
          Some packages could not be installed. This may mean that you have
          requested an impossible situation or if you are using the unstable
          distribution that some required packages have not yet been created
          or been moved out of Incoming.
          The following information may help to resolve the situation:
          
          The following packages have unmet dependencies:
           fglrx : Depends: xorg-video-abi-11 but it is not installable or
                        xorg-video-abi-12 but it is not installable or
                        xorg-video-abi-13 but it is not installable or
                        xorg-video-abi-14 but it is not installable or
                        xorg-video-abi-15 or
                        xorg-video-abi-18 or
                        xorg-video-abi-19
          E: Unable to correct problems, you have held broken packages.
          

          I have tried to clean the broken packages, and installing xserver-xorg-core, but nothing works. The goal of installing fglrx is for installing the catalyst control center from AMD.

          share|improve this question

          • fglrx is not compatible with your xorg version.
            – Ipor Sircer
            Nov 29 at 13:50

          • So how can I fix that?
            – Seraphid
            Nov 29 at 17:40

          • Send your cv to AMD, wait to being employed, persuade your boss to maintain an abandoned code, work on it, release it.
            – Ipor Sircer
            Nov 30 at 13:54

          • So simply I can’t use my graphics card because AMD doesn’t want to? Sounds something marvelous
            – Seraphid
            Dec 2 at 14:25

          up vote
          -1
          down vote

          favorite

          I’m having a lot of problems installing the package fglrx. This is my system information:

          seraphid@Astrocleyer ~ $ cat /etc/os-release
          NAME="Linux Mint"
          VERSION="18.2 (Sonya)"
          ID=linuxmint
          ID_LIKE=ubuntu
          PRETTY_NAME="Linux Mint 18.2"
          VERSION_ID="18.2"
          HOME_URL="http://www.linuxmint.com/"
          SUPPORT_URL="http://forums.linuxmint.com/"
          BUG_REPORT_URL="http://bugs.launchpad.net/linuxmint/"
          VERSION_CODENAME=sonya
          UBUNTU_CODENAME=xenial
          

          and this is my error:

          seraphid@Astrocleyer ~ $ sudo apt-get install fglrx
          Reading package lists... Done
          Building dependency tree       
          Reading state information... Done
          Some packages could not be installed. This may mean that you have
          requested an impossible situation or if you are using the unstable
          distribution that some required packages have not yet been created
          or been moved out of Incoming.
          The following information may help to resolve the situation:
          
          The following packages have unmet dependencies:
           fglrx : Depends: xorg-video-abi-11 but it is not installable or
                        xorg-video-abi-12 but it is not installable or
                        xorg-video-abi-13 but it is not installable or
                        xorg-video-abi-14 but it is not installable or
                        xorg-video-abi-15 or
                        xorg-video-abi-18 or
                        xorg-video-abi-19
          E: Unable to correct problems, you have held broken packages.
          

          I have tried to clean the broken packages, and installing xserver-xorg-core, but nothing works. The goal of installing fglrx is for installing the catalyst control center from AMD.

          share|improve this question

          • fglrx is not compatible with your xorg version.
            – Ipor Sircer
            Nov 29 at 13:50

          • So how can I fix that?
            – Seraphid
            Nov 29 at 17:40

          • Send your cv to AMD, wait to being employed, persuade your boss to maintain an abandoned code, work on it, release it.
            – Ipor Sircer
            Nov 30 at 13:54

          • So simply I can’t use my graphics card because AMD doesn’t want to? Sounds something marvelous
            – Seraphid
            Dec 2 at 14:25

          up vote
          -1
          down vote

          favorite

          up vote
          -1
          down vote

          favorite

          I’m having a lot of problems installing the package fglrx. This is my system information:

          seraphid@Astrocleyer ~ $ cat /etc/os-release
          NAME="Linux Mint"
          VERSION="18.2 (Sonya)"
          ID=linuxmint
          ID_LIKE=ubuntu
          PRETTY_NAME="Linux Mint 18.2"
          VERSION_ID="18.2"
          HOME_URL="http://www.linuxmint.com/"
          SUPPORT_URL="http://forums.linuxmint.com/"
          BUG_REPORT_URL="http://bugs.launchpad.net/linuxmint/"
          VERSION_CODENAME=sonya
          UBUNTU_CODENAME=xenial
          

          and this is my error:

          seraphid@Astrocleyer ~ $ sudo apt-get install fglrx
          Reading package lists... Done
          Building dependency tree       
          Reading state information... Done
          Some packages could not be installed. This may mean that you have
          requested an impossible situation or if you are using the unstable
          distribution that some required packages have not yet been created
          or been moved out of Incoming.
          The following information may help to resolve the situation:
          
          The following packages have unmet dependencies:
           fglrx : Depends: xorg-video-abi-11 but it is not installable or
                        xorg-video-abi-12 but it is not installable or
                        xorg-video-abi-13 but it is not installable or
                        xorg-video-abi-14 but it is not installable or
                        xorg-video-abi-15 or
                        xorg-video-abi-18 or
                        xorg-video-abi-19
          E: Unable to correct problems, you have held broken packages.
          

          I have tried to clean the broken packages, and installing xserver-xorg-core, but nothing works. The goal of installing fglrx is for installing the catalyst control center from AMD.

          share|improve this question

          I’m having a lot of problems installing the package fglrx. This is my system information:

          seraphid@Astrocleyer ~ $ cat /etc/os-release
          NAME="Linux Mint"
          VERSION="18.2 (Sonya)"
          ID=linuxmint
          ID_LIKE=ubuntu
          PRETTY_NAME="Linux Mint 18.2"
          VERSION_ID="18.2"
          HOME_URL="http://www.linuxmint.com/"
          SUPPORT_URL="http://forums.linuxmint.com/"
          BUG_REPORT_URL="http://bugs.launchpad.net/linuxmint/"
          VERSION_CODENAME=sonya
          UBUNTU_CODENAME=xenial
          

          and this is my error:

          seraphid@Astrocleyer ~ $ sudo apt-get install fglrx
          Reading package lists... Done
          Building dependency tree       
          Reading state information... Done
          Some packages could not be installed. This may mean that you have
          requested an impossible situation or if you are using the unstable
          distribution that some required packages have not yet been created
          or been moved out of Incoming.
          The following information may help to resolve the situation:
          
          The following packages have unmet dependencies:
           fglrx : Depends: xorg-video-abi-11 but it is not installable or
                        xorg-video-abi-12 but it is not installable or
                        xorg-video-abi-13 but it is not installable or
                        xorg-video-abi-14 but it is not installable or
                        xorg-video-abi-15 or
                        xorg-video-abi-18 or
                        xorg-video-abi-19
          E: Unable to correct problems, you have held broken packages.
          

          I have tried to clean the broken packages, and installing xserver-xorg-core, but nothing works. The goal of installing fglrx is for installing the catalyst control center from AMD.

          linux-mint xorg amd fglrx

          share|improve this question

          share|improve this question

          share|improve this question

          share|improve this question

          edited Nov 29 at 13:59

          Rui F Ribeiro

          38.4k1479128

          38.4k1479128

          asked Nov 29 at 13:47

          Seraphid

          4

          4

          • fglrx is not compatible with your xorg version.
            – Ipor Sircer
            Nov 29 at 13:50

          • So how can I fix that?
            – Seraphid
            Nov 29 at 17:40

          • Send your cv to AMD, wait to being employed, persuade your boss to maintain an abandoned code, work on it, release it.
            – Ipor Sircer
            Nov 30 at 13:54

          • So simply I can’t use my graphics card because AMD doesn’t want to? Sounds something marvelous
            – Seraphid
            Dec 2 at 14:25

          • fglrx is not compatible with your xorg version.
            – Ipor Sircer
            Nov 29 at 13:50

          • So how can I fix that?
            – Seraphid
            Nov 29 at 17:40

          • Send your cv to AMD, wait to being employed, persuade your boss to maintain an abandoned code, work on it, release it.
            – Ipor Sircer
            Nov 30 at 13:54

          • So simply I can’t use my graphics card because AMD doesn’t want to? Sounds something marvelous
            – Seraphid
            Dec 2 at 14:25

          fglrx is not compatible with your xorg version.
          – Ipor Sircer
          Nov 29 at 13:50

          fglrx is not compatible with your xorg version.
          – Ipor Sircer
          Nov 29 at 13:50

          So how can I fix that?
          – Seraphid
          Nov 29 at 17:40

          So how can I fix that?
          – Seraphid
          Nov 29 at 17:40

          Send your cv to AMD, wait to being employed, persuade your boss to maintain an abandoned code, work on it, release it.
          – Ipor Sircer
          Nov 30 at 13:54

          Send your cv to AMD, wait to being employed, persuade your boss to maintain an abandoned code, work on it, release it.
          – Ipor Sircer
          Nov 30 at 13:54

          So simply I can’t use my graphics card because AMD doesn’t want to? Sounds something marvelous
          – Seraphid
          Dec 2 at 14:25

          So simply I can’t use my graphics card because AMD doesn’t want to? Sounds something marvelous
          – Seraphid
          Dec 2 at 14:25

          active

          oldest

          votes

          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’,
          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%2f484919%2funable-to-install-fglrx%23new-answer’, ‘question_page’);
          }
          );

          Post as a guest

          Required, but never shown

          active

          oldest

          votes

          active

          oldest

          votes

          active

          oldest

          votes

          active

          oldest

          votes

          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.

          Some of your past answers have not been well-received, and you’re in danger of being blocked from answering.

          Please pay close attention to the following guidance:

          • 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%2f484919%2funable-to-install-fglrx%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

          Patched fglrx under Linux 4.18 gives bad page map error

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

          up vote
          0
          down vote

          favorite

          I am trying to get the Catalyst (Crimson) fglrx driver to work under kernel 4.18 on NixOS. I get it to compile and run under 4.18, but every time a program is started that needs to use the GPU, it will log an error. I based my package on https://aur.archlinux.org/packages/catalyst-test/.

          The error I am getting under Linux 4.18 is as follows (driver seems otherwise fully functional):

          kernel: BUG: Bad page map in process glxgears  pte:80000005e5275025 pmd:5e5274067
          kernel: page:ffffe5a017949d40 count:2 mapcount:-1536 mapping:0000000000000000 index:0x0
          kernel: flags: 0x200000000000000()
          kernel: raw: 0200000000000000 dead000000000100 dead000000000200 0000000000000000
          kernel: raw: 0000000000000000 0000000000000000 00000002fffff9ff ffffa29c5059f000
          kernel: page dumped because: bad pte
          kernel: page->mem_cgroup:ffffa29c5059f000
          kernel: addr:00000000bee58a73 vm_flags:040400d9 anon_vma:          (null) mapping:000000006eab13d1 index:40002
          kernel: file:card0 fault:ip_vm_kmap_fault [fglrx] mmap:ip_firegl_mmap [fglrx] readpage:          (null)
          kernel: CPU: 4 PID: 1761 Comm: glxgears Tainted: G          IO      4.18.17 #1-NixOS
          kernel: Hardware name: System manufacturer System Product Name/P6T DELUXE V2, BIOS 1202    12/22/2010
          kernel: Call Trace:
          kernel:  dump_stack+0x5c/0x7b
          kernel:  print_bad_pte+0x1da/0x2a0
          kernel:  unmap_page_range+0x838/0xa10
          kernel:  unmap_vmas+0x4c/0xa0
          kernel:  unmap_region+0xae/0x110
          kernel:  ? firegl_ioctl+0x128/0x260 [fglrx]
          kernel:  ? __switch_to_asm+0x40/0x70
          kernel:  ? __vma_rb_erase+0x1f6/0x270
          kernel:  do_munmap+0x26b/0x410
          kernel:  vm_munmap+0x5f/0xa0
          kernel:  __x64_sys_munmap+0x22/0x30
          kernel:  do_syscall_64+0x4e/0x100
          kernel:  entry_SYSCALL_64_after_hwframe+0x44/0xa9
          kernel: RIP: 0033:0x7fa781699487
          kernel: Code: c7 c0 ff ff ff ff e9 73 ff ff ff 48 8b 15 f1 09 2c 00 f7 d8 64 89 02 e9 41 ff ff ff 0f 1f 80 00 00 00 00 b8 0b 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48>
          kernel: RSP: 002b:00007ffd849c27a8 EFLAGS: 00000246 ORIG_RAX: 000000000000000b
          kernel: RAX: ffffffffffffffda RBX: 0000000000000008 RCX: 00007fa781699487
          kernel: RDX: 00007ffd849c27bc RSI: 0000000000001000 RDI: 00007fa77c9e4000
          kernel: RBP: 0000000000001000 R08: 0000000000000000 R09: 0000000040002000
          kernel: R10: 0000000000000145 R11: 0000000000000246 R12: 00007fa77c9e4000
          kernel: R13: 0000000040002000 R14: 0000000000000009 R15: 0000000000000048
          kernel: Disabling lock debugging due to kernel taint
          

          I also tried older kernels to make sure it was kernel related and not the way I packaged it. Here is the error under Linux 4.14 (driver seems otherwise fully functional):

          kernel: BUG: Bad page map in process glxgears  pte:80000005eb63e025 pmd:60fe27067
          kernel: page:ffffdda2d7ad8f80 count:2 mapcount:-511 mapping:          (null) index:0x0
          kernel: flags: 0x200000000000000()
          kernel: raw: 0200000000000000 0000000000000000 0000000000000000 00000002fffffe00
          kernel: raw: dead000000000100 dead000000000200 0000000000000000 ffff9f0c5ddbb400
          kernel: page dumped because: bad pte
          kernel: page->mem_cgroup:ffff9f0c5ddbb400
          kernel: addr:00007f88d08b7000 vm_flags:040400d9 anon_vma:          (null) mapping:ffff9f0c4bba04a8 index:40002
          kernel: file:card0 fault:ip_vm_kmap_fault [fglrx] mmap:ip_firegl_mmap [fglrx] readpage:          (null)
          kernel: CPU: 7 PID: 1726 Comm: glxgears Tainted: G          IO    4.14.79 #1-NixOS
          kernel: Hardware name: System manufacturer System Product Name/P6T DELUXE V2, BIOS 1202    12/22/2010
          kernel: Call Trace:
          kernel:  dump_stack+0x5c/0x85
          kernel:  print_bad_pte+0x1da/0x2a0
          kernel:  ? firegl_trace+0x2a/0xf0 [fglrx]
          kernel:  unmap_page_range+0x80e/0x9e0
          kernel:  unmap_vmas+0x4c/0xa0
          kernel:  unmap_region+0x9b/0xf0
          kernel:  ? firegl_get_BIOSImage_size+0x40/0x40 [fglrx]
          kernel:  ? __vma_rb_erase+0x1f6/0x270
          kernel:  do_munmap+0x26b/0x410
          kernel:  vm_munmap+0x4f/0x80
          kernel:  SyS_munmap+0x1d/0x30
          kernel:  do_syscall_64+0x67/0x120
          kernel:  entry_SYSCALL_64_after_hwframe+0x3d/0xa2
          kernel: RIP: 0033:0x7f88cfcd7487
          kernel: RSP: 002b:00007ffdfcc80d58 EFLAGS: 00000246 ORIG_RAX: 000000000000000b
          kernel: RAX: ffffffffffffffda RBX: 0000000000000008 RCX: 00007f88cfcd7487
          kernel: RDX: 00007ffdfcc80d6c RSI: 0000000000001000 RDI: 00007f88d08b7000
          kernel: RBP: 0000000000001000 R08: 0000000000000000 R09: 0000000040002000
          kernel: R10: 0000000000000145 R11: 0000000000000246 R12: 00007f88d08b7000
          kernel: R13: 0000000040002000 R14: 0000000000000008 R15: 0000000000000040
          kernel: Disabling lock debugging due to kernel taint
          

          Here is the error under Linux 4.9 (full crash, unresponsive black screen):

          kernel: ------------[ cut here ]------------
          kernel: WARNING: CPU: 1 PID: 1279 at ../drivers/pci/msi.c:1071 __pci_enable_msi_range+0x3a0/0x3e0
          kernel: Modules linked in: tun msr fglrx(O) ext2 mbcache snd_hda_codec_analog snd_hda_codec_generic iTCO_wdt amdkfd mxm_wmi amd_iommu_v2 amdgpu ttm intel_powerclamp coretemp intel_cstate drm_kms_helper intel_uncore iptable_nat nf_nat_ipv4 nf_nat input_leds led_class evdev joydev drm mousedev mac_hid uas nf_conntrack_ipv6 i2c_i801 nf_defrag_ipv6 i2c>
          kernel:  xt_tcpudp ip6table_filter ip6_tables iptable_filter snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore atkbd libps2 serio cpufreq_ondemand kvm_intel kvm irqbypass ip_tables x_tables ipv6 crc_ccitt autofs4 sr_mod cdrom sd_mod hid_generic usbhid hid pata_marvell usb_storage ahci libahci rtc_cmos libata uhci_hcd ehci_pci ehci_hcd usbco>
          kernel: CPU: 1 PID: 1279 Comm: X Tainted: G          IO    4.9.135 #1-NixOS
          kernel: Hardware name: System manufacturer System Product Name/P6T DELUXE V2, BIOS 1202    12/22/2010
          kernel:  ffffb9cb44287918 ffffffff8cf01641 0000000000000000 0000000000000000
          kernel:  ffffb9cb44287958 ffffffff8cc717e1 0000042fc0f4b615 0000000000001002
          kernel:  0000000000000000 0000000000000001 ffff9f5ba309a000 ffff9f5b91560780
          kernel: Call Trace:
          kernel:  [<ffffffff8cf01641>] dump_stack+0x63/0x82
          kernel:  [<ffffffff8cc717e1>] __warn+0xe1/0x100
          kernel:  [<ffffffff8cc718cd>] warn_slowpath_null+0x1d/0x20
          kernel:  [<ffffffff8cf69490>] __pci_enable_msi_range+0x3a0/0x3e0
          kernel:  [<ffffffff8cf694e0>] pci_enable_msi_range+0x10/0x20
          kernel:  [<ffffffffc0c74478>] KCL_RequestMSI+0x18/0x30 [fglrx]
          kernel:  [<ffffffffc0c97bdc>] IRQMGR_initialize+0x2bc/0x410 [fglrx]
          kernel:  [<ffffffffc0c978c7>] ? IRQMGR_alloc_context+0xb7/0x110 [fglrx]
          kernel:  [<ffffffffc0c96107>] ? irqmgr_wrap_initialize+0x27/0x140 [fglrx]
          kernel:  [<ffffffffc0c783d2>] ? KCL_DEBUG_Print_Trace+0x22/0xd0 [fglrx]
          kernel:  [<ffffffffc0c976c5>] ? firegl_irqmgr_init+0x55/0x100 [fglrx]
          kernel:  [<ffffffffc0ca8a11>] ? hal_init_gpu+0x221/0x4e0 [fglrx]
          kernel:  [<ffffffffc0c81e7e>] ? firegl_open+0x2de/0x310 [fglrx]
          kernel:  [<ffffffffc0c70157>] ? ip_firegl_open+0x17/0x20 [fglrx]
          kernel:  [<ffffffffc0c719c9>] ? firegl_stub_open+0x99/0x100 [fglrx]
          kernel:  [<ffffffff8cdf8085>] ? chrdev_open+0xb5/0x180
          kernel:  [<ffffffff8cdf093c>] ? do_dentry_open+0x1cc/0x2f0
          kernel:  [<ffffffff8cdf7fd0>] ? cdev_put.part.0+0x20/0x20
          kernel:  [<ffffffff8cdf1d7c>] ? vfs_open+0x4c/0x80
          kernel:  [<ffffffff8cdfe87b>] ? may_open+0x9b/0x100
          kernel:  [<ffffffff8ce02958>] ? path_openat+0x698/0x1720
          kernel:  [<ffffffffc0c72e76>] ? KCL_SPINLOCK_STATIC_Grab+0x16/0x20 [fglrx]
          kernel:  [<ffffffffc0c7a52b>] ? drm_free+0x11b/0x1a0 [fglrx]
          kernel:  [<ffffffff8ce04b40>] ? do_filp_open+0x80/0xd0
          kernel:  [<ffffffff8cdd63d9>] ? kmem_cache_alloc+0x149/0x1a0
          kernel:  [<ffffffff8ce12e06>] ? __alloc_fd+0x46/0x170
          kernel:  [<ffffffff8cdf2232>] ? do_sys_open+0x1a2/0x230
          kernel:  [<ffffffff8cdf22f4>] ? SyS_openat+0x14/0x20
          kernel:  [<ffffffff8cc03b08>] ? do_syscall_64+0x68/0xe0
          kernel:  [<ffffffff8d17d8ce>] ? entry_SYSCALL_64_after_swapgs+0x58/0xc6
          kernel: ---[ end trace 599b517fa3e894a7 ]---
          kernel: ------------[ cut here ]------------
          kernel: kernel BUG at ../drivers/pci/msi.c:371!
          kernel: invalid opcode: 0000 [#1] SMP
          kernel: Modules linked in: tun msr fglrx(O) ext2 mbcache snd_hda_codec_analog snd_hda_codec_generic iTCO_wdt amdkfd mxm_wmi amd_iommu_v2 amdgpu ttm intel_powerclamp coretemp intel_cstate drm_kms_helper intel_uncore iptable_nat nf_nat_ipv4 nf_nat input_leds led_class evdev joydev drm mousedev mac_hid uas nf_conntrack_ipv6 i2c_i801 nf_defrag_ipv6 i2c>
          kernel:  xt_tcpudp ip6table_filter ip6_tables iptable_filter snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore atkbd libps2 serio cpufreq_ondemand kvm_intel kvm irqbypass ip_tables x_tables ipv6 crc_ccitt autofs4 sr_mod cdrom sd_mod hid_generic usbhid hid pata_marvell usb_storage ahci libahci rtc_cmos libata uhci_hcd ehci_pci ehci_hcd usbco>
          kernel: CPU: 1 PID: 1279 Comm: X Tainted: G        W IO    4.9.135 #1-NixOS
          kernel: Hardware name: System manufacturer System Product Name/P6T DELUXE V2, BIOS 1202    12/22/2010
          kernel: task: ffff9f5b8d103000 task.stack: ffffb9cb44284000
          kernel: RIP: 0010:[<ffffffff8cf689b2>]  [<ffffffff8cf689b2>] free_msi_irqs+0x182/0x1d0
          kernel: RSP: 0018:ffffb9cb44287938  EFLAGS: 00010286
          kernel: RAX: ffff9f5b9ad6f800 RBX: ffff9f5b99c8b000 RCX: 0000000000000022
          kernel: RDX: 0000000000000000 RSI: 0000000000000022 RDI: ffff9f5ba6800138
          kernel: RBP: ffffb9cb44287968 R08: ffff9f5ba6800000 R09: ffff9f5b9ad6f800
          kernel: R10: 0000000000000040 R11: 0000000000000000 R12: ffff9f5ba309a298
          kernel: R13: ffff9f5ba309a000 R14: 0000000000000000 R15: 0000000000000001
          kernel: FS:  00007fa360c9ce40(0000) GS:ffff9f5ba7240000(0000) knlGS:0000000000000000
          kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
          kernel: CR2: 00007fa35bed58d0 CR3: 000000060d15e000 CR4: 0000000000000670
          kernel: Stack:
          kernel:  ffffb9cb44287948 0000000000000001 0000000000000000 ffff9f5b8a0c9cc0
          kernel:  ffff9f5ba309a000 0000000000000001 ffffb9cb442879b8 ffffffff8cf693f0
          kernel:  ffff9f5ba309a0a0 00000001ffffffe4 0080000000000001 0000000000001002
          kernel: Call Trace:
          kernel:  [<ffffffff8cf693f0>] __pci_enable_msi_range+0x300/0x3e0
          kernel:  [<ffffffff8cf694e0>] pci_enable_msi_range+0x10/0x20
          kernel:  [<ffffffffc0c74478>] KCL_RequestMSI+0x18/0x30 [fglrx]
          kernel:  [<ffffffffc0c97bdc>] IRQMGR_initialize+0x2bc/0x410 [fglrx]
          kernel:  [<ffffffffc0c978c7>] ? IRQMGR_alloc_context+0xb7/0x110 [fglrx]
          kernel:  [<ffffffffc0c96107>] ? irqmgr_wrap_initialize+0x27/0x140 [fglrx]
          kernel:  [<ffffffffc0c783d2>] ? KCL_DEBUG_Print_Trace+0x22/0xd0 [fglrx]
          kernel:  [<ffffffffc0c976c5>] ? firegl_irqmgr_init+0x55/0x100 [fglrx]
          kernel:  [<ffffffffc0ca8a11>] ? hal_init_gpu+0x221/0x4e0 [fglrx]
          kernel:  [<ffffffffc0c81e7e>] ? firegl_open+0x2de/0x310 [fglrx]
          kernel:  [<ffffffffc0c70157>] ? ip_firegl_open+0x17/0x20 [fglrx]
          kernel:  [<ffffffffc0c719c9>] ? firegl_stub_open+0x99/0x100 [fglrx]
          kernel:  [<ffffffff8cdf8085>] ? chrdev_open+0xb5/0x180
          kernel:  [<ffffffff8cdf093c>] ? do_dentry_open+0x1cc/0x2f0
          kernel:  [<ffffffff8cdf7fd0>] ? cdev_put.part.0+0x20/0x20
          kernel:  [<ffffffff8cdf1d7c>] ? vfs_open+0x4c/0x80
          kernel:  [<ffffffff8cdfe87b>] ? may_open+0x9b/0x100
          kernel:  [<ffffffff8ce02958>] ? path_openat+0x698/0x1720
          kernel:  [<ffffffffc0c72e76>] ? KCL_SPINLOCK_STATIC_Grab+0x16/0x20 [fglrx]
          kernel:  [<ffffffffc0c7a52b>] ? drm_free+0x11b/0x1a0 [fglrx]
          kernel:  [<ffffffff8ce04b40>] ? do_filp_open+0x80/0xd0
          kernel:  [<ffffffff8cdd63d9>] ? kmem_cache_alloc+0x149/0x1a0
          kernel:  [<ffffffff8ce12e06>] ? __alloc_fd+0x46/0x170
          kernel:  [<ffffffff8cdf2232>] ? do_sys_open+0x1a2/0x230
          kernel:  [<ffffffff8cdf22f4>] ? SyS_openat+0x14/0x20
          kernel:  [<ffffffff8cc03b08>] ? do_syscall_64+0x68/0xe0
          kernel:  [<ffffffff8d17d8ce>] ? entry_SYSCALL_64_after_swapgs+0x58/0xc6
          kernel: Code: fe ff ff 45 31 f6 eb 11 41 83 c6 01 44 39 73 14 0f 86 ca fe ff ff 8b 7b 10 44 01 f7 e8 b8 cc d5 ff 48 83 b8 90 00 00 00 00 74 dd <0f> 0b 49 8d b5 a0 00 00 00 e8 30 69 d6 ff e9 cc fe ff ff 48 8b 
          kernel: RIP  [<ffffffff8cf689b2>] free_msi_irqs+0x182/0x1d0
          kernel:  RSP <ffffb9cb44287938>
          kernel: ---[ end trace 599b517fa3e894a8 ]---
          

          And under Linux 4.4 the driver is fully functional without any errors occurring.

          I really want to use a more recent Linux than 4.4, 4.14 at least, but I ought to fix those bugs if I am to be comfortable with doing so. What causes bad page map from happening consistently on startup of a GPU using program? When I tried searching for answer myself, I only found the suggestion that it could have to do with overclocking, but after undoing my overclock, the error still occurs.

          If it turns out to be a matter of the driver not being correctly patched, than I still have the following plans:

          1. Use the older driver 15.9, based on the AUR catalyst package, rather than catalyst-test.
          2. See if other distributions, like Ubuntu or Gentoo, use a different set of patches, and try them out instead.

          But before trying those, I will need to know what could be the cause of these bad page map errors, because for all I know it actually is patched correctly right now (since other than the error in the log, it does function properly).

          share|improve this question

          • Why the -1? If there is something amiss with my question, at least give me some constructive feedback. And although I get where the edits are coming from, removing the bit about being inexperienced with this kind of thing could have actually helped people answer the question, because there might be something obvious that they expect I already would have tried, but did not because this is unfamiliar territory for me.
            – Matthijs Steen
            Nov 20 at 16:36

          up vote
          0
          down vote

          favorite

          I am trying to get the Catalyst (Crimson) fglrx driver to work under kernel 4.18 on NixOS. I get it to compile and run under 4.18, but every time a program is started that needs to use the GPU, it will log an error. I based my package on https://aur.archlinux.org/packages/catalyst-test/.

          The error I am getting under Linux 4.18 is as follows (driver seems otherwise fully functional):

          kernel: BUG: Bad page map in process glxgears  pte:80000005e5275025 pmd:5e5274067
          kernel: page:ffffe5a017949d40 count:2 mapcount:-1536 mapping:0000000000000000 index:0x0
          kernel: flags: 0x200000000000000()
          kernel: raw: 0200000000000000 dead000000000100 dead000000000200 0000000000000000
          kernel: raw: 0000000000000000 0000000000000000 00000002fffff9ff ffffa29c5059f000
          kernel: page dumped because: bad pte
          kernel: page->mem_cgroup:ffffa29c5059f000
          kernel: addr:00000000bee58a73 vm_flags:040400d9 anon_vma:          (null) mapping:000000006eab13d1 index:40002
          kernel: file:card0 fault:ip_vm_kmap_fault [fglrx] mmap:ip_firegl_mmap [fglrx] readpage:          (null)
          kernel: CPU: 4 PID: 1761 Comm: glxgears Tainted: G          IO      4.18.17 #1-NixOS
          kernel: Hardware name: System manufacturer System Product Name/P6T DELUXE V2, BIOS 1202    12/22/2010
          kernel: Call Trace:
          kernel:  dump_stack+0x5c/0x7b
          kernel:  print_bad_pte+0x1da/0x2a0
          kernel:  unmap_page_range+0x838/0xa10
          kernel:  unmap_vmas+0x4c/0xa0
          kernel:  unmap_region+0xae/0x110
          kernel:  ? firegl_ioctl+0x128/0x260 [fglrx]
          kernel:  ? __switch_to_asm+0x40/0x70
          kernel:  ? __vma_rb_erase+0x1f6/0x270
          kernel:  do_munmap+0x26b/0x410
          kernel:  vm_munmap+0x5f/0xa0
          kernel:  __x64_sys_munmap+0x22/0x30
          kernel:  do_syscall_64+0x4e/0x100
          kernel:  entry_SYSCALL_64_after_hwframe+0x44/0xa9
          kernel: RIP: 0033:0x7fa781699487
          kernel: Code: c7 c0 ff ff ff ff e9 73 ff ff ff 48 8b 15 f1 09 2c 00 f7 d8 64 89 02 e9 41 ff ff ff 0f 1f 80 00 00 00 00 b8 0b 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48>
          kernel: RSP: 002b:00007ffd849c27a8 EFLAGS: 00000246 ORIG_RAX: 000000000000000b
          kernel: RAX: ffffffffffffffda RBX: 0000000000000008 RCX: 00007fa781699487
          kernel: RDX: 00007ffd849c27bc RSI: 0000000000001000 RDI: 00007fa77c9e4000
          kernel: RBP: 0000000000001000 R08: 0000000000000000 R09: 0000000040002000
          kernel: R10: 0000000000000145 R11: 0000000000000246 R12: 00007fa77c9e4000
          kernel: R13: 0000000040002000 R14: 0000000000000009 R15: 0000000000000048
          kernel: Disabling lock debugging due to kernel taint
          

          I also tried older kernels to make sure it was kernel related and not the way I packaged it. Here is the error under Linux 4.14 (driver seems otherwise fully functional):

          kernel: BUG: Bad page map in process glxgears  pte:80000005eb63e025 pmd:60fe27067
          kernel: page:ffffdda2d7ad8f80 count:2 mapcount:-511 mapping:          (null) index:0x0
          kernel: flags: 0x200000000000000()
          kernel: raw: 0200000000000000 0000000000000000 0000000000000000 00000002fffffe00
          kernel: raw: dead000000000100 dead000000000200 0000000000000000 ffff9f0c5ddbb400
          kernel: page dumped because: bad pte
          kernel: page->mem_cgroup:ffff9f0c5ddbb400
          kernel: addr:00007f88d08b7000 vm_flags:040400d9 anon_vma:          (null) mapping:ffff9f0c4bba04a8 index:40002
          kernel: file:card0 fault:ip_vm_kmap_fault [fglrx] mmap:ip_firegl_mmap [fglrx] readpage:          (null)
          kernel: CPU: 7 PID: 1726 Comm: glxgears Tainted: G          IO    4.14.79 #1-NixOS
          kernel: Hardware name: System manufacturer System Product Name/P6T DELUXE V2, BIOS 1202    12/22/2010
          kernel: Call Trace:
          kernel:  dump_stack+0x5c/0x85
          kernel:  print_bad_pte+0x1da/0x2a0
          kernel:  ? firegl_trace+0x2a/0xf0 [fglrx]
          kernel:  unmap_page_range+0x80e/0x9e0
          kernel:  unmap_vmas+0x4c/0xa0
          kernel:  unmap_region+0x9b/0xf0
          kernel:  ? firegl_get_BIOSImage_size+0x40/0x40 [fglrx]
          kernel:  ? __vma_rb_erase+0x1f6/0x270
          kernel:  do_munmap+0x26b/0x410
          kernel:  vm_munmap+0x4f/0x80
          kernel:  SyS_munmap+0x1d/0x30
          kernel:  do_syscall_64+0x67/0x120
          kernel:  entry_SYSCALL_64_after_hwframe+0x3d/0xa2
          kernel: RIP: 0033:0x7f88cfcd7487
          kernel: RSP: 002b:00007ffdfcc80d58 EFLAGS: 00000246 ORIG_RAX: 000000000000000b
          kernel: RAX: ffffffffffffffda RBX: 0000000000000008 RCX: 00007f88cfcd7487
          kernel: RDX: 00007ffdfcc80d6c RSI: 0000000000001000 RDI: 00007f88d08b7000
          kernel: RBP: 0000000000001000 R08: 0000000000000000 R09: 0000000040002000
          kernel: R10: 0000000000000145 R11: 0000000000000246 R12: 00007f88d08b7000
          kernel: R13: 0000000040002000 R14: 0000000000000008 R15: 0000000000000040
          kernel: Disabling lock debugging due to kernel taint
          

          Here is the error under Linux 4.9 (full crash, unresponsive black screen):

          kernel: ------------[ cut here ]------------
          kernel: WARNING: CPU: 1 PID: 1279 at ../drivers/pci/msi.c:1071 __pci_enable_msi_range+0x3a0/0x3e0
          kernel: Modules linked in: tun msr fglrx(O) ext2 mbcache snd_hda_codec_analog snd_hda_codec_generic iTCO_wdt amdkfd mxm_wmi amd_iommu_v2 amdgpu ttm intel_powerclamp coretemp intel_cstate drm_kms_helper intel_uncore iptable_nat nf_nat_ipv4 nf_nat input_leds led_class evdev joydev drm mousedev mac_hid uas nf_conntrack_ipv6 i2c_i801 nf_defrag_ipv6 i2c>
          kernel:  xt_tcpudp ip6table_filter ip6_tables iptable_filter snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore atkbd libps2 serio cpufreq_ondemand kvm_intel kvm irqbypass ip_tables x_tables ipv6 crc_ccitt autofs4 sr_mod cdrom sd_mod hid_generic usbhid hid pata_marvell usb_storage ahci libahci rtc_cmos libata uhci_hcd ehci_pci ehci_hcd usbco>
          kernel: CPU: 1 PID: 1279 Comm: X Tainted: G          IO    4.9.135 #1-NixOS
          kernel: Hardware name: System manufacturer System Product Name/P6T DELUXE V2, BIOS 1202    12/22/2010
          kernel:  ffffb9cb44287918 ffffffff8cf01641 0000000000000000 0000000000000000
          kernel:  ffffb9cb44287958 ffffffff8cc717e1 0000042fc0f4b615 0000000000001002
          kernel:  0000000000000000 0000000000000001 ffff9f5ba309a000 ffff9f5b91560780
          kernel: Call Trace:
          kernel:  [<ffffffff8cf01641>] dump_stack+0x63/0x82
          kernel:  [<ffffffff8cc717e1>] __warn+0xe1/0x100
          kernel:  [<ffffffff8cc718cd>] warn_slowpath_null+0x1d/0x20
          kernel:  [<ffffffff8cf69490>] __pci_enable_msi_range+0x3a0/0x3e0
          kernel:  [<ffffffff8cf694e0>] pci_enable_msi_range+0x10/0x20
          kernel:  [<ffffffffc0c74478>] KCL_RequestMSI+0x18/0x30 [fglrx]
          kernel:  [<ffffffffc0c97bdc>] IRQMGR_initialize+0x2bc/0x410 [fglrx]
          kernel:  [<ffffffffc0c978c7>] ? IRQMGR_alloc_context+0xb7/0x110 [fglrx]
          kernel:  [<ffffffffc0c96107>] ? irqmgr_wrap_initialize+0x27/0x140 [fglrx]
          kernel:  [<ffffffffc0c783d2>] ? KCL_DEBUG_Print_Trace+0x22/0xd0 [fglrx]
          kernel:  [<ffffffffc0c976c5>] ? firegl_irqmgr_init+0x55/0x100 [fglrx]
          kernel:  [<ffffffffc0ca8a11>] ? hal_init_gpu+0x221/0x4e0 [fglrx]
          kernel:  [<ffffffffc0c81e7e>] ? firegl_open+0x2de/0x310 [fglrx]
          kernel:  [<ffffffffc0c70157>] ? ip_firegl_open+0x17/0x20 [fglrx]
          kernel:  [<ffffffffc0c719c9>] ? firegl_stub_open+0x99/0x100 [fglrx]
          kernel:  [<ffffffff8cdf8085>] ? chrdev_open+0xb5/0x180
          kernel:  [<ffffffff8cdf093c>] ? do_dentry_open+0x1cc/0x2f0
          kernel:  [<ffffffff8cdf7fd0>] ? cdev_put.part.0+0x20/0x20
          kernel:  [<ffffffff8cdf1d7c>] ? vfs_open+0x4c/0x80
          kernel:  [<ffffffff8cdfe87b>] ? may_open+0x9b/0x100
          kernel:  [<ffffffff8ce02958>] ? path_openat+0x698/0x1720
          kernel:  [<ffffffffc0c72e76>] ? KCL_SPINLOCK_STATIC_Grab+0x16/0x20 [fglrx]
          kernel:  [<ffffffffc0c7a52b>] ? drm_free+0x11b/0x1a0 [fglrx]
          kernel:  [<ffffffff8ce04b40>] ? do_filp_open+0x80/0xd0
          kernel:  [<ffffffff8cdd63d9>] ? kmem_cache_alloc+0x149/0x1a0
          kernel:  [<ffffffff8ce12e06>] ? __alloc_fd+0x46/0x170
          kernel:  [<ffffffff8cdf2232>] ? do_sys_open+0x1a2/0x230
          kernel:  [<ffffffff8cdf22f4>] ? SyS_openat+0x14/0x20
          kernel:  [<ffffffff8cc03b08>] ? do_syscall_64+0x68/0xe0
          kernel:  [<ffffffff8d17d8ce>] ? entry_SYSCALL_64_after_swapgs+0x58/0xc6
          kernel: ---[ end trace 599b517fa3e894a7 ]---
          kernel: ------------[ cut here ]------------
          kernel: kernel BUG at ../drivers/pci/msi.c:371!
          kernel: invalid opcode: 0000 [#1] SMP
          kernel: Modules linked in: tun msr fglrx(O) ext2 mbcache snd_hda_codec_analog snd_hda_codec_generic iTCO_wdt amdkfd mxm_wmi amd_iommu_v2 amdgpu ttm intel_powerclamp coretemp intel_cstate drm_kms_helper intel_uncore iptable_nat nf_nat_ipv4 nf_nat input_leds led_class evdev joydev drm mousedev mac_hid uas nf_conntrack_ipv6 i2c_i801 nf_defrag_ipv6 i2c>
          kernel:  xt_tcpudp ip6table_filter ip6_tables iptable_filter snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore atkbd libps2 serio cpufreq_ondemand kvm_intel kvm irqbypass ip_tables x_tables ipv6 crc_ccitt autofs4 sr_mod cdrom sd_mod hid_generic usbhid hid pata_marvell usb_storage ahci libahci rtc_cmos libata uhci_hcd ehci_pci ehci_hcd usbco>
          kernel: CPU: 1 PID: 1279 Comm: X Tainted: G        W IO    4.9.135 #1-NixOS
          kernel: Hardware name: System manufacturer System Product Name/P6T DELUXE V2, BIOS 1202    12/22/2010
          kernel: task: ffff9f5b8d103000 task.stack: ffffb9cb44284000
          kernel: RIP: 0010:[<ffffffff8cf689b2>]  [<ffffffff8cf689b2>] free_msi_irqs+0x182/0x1d0
          kernel: RSP: 0018:ffffb9cb44287938  EFLAGS: 00010286
          kernel: RAX: ffff9f5b9ad6f800 RBX: ffff9f5b99c8b000 RCX: 0000000000000022
          kernel: RDX: 0000000000000000 RSI: 0000000000000022 RDI: ffff9f5ba6800138
          kernel: RBP: ffffb9cb44287968 R08: ffff9f5ba6800000 R09: ffff9f5b9ad6f800
          kernel: R10: 0000000000000040 R11: 0000000000000000 R12: ffff9f5ba309a298
          kernel: R13: ffff9f5ba309a000 R14: 0000000000000000 R15: 0000000000000001
          kernel: FS:  00007fa360c9ce40(0000) GS:ffff9f5ba7240000(0000) knlGS:0000000000000000
          kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
          kernel: CR2: 00007fa35bed58d0 CR3: 000000060d15e000 CR4: 0000000000000670
          kernel: Stack:
          kernel:  ffffb9cb44287948 0000000000000001 0000000000000000 ffff9f5b8a0c9cc0
          kernel:  ffff9f5ba309a000 0000000000000001 ffffb9cb442879b8 ffffffff8cf693f0
          kernel:  ffff9f5ba309a0a0 00000001ffffffe4 0080000000000001 0000000000001002
          kernel: Call Trace:
          kernel:  [<ffffffff8cf693f0>] __pci_enable_msi_range+0x300/0x3e0
          kernel:  [<ffffffff8cf694e0>] pci_enable_msi_range+0x10/0x20
          kernel:  [<ffffffffc0c74478>] KCL_RequestMSI+0x18/0x30 [fglrx]
          kernel:  [<ffffffffc0c97bdc>] IRQMGR_initialize+0x2bc/0x410 [fglrx]
          kernel:  [<ffffffffc0c978c7>] ? IRQMGR_alloc_context+0xb7/0x110 [fglrx]
          kernel:  [<ffffffffc0c96107>] ? irqmgr_wrap_initialize+0x27/0x140 [fglrx]
          kernel:  [<ffffffffc0c783d2>] ? KCL_DEBUG_Print_Trace+0x22/0xd0 [fglrx]
          kernel:  [<ffffffffc0c976c5>] ? firegl_irqmgr_init+0x55/0x100 [fglrx]
          kernel:  [<ffffffffc0ca8a11>] ? hal_init_gpu+0x221/0x4e0 [fglrx]
          kernel:  [<ffffffffc0c81e7e>] ? firegl_open+0x2de/0x310 [fglrx]
          kernel:  [<ffffffffc0c70157>] ? ip_firegl_open+0x17/0x20 [fglrx]
          kernel:  [<ffffffffc0c719c9>] ? firegl_stub_open+0x99/0x100 [fglrx]
          kernel:  [<ffffffff8cdf8085>] ? chrdev_open+0xb5/0x180
          kernel:  [<ffffffff8cdf093c>] ? do_dentry_open+0x1cc/0x2f0
          kernel:  [<ffffffff8cdf7fd0>] ? cdev_put.part.0+0x20/0x20
          kernel:  [<ffffffff8cdf1d7c>] ? vfs_open+0x4c/0x80
          kernel:  [<ffffffff8cdfe87b>] ? may_open+0x9b/0x100
          kernel:  [<ffffffff8ce02958>] ? path_openat+0x698/0x1720
          kernel:  [<ffffffffc0c72e76>] ? KCL_SPINLOCK_STATIC_Grab+0x16/0x20 [fglrx]
          kernel:  [<ffffffffc0c7a52b>] ? drm_free+0x11b/0x1a0 [fglrx]
          kernel:  [<ffffffff8ce04b40>] ? do_filp_open+0x80/0xd0
          kernel:  [<ffffffff8cdd63d9>] ? kmem_cache_alloc+0x149/0x1a0
          kernel:  [<ffffffff8ce12e06>] ? __alloc_fd+0x46/0x170
          kernel:  [<ffffffff8cdf2232>] ? do_sys_open+0x1a2/0x230
          kernel:  [<ffffffff8cdf22f4>] ? SyS_openat+0x14/0x20
          kernel:  [<ffffffff8cc03b08>] ? do_syscall_64+0x68/0xe0
          kernel:  [<ffffffff8d17d8ce>] ? entry_SYSCALL_64_after_swapgs+0x58/0xc6
          kernel: Code: fe ff ff 45 31 f6 eb 11 41 83 c6 01 44 39 73 14 0f 86 ca fe ff ff 8b 7b 10 44 01 f7 e8 b8 cc d5 ff 48 83 b8 90 00 00 00 00 74 dd <0f> 0b 49 8d b5 a0 00 00 00 e8 30 69 d6 ff e9 cc fe ff ff 48 8b 
          kernel: RIP  [<ffffffff8cf689b2>] free_msi_irqs+0x182/0x1d0
          kernel:  RSP <ffffb9cb44287938>
          kernel: ---[ end trace 599b517fa3e894a8 ]---
          

          And under Linux 4.4 the driver is fully functional without any errors occurring.

          I really want to use a more recent Linux than 4.4, 4.14 at least, but I ought to fix those bugs if I am to be comfortable with doing so. What causes bad page map from happening consistently on startup of a GPU using program? When I tried searching for answer myself, I only found the suggestion that it could have to do with overclocking, but after undoing my overclock, the error still occurs.

          If it turns out to be a matter of the driver not being correctly patched, than I still have the following plans:

          1. Use the older driver 15.9, based on the AUR catalyst package, rather than catalyst-test.
          2. See if other distributions, like Ubuntu or Gentoo, use a different set of patches, and try them out instead.

          But before trying those, I will need to know what could be the cause of these bad page map errors, because for all I know it actually is patched correctly right now (since other than the error in the log, it does function properly).

          share|improve this question

          • Why the -1? If there is something amiss with my question, at least give me some constructive feedback. And although I get where the edits are coming from, removing the bit about being inexperienced with this kind of thing could have actually helped people answer the question, because there might be something obvious that they expect I already would have tried, but did not because this is unfamiliar territory for me.
            – Matthijs Steen
            Nov 20 at 16:36

          up vote
          0
          down vote

          favorite

          up vote
          0
          down vote

          favorite

          I am trying to get the Catalyst (Crimson) fglrx driver to work under kernel 4.18 on NixOS. I get it to compile and run under 4.18, but every time a program is started that needs to use the GPU, it will log an error. I based my package on https://aur.archlinux.org/packages/catalyst-test/.

          The error I am getting under Linux 4.18 is as follows (driver seems otherwise fully functional):

          kernel: BUG: Bad page map in process glxgears  pte:80000005e5275025 pmd:5e5274067
          kernel: page:ffffe5a017949d40 count:2 mapcount:-1536 mapping:0000000000000000 index:0x0
          kernel: flags: 0x200000000000000()
          kernel: raw: 0200000000000000 dead000000000100 dead000000000200 0000000000000000
          kernel: raw: 0000000000000000 0000000000000000 00000002fffff9ff ffffa29c5059f000
          kernel: page dumped because: bad pte
          kernel: page->mem_cgroup:ffffa29c5059f000
          kernel: addr:00000000bee58a73 vm_flags:040400d9 anon_vma:          (null) mapping:000000006eab13d1 index:40002
          kernel: file:card0 fault:ip_vm_kmap_fault [fglrx] mmap:ip_firegl_mmap [fglrx] readpage:          (null)
          kernel: CPU: 4 PID: 1761 Comm: glxgears Tainted: G          IO      4.18.17 #1-NixOS
          kernel: Hardware name: System manufacturer System Product Name/P6T DELUXE V2, BIOS 1202    12/22/2010
          kernel: Call Trace:
          kernel:  dump_stack+0x5c/0x7b
          kernel:  print_bad_pte+0x1da/0x2a0
          kernel:  unmap_page_range+0x838/0xa10
          kernel:  unmap_vmas+0x4c/0xa0
          kernel:  unmap_region+0xae/0x110
          kernel:  ? firegl_ioctl+0x128/0x260 [fglrx]
          kernel:  ? __switch_to_asm+0x40/0x70
          kernel:  ? __vma_rb_erase+0x1f6/0x270
          kernel:  do_munmap+0x26b/0x410
          kernel:  vm_munmap+0x5f/0xa0
          kernel:  __x64_sys_munmap+0x22/0x30
          kernel:  do_syscall_64+0x4e/0x100
          kernel:  entry_SYSCALL_64_after_hwframe+0x44/0xa9
          kernel: RIP: 0033:0x7fa781699487
          kernel: Code: c7 c0 ff ff ff ff e9 73 ff ff ff 48 8b 15 f1 09 2c 00 f7 d8 64 89 02 e9 41 ff ff ff 0f 1f 80 00 00 00 00 b8 0b 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48>
          kernel: RSP: 002b:00007ffd849c27a8 EFLAGS: 00000246 ORIG_RAX: 000000000000000b
          kernel: RAX: ffffffffffffffda RBX: 0000000000000008 RCX: 00007fa781699487
          kernel: RDX: 00007ffd849c27bc RSI: 0000000000001000 RDI: 00007fa77c9e4000
          kernel: RBP: 0000000000001000 R08: 0000000000000000 R09: 0000000040002000
          kernel: R10: 0000000000000145 R11: 0000000000000246 R12: 00007fa77c9e4000
          kernel: R13: 0000000040002000 R14: 0000000000000009 R15: 0000000000000048
          kernel: Disabling lock debugging due to kernel taint
          

          I also tried older kernels to make sure it was kernel related and not the way I packaged it. Here is the error under Linux 4.14 (driver seems otherwise fully functional):

          kernel: BUG: Bad page map in process glxgears  pte:80000005eb63e025 pmd:60fe27067
          kernel: page:ffffdda2d7ad8f80 count:2 mapcount:-511 mapping:          (null) index:0x0
          kernel: flags: 0x200000000000000()
          kernel: raw: 0200000000000000 0000000000000000 0000000000000000 00000002fffffe00
          kernel: raw: dead000000000100 dead000000000200 0000000000000000 ffff9f0c5ddbb400
          kernel: page dumped because: bad pte
          kernel: page->mem_cgroup:ffff9f0c5ddbb400
          kernel: addr:00007f88d08b7000 vm_flags:040400d9 anon_vma:          (null) mapping:ffff9f0c4bba04a8 index:40002
          kernel: file:card0 fault:ip_vm_kmap_fault [fglrx] mmap:ip_firegl_mmap [fglrx] readpage:          (null)
          kernel: CPU: 7 PID: 1726 Comm: glxgears Tainted: G          IO    4.14.79 #1-NixOS
          kernel: Hardware name: System manufacturer System Product Name/P6T DELUXE V2, BIOS 1202    12/22/2010
          kernel: Call Trace:
          kernel:  dump_stack+0x5c/0x85
          kernel:  print_bad_pte+0x1da/0x2a0
          kernel:  ? firegl_trace+0x2a/0xf0 [fglrx]
          kernel:  unmap_page_range+0x80e/0x9e0
          kernel:  unmap_vmas+0x4c/0xa0
          kernel:  unmap_region+0x9b/0xf0
          kernel:  ? firegl_get_BIOSImage_size+0x40/0x40 [fglrx]
          kernel:  ? __vma_rb_erase+0x1f6/0x270
          kernel:  do_munmap+0x26b/0x410
          kernel:  vm_munmap+0x4f/0x80
          kernel:  SyS_munmap+0x1d/0x30
          kernel:  do_syscall_64+0x67/0x120
          kernel:  entry_SYSCALL_64_after_hwframe+0x3d/0xa2
          kernel: RIP: 0033:0x7f88cfcd7487
          kernel: RSP: 002b:00007ffdfcc80d58 EFLAGS: 00000246 ORIG_RAX: 000000000000000b
          kernel: RAX: ffffffffffffffda RBX: 0000000000000008 RCX: 00007f88cfcd7487
          kernel: RDX: 00007ffdfcc80d6c RSI: 0000000000001000 RDI: 00007f88d08b7000
          kernel: RBP: 0000000000001000 R08: 0000000000000000 R09: 0000000040002000
          kernel: R10: 0000000000000145 R11: 0000000000000246 R12: 00007f88d08b7000
          kernel: R13: 0000000040002000 R14: 0000000000000008 R15: 0000000000000040
          kernel: Disabling lock debugging due to kernel taint
          

          Here is the error under Linux 4.9 (full crash, unresponsive black screen):

          kernel: ------------[ cut here ]------------
          kernel: WARNING: CPU: 1 PID: 1279 at ../drivers/pci/msi.c:1071 __pci_enable_msi_range+0x3a0/0x3e0
          kernel: Modules linked in: tun msr fglrx(O) ext2 mbcache snd_hda_codec_analog snd_hda_codec_generic iTCO_wdt amdkfd mxm_wmi amd_iommu_v2 amdgpu ttm intel_powerclamp coretemp intel_cstate drm_kms_helper intel_uncore iptable_nat nf_nat_ipv4 nf_nat input_leds led_class evdev joydev drm mousedev mac_hid uas nf_conntrack_ipv6 i2c_i801 nf_defrag_ipv6 i2c>
          kernel:  xt_tcpudp ip6table_filter ip6_tables iptable_filter snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore atkbd libps2 serio cpufreq_ondemand kvm_intel kvm irqbypass ip_tables x_tables ipv6 crc_ccitt autofs4 sr_mod cdrom sd_mod hid_generic usbhid hid pata_marvell usb_storage ahci libahci rtc_cmos libata uhci_hcd ehci_pci ehci_hcd usbco>
          kernel: CPU: 1 PID: 1279 Comm: X Tainted: G          IO    4.9.135 #1-NixOS
          kernel: Hardware name: System manufacturer System Product Name/P6T DELUXE V2, BIOS 1202    12/22/2010
          kernel:  ffffb9cb44287918 ffffffff8cf01641 0000000000000000 0000000000000000
          kernel:  ffffb9cb44287958 ffffffff8cc717e1 0000042fc0f4b615 0000000000001002
          kernel:  0000000000000000 0000000000000001 ffff9f5ba309a000 ffff9f5b91560780
          kernel: Call Trace:
          kernel:  [<ffffffff8cf01641>] dump_stack+0x63/0x82
          kernel:  [<ffffffff8cc717e1>] __warn+0xe1/0x100
          kernel:  [<ffffffff8cc718cd>] warn_slowpath_null+0x1d/0x20
          kernel:  [<ffffffff8cf69490>] __pci_enable_msi_range+0x3a0/0x3e0
          kernel:  [<ffffffff8cf694e0>] pci_enable_msi_range+0x10/0x20
          kernel:  [<ffffffffc0c74478>] KCL_RequestMSI+0x18/0x30 [fglrx]
          kernel:  [<ffffffffc0c97bdc>] IRQMGR_initialize+0x2bc/0x410 [fglrx]
          kernel:  [<ffffffffc0c978c7>] ? IRQMGR_alloc_context+0xb7/0x110 [fglrx]
          kernel:  [<ffffffffc0c96107>] ? irqmgr_wrap_initialize+0x27/0x140 [fglrx]
          kernel:  [<ffffffffc0c783d2>] ? KCL_DEBUG_Print_Trace+0x22/0xd0 [fglrx]
          kernel:  [<ffffffffc0c976c5>] ? firegl_irqmgr_init+0x55/0x100 [fglrx]
          kernel:  [<ffffffffc0ca8a11>] ? hal_init_gpu+0x221/0x4e0 [fglrx]
          kernel:  [<ffffffffc0c81e7e>] ? firegl_open+0x2de/0x310 [fglrx]
          kernel:  [<ffffffffc0c70157>] ? ip_firegl_open+0x17/0x20 [fglrx]
          kernel:  [<ffffffffc0c719c9>] ? firegl_stub_open+0x99/0x100 [fglrx]
          kernel:  [<ffffffff8cdf8085>] ? chrdev_open+0xb5/0x180
          kernel:  [<ffffffff8cdf093c>] ? do_dentry_open+0x1cc/0x2f0
          kernel:  [<ffffffff8cdf7fd0>] ? cdev_put.part.0+0x20/0x20
          kernel:  [<ffffffff8cdf1d7c>] ? vfs_open+0x4c/0x80
          kernel:  [<ffffffff8cdfe87b>] ? may_open+0x9b/0x100
          kernel:  [<ffffffff8ce02958>] ? path_openat+0x698/0x1720
          kernel:  [<ffffffffc0c72e76>] ? KCL_SPINLOCK_STATIC_Grab+0x16/0x20 [fglrx]
          kernel:  [<ffffffffc0c7a52b>] ? drm_free+0x11b/0x1a0 [fglrx]
          kernel:  [<ffffffff8ce04b40>] ? do_filp_open+0x80/0xd0
          kernel:  [<ffffffff8cdd63d9>] ? kmem_cache_alloc+0x149/0x1a0
          kernel:  [<ffffffff8ce12e06>] ? __alloc_fd+0x46/0x170
          kernel:  [<ffffffff8cdf2232>] ? do_sys_open+0x1a2/0x230
          kernel:  [<ffffffff8cdf22f4>] ? SyS_openat+0x14/0x20
          kernel:  [<ffffffff8cc03b08>] ? do_syscall_64+0x68/0xe0
          kernel:  [<ffffffff8d17d8ce>] ? entry_SYSCALL_64_after_swapgs+0x58/0xc6
          kernel: ---[ end trace 599b517fa3e894a7 ]---
          kernel: ------------[ cut here ]------------
          kernel: kernel BUG at ../drivers/pci/msi.c:371!
          kernel: invalid opcode: 0000 [#1] SMP
          kernel: Modules linked in: tun msr fglrx(O) ext2 mbcache snd_hda_codec_analog snd_hda_codec_generic iTCO_wdt amdkfd mxm_wmi amd_iommu_v2 amdgpu ttm intel_powerclamp coretemp intel_cstate drm_kms_helper intel_uncore iptable_nat nf_nat_ipv4 nf_nat input_leds led_class evdev joydev drm mousedev mac_hid uas nf_conntrack_ipv6 i2c_i801 nf_defrag_ipv6 i2c>
          kernel:  xt_tcpudp ip6table_filter ip6_tables iptable_filter snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore atkbd libps2 serio cpufreq_ondemand kvm_intel kvm irqbypass ip_tables x_tables ipv6 crc_ccitt autofs4 sr_mod cdrom sd_mod hid_generic usbhid hid pata_marvell usb_storage ahci libahci rtc_cmos libata uhci_hcd ehci_pci ehci_hcd usbco>
          kernel: CPU: 1 PID: 1279 Comm: X Tainted: G        W IO    4.9.135 #1-NixOS
          kernel: Hardware name: System manufacturer System Product Name/P6T DELUXE V2, BIOS 1202    12/22/2010
          kernel: task: ffff9f5b8d103000 task.stack: ffffb9cb44284000
          kernel: RIP: 0010:[<ffffffff8cf689b2>]  [<ffffffff8cf689b2>] free_msi_irqs+0x182/0x1d0
          kernel: RSP: 0018:ffffb9cb44287938  EFLAGS: 00010286
          kernel: RAX: ffff9f5b9ad6f800 RBX: ffff9f5b99c8b000 RCX: 0000000000000022
          kernel: RDX: 0000000000000000 RSI: 0000000000000022 RDI: ffff9f5ba6800138
          kernel: RBP: ffffb9cb44287968 R08: ffff9f5ba6800000 R09: ffff9f5b9ad6f800
          kernel: R10: 0000000000000040 R11: 0000000000000000 R12: ffff9f5ba309a298
          kernel: R13: ffff9f5ba309a000 R14: 0000000000000000 R15: 0000000000000001
          kernel: FS:  00007fa360c9ce40(0000) GS:ffff9f5ba7240000(0000) knlGS:0000000000000000
          kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
          kernel: CR2: 00007fa35bed58d0 CR3: 000000060d15e000 CR4: 0000000000000670
          kernel: Stack:
          kernel:  ffffb9cb44287948 0000000000000001 0000000000000000 ffff9f5b8a0c9cc0
          kernel:  ffff9f5ba309a000 0000000000000001 ffffb9cb442879b8 ffffffff8cf693f0
          kernel:  ffff9f5ba309a0a0 00000001ffffffe4 0080000000000001 0000000000001002
          kernel: Call Trace:
          kernel:  [<ffffffff8cf693f0>] __pci_enable_msi_range+0x300/0x3e0
          kernel:  [<ffffffff8cf694e0>] pci_enable_msi_range+0x10/0x20
          kernel:  [<ffffffffc0c74478>] KCL_RequestMSI+0x18/0x30 [fglrx]
          kernel:  [<ffffffffc0c97bdc>] IRQMGR_initialize+0x2bc/0x410 [fglrx]
          kernel:  [<ffffffffc0c978c7>] ? IRQMGR_alloc_context+0xb7/0x110 [fglrx]
          kernel:  [<ffffffffc0c96107>] ? irqmgr_wrap_initialize+0x27/0x140 [fglrx]
          kernel:  [<ffffffffc0c783d2>] ? KCL_DEBUG_Print_Trace+0x22/0xd0 [fglrx]
          kernel:  [<ffffffffc0c976c5>] ? firegl_irqmgr_init+0x55/0x100 [fglrx]
          kernel:  [<ffffffffc0ca8a11>] ? hal_init_gpu+0x221/0x4e0 [fglrx]
          kernel:  [<ffffffffc0c81e7e>] ? firegl_open+0x2de/0x310 [fglrx]
          kernel:  [<ffffffffc0c70157>] ? ip_firegl_open+0x17/0x20 [fglrx]
          kernel:  [<ffffffffc0c719c9>] ? firegl_stub_open+0x99/0x100 [fglrx]
          kernel:  [<ffffffff8cdf8085>] ? chrdev_open+0xb5/0x180
          kernel:  [<ffffffff8cdf093c>] ? do_dentry_open+0x1cc/0x2f0
          kernel:  [<ffffffff8cdf7fd0>] ? cdev_put.part.0+0x20/0x20
          kernel:  [<ffffffff8cdf1d7c>] ? vfs_open+0x4c/0x80
          kernel:  [<ffffffff8cdfe87b>] ? may_open+0x9b/0x100
          kernel:  [<ffffffff8ce02958>] ? path_openat+0x698/0x1720
          kernel:  [<ffffffffc0c72e76>] ? KCL_SPINLOCK_STATIC_Grab+0x16/0x20 [fglrx]
          kernel:  [<ffffffffc0c7a52b>] ? drm_free+0x11b/0x1a0 [fglrx]
          kernel:  [<ffffffff8ce04b40>] ? do_filp_open+0x80/0xd0
          kernel:  [<ffffffff8cdd63d9>] ? kmem_cache_alloc+0x149/0x1a0
          kernel:  [<ffffffff8ce12e06>] ? __alloc_fd+0x46/0x170
          kernel:  [<ffffffff8cdf2232>] ? do_sys_open+0x1a2/0x230
          kernel:  [<ffffffff8cdf22f4>] ? SyS_openat+0x14/0x20
          kernel:  [<ffffffff8cc03b08>] ? do_syscall_64+0x68/0xe0
          kernel:  [<ffffffff8d17d8ce>] ? entry_SYSCALL_64_after_swapgs+0x58/0xc6
          kernel: Code: fe ff ff 45 31 f6 eb 11 41 83 c6 01 44 39 73 14 0f 86 ca fe ff ff 8b 7b 10 44 01 f7 e8 b8 cc d5 ff 48 83 b8 90 00 00 00 00 74 dd <0f> 0b 49 8d b5 a0 00 00 00 e8 30 69 d6 ff e9 cc fe ff ff 48 8b 
          kernel: RIP  [<ffffffff8cf689b2>] free_msi_irqs+0x182/0x1d0
          kernel:  RSP <ffffb9cb44287938>
          kernel: ---[ end trace 599b517fa3e894a8 ]---
          

          And under Linux 4.4 the driver is fully functional without any errors occurring.

          I really want to use a more recent Linux than 4.4, 4.14 at least, but I ought to fix those bugs if I am to be comfortable with doing so. What causes bad page map from happening consistently on startup of a GPU using program? When I tried searching for answer myself, I only found the suggestion that it could have to do with overclocking, but after undoing my overclock, the error still occurs.

          If it turns out to be a matter of the driver not being correctly patched, than I still have the following plans:

          1. Use the older driver 15.9, based on the AUR catalyst package, rather than catalyst-test.
          2. See if other distributions, like Ubuntu or Gentoo, use a different set of patches, and try them out instead.

          But before trying those, I will need to know what could be the cause of these bad page map errors, because for all I know it actually is patched correctly right now (since other than the error in the log, it does function properly).

          share|improve this question

          I am trying to get the Catalyst (Crimson) fglrx driver to work under kernel 4.18 on NixOS. I get it to compile and run under 4.18, but every time a program is started that needs to use the GPU, it will log an error. I based my package on https://aur.archlinux.org/packages/catalyst-test/.

          The error I am getting under Linux 4.18 is as follows (driver seems otherwise fully functional):

          kernel: BUG: Bad page map in process glxgears  pte:80000005e5275025 pmd:5e5274067
          kernel: page:ffffe5a017949d40 count:2 mapcount:-1536 mapping:0000000000000000 index:0x0
          kernel: flags: 0x200000000000000()
          kernel: raw: 0200000000000000 dead000000000100 dead000000000200 0000000000000000
          kernel: raw: 0000000000000000 0000000000000000 00000002fffff9ff ffffa29c5059f000
          kernel: page dumped because: bad pte
          kernel: page->mem_cgroup:ffffa29c5059f000
          kernel: addr:00000000bee58a73 vm_flags:040400d9 anon_vma:          (null) mapping:000000006eab13d1 index:40002
          kernel: file:card0 fault:ip_vm_kmap_fault [fglrx] mmap:ip_firegl_mmap [fglrx] readpage:          (null)
          kernel: CPU: 4 PID: 1761 Comm: glxgears Tainted: G          IO      4.18.17 #1-NixOS
          kernel: Hardware name: System manufacturer System Product Name/P6T DELUXE V2, BIOS 1202    12/22/2010
          kernel: Call Trace:
          kernel:  dump_stack+0x5c/0x7b
          kernel:  print_bad_pte+0x1da/0x2a0
          kernel:  unmap_page_range+0x838/0xa10
          kernel:  unmap_vmas+0x4c/0xa0
          kernel:  unmap_region+0xae/0x110
          kernel:  ? firegl_ioctl+0x128/0x260 [fglrx]
          kernel:  ? __switch_to_asm+0x40/0x70
          kernel:  ? __vma_rb_erase+0x1f6/0x270
          kernel:  do_munmap+0x26b/0x410
          kernel:  vm_munmap+0x5f/0xa0
          kernel:  __x64_sys_munmap+0x22/0x30
          kernel:  do_syscall_64+0x4e/0x100
          kernel:  entry_SYSCALL_64_after_hwframe+0x44/0xa9
          kernel: RIP: 0033:0x7fa781699487
          kernel: Code: c7 c0 ff ff ff ff e9 73 ff ff ff 48 8b 15 f1 09 2c 00 f7 d8 64 89 02 e9 41 ff ff ff 0f 1f 80 00 00 00 00 b8 0b 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48>
          kernel: RSP: 002b:00007ffd849c27a8 EFLAGS: 00000246 ORIG_RAX: 000000000000000b
          kernel: RAX: ffffffffffffffda RBX: 0000000000000008 RCX: 00007fa781699487
          kernel: RDX: 00007ffd849c27bc RSI: 0000000000001000 RDI: 00007fa77c9e4000
          kernel: RBP: 0000000000001000 R08: 0000000000000000 R09: 0000000040002000
          kernel: R10: 0000000000000145 R11: 0000000000000246 R12: 00007fa77c9e4000
          kernel: R13: 0000000040002000 R14: 0000000000000009 R15: 0000000000000048
          kernel: Disabling lock debugging due to kernel taint
          

          I also tried older kernels to make sure it was kernel related and not the way I packaged it. Here is the error under Linux 4.14 (driver seems otherwise fully functional):

          kernel: BUG: Bad page map in process glxgears  pte:80000005eb63e025 pmd:60fe27067
          kernel: page:ffffdda2d7ad8f80 count:2 mapcount:-511 mapping:          (null) index:0x0
          kernel: flags: 0x200000000000000()
          kernel: raw: 0200000000000000 0000000000000000 0000000000000000 00000002fffffe00
          kernel: raw: dead000000000100 dead000000000200 0000000000000000 ffff9f0c5ddbb400
          kernel: page dumped because: bad pte
          kernel: page->mem_cgroup:ffff9f0c5ddbb400
          kernel: addr:00007f88d08b7000 vm_flags:040400d9 anon_vma:          (null) mapping:ffff9f0c4bba04a8 index:40002
          kernel: file:card0 fault:ip_vm_kmap_fault [fglrx] mmap:ip_firegl_mmap [fglrx] readpage:          (null)
          kernel: CPU: 7 PID: 1726 Comm: glxgears Tainted: G          IO    4.14.79 #1-NixOS
          kernel: Hardware name: System manufacturer System Product Name/P6T DELUXE V2, BIOS 1202    12/22/2010
          kernel: Call Trace:
          kernel:  dump_stack+0x5c/0x85
          kernel:  print_bad_pte+0x1da/0x2a0
          kernel:  ? firegl_trace+0x2a/0xf0 [fglrx]
          kernel:  unmap_page_range+0x80e/0x9e0
          kernel:  unmap_vmas+0x4c/0xa0
          kernel:  unmap_region+0x9b/0xf0
          kernel:  ? firegl_get_BIOSImage_size+0x40/0x40 [fglrx]
          kernel:  ? __vma_rb_erase+0x1f6/0x270
          kernel:  do_munmap+0x26b/0x410
          kernel:  vm_munmap+0x4f/0x80
          kernel:  SyS_munmap+0x1d/0x30
          kernel:  do_syscall_64+0x67/0x120
          kernel:  entry_SYSCALL_64_after_hwframe+0x3d/0xa2
          kernel: RIP: 0033:0x7f88cfcd7487
          kernel: RSP: 002b:00007ffdfcc80d58 EFLAGS: 00000246 ORIG_RAX: 000000000000000b
          kernel: RAX: ffffffffffffffda RBX: 0000000000000008 RCX: 00007f88cfcd7487
          kernel: RDX: 00007ffdfcc80d6c RSI: 0000000000001000 RDI: 00007f88d08b7000
          kernel: RBP: 0000000000001000 R08: 0000000000000000 R09: 0000000040002000
          kernel: R10: 0000000000000145 R11: 0000000000000246 R12: 00007f88d08b7000
          kernel: R13: 0000000040002000 R14: 0000000000000008 R15: 0000000000000040
          kernel: Disabling lock debugging due to kernel taint
          

          Here is the error under Linux 4.9 (full crash, unresponsive black screen):

          kernel: ------------[ cut here ]------------
          kernel: WARNING: CPU: 1 PID: 1279 at ../drivers/pci/msi.c:1071 __pci_enable_msi_range+0x3a0/0x3e0
          kernel: Modules linked in: tun msr fglrx(O) ext2 mbcache snd_hda_codec_analog snd_hda_codec_generic iTCO_wdt amdkfd mxm_wmi amd_iommu_v2 amdgpu ttm intel_powerclamp coretemp intel_cstate drm_kms_helper intel_uncore iptable_nat nf_nat_ipv4 nf_nat input_leds led_class evdev joydev drm mousedev mac_hid uas nf_conntrack_ipv6 i2c_i801 nf_defrag_ipv6 i2c>
          kernel:  xt_tcpudp ip6table_filter ip6_tables iptable_filter snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore atkbd libps2 serio cpufreq_ondemand kvm_intel kvm irqbypass ip_tables x_tables ipv6 crc_ccitt autofs4 sr_mod cdrom sd_mod hid_generic usbhid hid pata_marvell usb_storage ahci libahci rtc_cmos libata uhci_hcd ehci_pci ehci_hcd usbco>
          kernel: CPU: 1 PID: 1279 Comm: X Tainted: G          IO    4.9.135 #1-NixOS
          kernel: Hardware name: System manufacturer System Product Name/P6T DELUXE V2, BIOS 1202    12/22/2010
          kernel:  ffffb9cb44287918 ffffffff8cf01641 0000000000000000 0000000000000000
          kernel:  ffffb9cb44287958 ffffffff8cc717e1 0000042fc0f4b615 0000000000001002
          kernel:  0000000000000000 0000000000000001 ffff9f5ba309a000 ffff9f5b91560780
          kernel: Call Trace:
          kernel:  [<ffffffff8cf01641>] dump_stack+0x63/0x82
          kernel:  [<ffffffff8cc717e1>] __warn+0xe1/0x100
          kernel:  [<ffffffff8cc718cd>] warn_slowpath_null+0x1d/0x20
          kernel:  [<ffffffff8cf69490>] __pci_enable_msi_range+0x3a0/0x3e0
          kernel:  [<ffffffff8cf694e0>] pci_enable_msi_range+0x10/0x20
          kernel:  [<ffffffffc0c74478>] KCL_RequestMSI+0x18/0x30 [fglrx]
          kernel:  [<ffffffffc0c97bdc>] IRQMGR_initialize+0x2bc/0x410 [fglrx]
          kernel:  [<ffffffffc0c978c7>] ? IRQMGR_alloc_context+0xb7/0x110 [fglrx]
          kernel:  [<ffffffffc0c96107>] ? irqmgr_wrap_initialize+0x27/0x140 [fglrx]
          kernel:  [<ffffffffc0c783d2>] ? KCL_DEBUG_Print_Trace+0x22/0xd0 [fglrx]
          kernel:  [<ffffffffc0c976c5>] ? firegl_irqmgr_init+0x55/0x100 [fglrx]
          kernel:  [<ffffffffc0ca8a11>] ? hal_init_gpu+0x221/0x4e0 [fglrx]
          kernel:  [<ffffffffc0c81e7e>] ? firegl_open+0x2de/0x310 [fglrx]
          kernel:  [<ffffffffc0c70157>] ? ip_firegl_open+0x17/0x20 [fglrx]
          kernel:  [<ffffffffc0c719c9>] ? firegl_stub_open+0x99/0x100 [fglrx]
          kernel:  [<ffffffff8cdf8085>] ? chrdev_open+0xb5/0x180
          kernel:  [<ffffffff8cdf093c>] ? do_dentry_open+0x1cc/0x2f0
          kernel:  [<ffffffff8cdf7fd0>] ? cdev_put.part.0+0x20/0x20
          kernel:  [<ffffffff8cdf1d7c>] ? vfs_open+0x4c/0x80
          kernel:  [<ffffffff8cdfe87b>] ? may_open+0x9b/0x100
          kernel:  [<ffffffff8ce02958>] ? path_openat+0x698/0x1720
          kernel:  [<ffffffffc0c72e76>] ? KCL_SPINLOCK_STATIC_Grab+0x16/0x20 [fglrx]
          kernel:  [<ffffffffc0c7a52b>] ? drm_free+0x11b/0x1a0 [fglrx]
          kernel:  [<ffffffff8ce04b40>] ? do_filp_open+0x80/0xd0
          kernel:  [<ffffffff8cdd63d9>] ? kmem_cache_alloc+0x149/0x1a0
          kernel:  [<ffffffff8ce12e06>] ? __alloc_fd+0x46/0x170
          kernel:  [<ffffffff8cdf2232>] ? do_sys_open+0x1a2/0x230
          kernel:  [<ffffffff8cdf22f4>] ? SyS_openat+0x14/0x20
          kernel:  [<ffffffff8cc03b08>] ? do_syscall_64+0x68/0xe0
          kernel:  [<ffffffff8d17d8ce>] ? entry_SYSCALL_64_after_swapgs+0x58/0xc6
          kernel: ---[ end trace 599b517fa3e894a7 ]---
          kernel: ------------[ cut here ]------------
          kernel: kernel BUG at ../drivers/pci/msi.c:371!
          kernel: invalid opcode: 0000 [#1] SMP
          kernel: Modules linked in: tun msr fglrx(O) ext2 mbcache snd_hda_codec_analog snd_hda_codec_generic iTCO_wdt amdkfd mxm_wmi amd_iommu_v2 amdgpu ttm intel_powerclamp coretemp intel_cstate drm_kms_helper intel_uncore iptable_nat nf_nat_ipv4 nf_nat input_leds led_class evdev joydev drm mousedev mac_hid uas nf_conntrack_ipv6 i2c_i801 nf_defrag_ipv6 i2c>
          kernel:  xt_tcpudp ip6table_filter ip6_tables iptable_filter snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore atkbd libps2 serio cpufreq_ondemand kvm_intel kvm irqbypass ip_tables x_tables ipv6 crc_ccitt autofs4 sr_mod cdrom sd_mod hid_generic usbhid hid pata_marvell usb_storage ahci libahci rtc_cmos libata uhci_hcd ehci_pci ehci_hcd usbco>
          kernel: CPU: 1 PID: 1279 Comm: X Tainted: G        W IO    4.9.135 #1-NixOS
          kernel: Hardware name: System manufacturer System Product Name/P6T DELUXE V2, BIOS 1202    12/22/2010
          kernel: task: ffff9f5b8d103000 task.stack: ffffb9cb44284000
          kernel: RIP: 0010:[<ffffffff8cf689b2>]  [<ffffffff8cf689b2>] free_msi_irqs+0x182/0x1d0
          kernel: RSP: 0018:ffffb9cb44287938  EFLAGS: 00010286
          kernel: RAX: ffff9f5b9ad6f800 RBX: ffff9f5b99c8b000 RCX: 0000000000000022
          kernel: RDX: 0000000000000000 RSI: 0000000000000022 RDI: ffff9f5ba6800138
          kernel: RBP: ffffb9cb44287968 R08: ffff9f5ba6800000 R09: ffff9f5b9ad6f800
          kernel: R10: 0000000000000040 R11: 0000000000000000 R12: ffff9f5ba309a298
          kernel: R13: ffff9f5ba309a000 R14: 0000000000000000 R15: 0000000000000001
          kernel: FS:  00007fa360c9ce40(0000) GS:ffff9f5ba7240000(0000) knlGS:0000000000000000
          kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
          kernel: CR2: 00007fa35bed58d0 CR3: 000000060d15e000 CR4: 0000000000000670
          kernel: Stack:
          kernel:  ffffb9cb44287948 0000000000000001 0000000000000000 ffff9f5b8a0c9cc0
          kernel:  ffff9f5ba309a000 0000000000000001 ffffb9cb442879b8 ffffffff8cf693f0
          kernel:  ffff9f5ba309a0a0 00000001ffffffe4 0080000000000001 0000000000001002
          kernel: Call Trace:
          kernel:  [<ffffffff8cf693f0>] __pci_enable_msi_range+0x300/0x3e0
          kernel:  [<ffffffff8cf694e0>] pci_enable_msi_range+0x10/0x20
          kernel:  [<ffffffffc0c74478>] KCL_RequestMSI+0x18/0x30 [fglrx]
          kernel:  [<ffffffffc0c97bdc>] IRQMGR_initialize+0x2bc/0x410 [fglrx]
          kernel:  [<ffffffffc0c978c7>] ? IRQMGR_alloc_context+0xb7/0x110 [fglrx]
          kernel:  [<ffffffffc0c96107>] ? irqmgr_wrap_initialize+0x27/0x140 [fglrx]
          kernel:  [<ffffffffc0c783d2>] ? KCL_DEBUG_Print_Trace+0x22/0xd0 [fglrx]
          kernel:  [<ffffffffc0c976c5>] ? firegl_irqmgr_init+0x55/0x100 [fglrx]
          kernel:  [<ffffffffc0ca8a11>] ? hal_init_gpu+0x221/0x4e0 [fglrx]
          kernel:  [<ffffffffc0c81e7e>] ? firegl_open+0x2de/0x310 [fglrx]
          kernel:  [<ffffffffc0c70157>] ? ip_firegl_open+0x17/0x20 [fglrx]
          kernel:  [<ffffffffc0c719c9>] ? firegl_stub_open+0x99/0x100 [fglrx]
          kernel:  [<ffffffff8cdf8085>] ? chrdev_open+0xb5/0x180
          kernel:  [<ffffffff8cdf093c>] ? do_dentry_open+0x1cc/0x2f0
          kernel:  [<ffffffff8cdf7fd0>] ? cdev_put.part.0+0x20/0x20
          kernel:  [<ffffffff8cdf1d7c>] ? vfs_open+0x4c/0x80
          kernel:  [<ffffffff8cdfe87b>] ? may_open+0x9b/0x100
          kernel:  [<ffffffff8ce02958>] ? path_openat+0x698/0x1720
          kernel:  [<ffffffffc0c72e76>] ? KCL_SPINLOCK_STATIC_Grab+0x16/0x20 [fglrx]
          kernel:  [<ffffffffc0c7a52b>] ? drm_free+0x11b/0x1a0 [fglrx]
          kernel:  [<ffffffff8ce04b40>] ? do_filp_open+0x80/0xd0
          kernel:  [<ffffffff8cdd63d9>] ? kmem_cache_alloc+0x149/0x1a0
          kernel:  [<ffffffff8ce12e06>] ? __alloc_fd+0x46/0x170
          kernel:  [<ffffffff8cdf2232>] ? do_sys_open+0x1a2/0x230
          kernel:  [<ffffffff8cdf22f4>] ? SyS_openat+0x14/0x20
          kernel:  [<ffffffff8cc03b08>] ? do_syscall_64+0x68/0xe0
          kernel:  [<ffffffff8d17d8ce>] ? entry_SYSCALL_64_after_swapgs+0x58/0xc6
          kernel: Code: fe ff ff 45 31 f6 eb 11 41 83 c6 01 44 39 73 14 0f 86 ca fe ff ff 8b 7b 10 44 01 f7 e8 b8 cc d5 ff 48 83 b8 90 00 00 00 00 74 dd <0f> 0b 49 8d b5 a0 00 00 00 e8 30 69 d6 ff e9 cc fe ff ff 48 8b 
          kernel: RIP  [<ffffffff8cf689b2>] free_msi_irqs+0x182/0x1d0
          kernel:  RSP <ffffb9cb44287938>
          kernel: ---[ end trace 599b517fa3e894a8 ]---
          

          And under Linux 4.4 the driver is fully functional without any errors occurring.

          I really want to use a more recent Linux than 4.4, 4.14 at least, but I ought to fix those bugs if I am to be comfortable with doing so. What causes bad page map from happening consistently on startup of a GPU using program? When I tried searching for answer myself, I only found the suggestion that it could have to do with overclocking, but after undoing my overclock, the error still occurs.

          If it turns out to be a matter of the driver not being correctly patched, than I still have the following plans:

          1. Use the older driver 15.9, based on the AUR catalyst package, rather than catalyst-test.
          2. See if other distributions, like Ubuntu or Gentoo, use a different set of patches, and try them out instead.

          But before trying those, I will need to know what could be the cause of these bad page map errors, because for all I know it actually is patched correctly right now (since other than the error in the log, it does function properly).

          linux-kernel drivers proprietary-drivers fglrx

          share|improve this question

          share|improve this question

          share|improve this question

          share|improve this question

          edited Nov 20 at 15:56

          Rui F Ribeiro

          38.2k1475125

          38.2k1475125

          asked Nov 20 at 15:35

          Matthijs Steen

          615

          615

          • Why the -1? If there is something amiss with my question, at least give me some constructive feedback. And although I get where the edits are coming from, removing the bit about being inexperienced with this kind of thing could have actually helped people answer the question, because there might be something obvious that they expect I already would have tried, but did not because this is unfamiliar territory for me.
            – Matthijs Steen
            Nov 20 at 16:36

          • Why the -1? If there is something amiss with my question, at least give me some constructive feedback. And although I get where the edits are coming from, removing the bit about being inexperienced with this kind of thing could have actually helped people answer the question, because there might be something obvious that they expect I already would have tried, but did not because this is unfamiliar territory for me.
            – Matthijs Steen
            Nov 20 at 16:36

          Why the -1? If there is something amiss with my question, at least give me some constructive feedback. And although I get where the edits are coming from, removing the bit about being inexperienced with this kind of thing could have actually helped people answer the question, because there might be something obvious that they expect I already would have tried, but did not because this is unfamiliar territory for me.
          – Matthijs Steen
          Nov 20 at 16:36

          Why the -1? If there is something amiss with my question, at least give me some constructive feedback. And although I get where the edits are coming from, removing the bit about being inexperienced with this kind of thing could have actually helped people answer the question, because there might be something obvious that they expect I already would have tried, but did not because this is unfamiliar territory for me.
          – Matthijs Steen
          Nov 20 at 16:36

          active

          oldest

          votes

          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’,
          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%2f482997%2fpatched-fglrx-under-linux-4-18-gives-bad-page-map-error%23new-answer’, ‘question_page’);
          }
          );

          Post as a guest

          Required, but never shown

          active

          oldest

          votes

          active

          oldest

          votes

          active

          oldest

          votes

          active

          oldest

          votes

           
          draft saved
          draft discarded

           

          draft saved

          draft discarded

          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin(‘.new-post-login’, ‘https%3a%2f%2funix.stackexchange.com%2fquestions%2f482997%2fpatched-fglrx-under-linux-4-18-gives-bad-page-map-error%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