Announcement

Collapse
No announcement yet.

AMD Representative Says Their Vulkan Linux Driver Will Be Here Soon

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #71
    Originally posted by xpris View Post

    Just OpenGL for gaming. I trying open source driver but with my GPU, not working well and I need to stay on fglrx if I want play my favorite games. For now I not have money for new GPUs, so it would be nice to see new release for the HD 5000/6000 even without new introduced Vulkan or other things.
    What GPU do you have ? 5830/5850/5870/6950/6970 should have opengl 4.1 with llvm 3.8.1 and mesa 11.2 ... this should be enough to play most stuff.
    If you have a 68xx then you are missing fp64 support. Try overriding with MESA flags and see if things work.

    Comment


    • #72
      Originally posted by bridgman View Post

      OK, OpenGL is easier since that is still being actively developed in the open source stack.

      Please make sure there are up-to-date bug reports on FDO for game problems you are seeing, and remember that while you have been running older distro versions with fglrx you really need newest code for the open drivers. What distro do you normally run ?
      I also have a similar concern with the open source drivers not working well for one of my R600-based machines, it's a Llano APU, and it's only ever worked well on Catalyst; this has been the case since I bought it, across many different distributions, and is still true now, although now that the driver resets the GPU, at least the machine recovers from lockup after 10 seconds or so, and if I run a DE in pure software rendering mode, that doesn't cause a lockup (this works with Gnome on LLVMpipe, or Weston/Wayland with pixman). Here's the bug report: https://bugs.freedesktop.org/show_bug.cgi?id=93895

      On IRC the other day, agd5f (Alex Deucher, if I'm not mistaken?) suggested that he thought the cause might be related to a bad "harvest config" or something; I'm not sure exactly what that means or how tricky it is to fix, but it seems I'm going to be stuck on 15.10 on that machine for awhile. I'm willing to try any suggestions or patches/etc though, if any ideas come up.

      Originally posted by bridgman View Post
      I don't think it would make sense to extend amdgpu any further back than GCN but depending on who you ask Vulkan itself may be able to run on earlier hardware. I don't think anyone has had time to look hard at whether it is possible yet and, we don't have any plans to extend Vulkan support further back than GCN ourselves.
      Yeah, despite having only R600 hardware right now, I really don't expect AMD to work on Vulkan support for that on their own, nor do I think it's a productive use of resources given all the other stuff going on right now at AMD. If it's possible for Vulkan to work on R600 cards (like my HD 6950), I have faith that the community will figure it out once the Vulkan userspace is open sourced; this is what open source is all about. =)

      Comment


      • #73
        Originally posted by azari View Post
        On IRC the other day, agd5f (Alex Deucher, if I'm not mistaken?) suggested that he thought the cause might be related to a bad "harvest config" or something; I'm not sure exactly what that means or how tricky it is to fix, but it seems I'm going to be stuck on 15.10 on that machine for awhile. I'm willing to try any suggestions or patches/etc though, if any ideas come up.
        When we say "harvest config" it refers to disabling some of the HW blocks on the chip while keeping everything working properly.

        The logic for that (basically pulling out random blocks in the middle of an M graphics pipelines crossbarred to N compute units crossbarred to O render backends crossbarred to P cache blocks crossbarred to Q memory controller channels for any combination of M, N, O, P and Q) is really fiddly and we're still learning how to get it right.

        Harvest configs and dynamic power management are pretty much the two "third rails" (touch them and die) of modern GPU driver development.
        Test signature

        Comment


        • #74
          Originally posted by twriter View Post
          Did you install the LunarG Vulkan SDK following the instructions linked from the release notes?
          Yes.

          Originally posted by twriter View Post
          Did you add yourself to the video group, then logout and login again?
          This was my bad. I added my account to video group and it worked.

          Comment


          • #75
            Tried to install this, but it's really tedious if you're not an Ubuntu and dkms user. But I think I almost got it right.
            GPU is a Kaveri. I'm mainly looking for OpenCL Support based on amdgpu (don't want to use the old Catalyst stack).
            Kernel is 4.5.0.

            Few questions:
            1. Why does it provide dkms stuff at all? I thought this was meant to run on top of amdgpu from the kernel with everything else in user space?
            Is this just a newer version of the kernel driver? If so, is there a git tree I can fetch somewhere with the corresponding updates?
            2. The driver seems to support ICD. Why is an additional libOpenCL.so installed? That should be provided by ocl-icd.
            3. I noticed, that the firmware amdgpu_pfp.bin provided by the driver is different from what is currently in linux-firmware. Is that a newer version? When will it be submitted to linux-firmware?

            BTW. I noticed, that there are kaveri_*.bin and KAVERI_*.bin firmware files. The uppercase ones seem to be required by radeon, the lowercase ones by amdgpu. Is that intended? Why don't they share firmware files? Will they in the future?

            Comment


            • #76
              Very nice, gz on getting it out Bridgman & co!

              The install instructions were nice and simple, though I did have to "dpkg -r clinfo".

              However for the DKMS kernel module I got the following error both with Ubuntu 4.4.0-14-generic and https://cgit.freedesktop.org/~agd5f/...h=drm-next-4.6 :


              DKMS make.log for amdgpu-pro-16.15.2-277429 for kernel 4.5.0-rc3+ (x86_64)
              lör 19 mar 2016 09:56:58 CET
              make: Går till katalogen ”/home/ernst/Projekt/linux”
              LD /var/lib/dkms/amdgpu-pro/16.15.2-277429/build/built-in.o
              LD /var/lib/dkms/amdgpu-pro/16.15.2-277429/build/amd/amdgpu/built-in.o
              CC [M] /var/lib/dkms/amdgpu-pro/16.15.2-277429/build/amd/amdgpu/amdgpu_drv.o
              /var/lib/dkms/amdgpu-pro/16.15.2-277429/build/amd/amdgpu/amdgpu_drv.c:509:24: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
              .get_vblank_counter = amdgpu_get_vblank_counter_kms,
              ^
              /var/lib/dkms/amdgpu-pro/16.15.2-277429/build/amd/amdgpu/amdgpu_drv.c:509:24: note: (near initialization for ‘kms_driver.get_vblank_counter’)
              /var/lib/dkms/amdgpu-pro/16.15.2-277429/build/amd/amdgpu/amdgpu_drv.c:510:19: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
              .enable_vblank = amdgpu_enable_vblank_kms,
              ^
              /var/lib/dkms/amdgpu-pro/16.15.2-277429/build/amd/amdgpu/amdgpu_drv.c:510:19: note: (near initialization for ‘kms_driver.enable_vblank’)
              /var/lib/dkms/amdgpu-pro/16.15.2-277429/build/amd/amdgpu/amdgpu_drv.c:511:20: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
              .disable_vblank = amdgpu_disable_vblank_kms,
              ^
              /var/lib/dkms/amdgpu-pro/16.15.2-277429/build/amd/amdgpu/amdgpu_drv.c:511:20: note: (near initialization for ‘kms_driver.disable_vblank’)
              /var/lib/dkms/amdgpu-pro/16.15.2-277429/build/amd/amdgpu/amdgpu_drv.c:512:26: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
              .get_vblank_timestamp = amdgpu_get_vblank_timestamp_kms,
              ^
              /var/lib/dkms/amdgpu-pro/16.15.2-277429/build/amd/amdgpu/amdgpu_drv.c:512:26: note: (near initialization for ‘kms_driver.get_vblank_timestamp’)
              /var/lib/dkms/amdgpu-pro/16.15.2-277429/build/amd/amdgpu/amdgpu_drv.c:513:26: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
              .get_scanout_position = amdgpu_get_crtc_scanoutpos,
              ^
              /var/lib/dkms/amdgpu-pro/16.15.2-277429/build/amd/amdgpu/amdgpu_drv.c:513:26: note: (near initialization for ‘kms_driver.get_scanout_position’)
              cc1: all warnings being treated as errors
              scripts/Makefile.build:258: receptet för målet ”/var/lib/dkms/amdgpu-pro/16.15.2-277429/build/amd/amdgpu/amdgpu_drv.o” misslyckades
              make[2]: *** [/var/lib/dkms/amdgpu-pro/16.15.2-277429/build/amd/amdgpu/amdgpu_drv.o] Fel 1
              scripts/Makefile.build:407: receptet för målet ”/var/lib/dkms/amdgpu-pro/16.15.2-277429/build/amd/amdgpu” misslyckades
              make[1]: *** [/var/lib/dkms/amdgpu-pro/16.15.2-277429/build/amd/amdgpu] Fel 2
              Makefile:1391: receptet för målet ”_module_/var/lib/dkms/amdgpu-pro/16.15.2-277429/build” misslyckades
              make: *** [_module_/var/lib/dkms/amdgpu-pro/16.15.2-277429/build] Fel 2
              make: Lämnar katalogen ”/home/ernst/Projekt/linux”
              Last edited by ernstp; 19 March 2016, 05:15 AM. Reason: Tested with original Ubuntu 16.04 kernel now also!

              Comment


              • #77
                Originally posted by Berniyh View Post
                Tried to install this, but it's really tedious if you're not an Ubuntu and dkms user. But I think I almost got it right.
                GPU is a Kaveri. I'm mainly looking for OpenCL Support based on amdgpu (don't want to use the old Catalyst stack).
                Kernel is 4.5.0.

                Few questions:
                1. Why does it provide dkms stuff at all? I thought this was meant to run on top of amdgpu from the kernel with everything else in user space?
                Is this just a newer version of the kernel driver? If so, is there a git tree I can fetch somewhere with the corresponding updates?
                2. The driver seems to support ICD. Why is an additional libOpenCL.so installed? That should be provided by ocl-icd.
                3. I noticed, that the firmware amdgpu_pfp.bin provided by the driver is different from what is currently in linux-firmware. Is that a newer version? When will it be submitted to linux-firmware?

                BTW. I noticed, that there are kaveri_*.bin and KAVERI_*.bin firmware files. The uppercase ones seem to be required by radeon, the lowercase ones by amdgpu. Is that intended? Why don't they share firmware files? Will they in the future?
                I thought the install instructions were nice and they way to go for that kind of stuff, but you're questions are very valid!

                Have you guys backported amdgpu to older kernels so it works or any kernel version or something like that... ?
                Can I run it ontop of the real amdgpu kernel module in this state?

                Comment


                • #78
                  Originally posted by ernstp View Post
                  I thought the install instructions were nice and they way to go for that kind of stuff
                  I'm sure they are—if you're using Ubuntu.
                  Basically the package provides a huge list of .deb files. Handling that is not a big issue, I get my way around that, but you have to know what you're doing if you're not on .deb Distro.
                  The killer is actually dkms. I'm compiling my own kernel and I'm not using dkms. However the Makefiles seem to be written just for dkms.
                  I tried to work my way around that by defining the compilation commands myself, but that just led to compilation errors.
                  I'm sure I could get it working somehow, but it really shouldn't be necessary and I really would prefer a git tree I can merge.

                  Comment


                  • #79
                    4.5 kernel with amdgpu enabled for CI works fine with this driver, no need to build amdgpu_pro module with dkms, in fact amdgpu-pro is worse since it doesn't work with 4k displays.

                    some benchmark numbers from unigine valley on 290x with shitty cpu (macpro with 2x2.8 quads from 2008)

                    r9_290x_linux_amdgpu_1080p_noaa_dri3 1512 4.5-rc3
                    r9_290x_linux_amdgpu_1080p_8xaa_dri3 1437 4.5-rc3
                    r9_290x_linux_radeon_1080p_noaa_dri3 1628 4.5-rc3
                    r9_290x_linux_radeon_1080p_8xaa_dri3 1488 4.5-rc3
                    r9_290x_linux_amdgpupro_1080p_noaa_dri3 2208 4.5-rc3
                    r9_290x_linux_amdgpupro_1080p_8xaa_dri3 1724 4.5-rc3

                    amdgpupro is proprietary driver, rest is open source.

                    Comment


                    • #80
                      Originally posted by Berniyh View Post
                      Tried to install this, but it's really tedious if you're not an Ubuntu and dkms user. But I think I almost got it right.
                      GPU is a Kaveri. I'm mainly looking for OpenCL Support based on amdgpu (don't want to use the old Catalyst stack). Kernel is 4.5.0.
                      Yeah, between now and production we'll be doing more for arbitrary distros. At minimum we should be able to post the raw files so someone building packages for distro A doesn't have to pick apart packages intended for distro B before they can even start.

                      Originally posted by Berniyh View Post
                      Few questions:
                      1. Why does it provide dkms stuff at all? I thought this was meant to run on top of amdgpu from the kernel with everything else in user space?
                      Is this just a newer version of the kernel driver? If so, is there a git tree I can fetch somewhere with the corresponding updates?
                      In some cases the closed drivers will be able to run on existing userspace; in other cases they'll need kernel/libdrm functionality that aren't upstream because the open userspace driver isn't using it yet. There may also be some never-upstreamable bits related to workstation functionality. AFAIK the DKMS package contains the source although I haven't gotten around to picking one apart to confirm that.

                      Originally posted by Berniyh View Post
                      2. The driver seems to support ICD. Why is an additional libOpenCL.so installed? That should be provided by ocl-icd.
                      Not sure, might be there for older distros that don't have it ? Will ask.

                      Originally posted by Berniyh View Post
                      3. I noticed, that the firmware amdgpu_pfp.bin provided by the driver is different from what is currently in linux-firmware. Is that a newer version? When will it be submitted to linux-firmware?
                      Not sure, depends on whether it's older (open devs skipped past it) or newer, need to check.

                      Originally posted by Berniyh View Post
                      BTW. I noticed, that there are kaveri_*.bin and KAVERI_*.bin firmware files. The uppercase ones seem to be required by radeon, the lowercase ones by amdgpu. Is that intended? Why don't they share firmware files? Will they in the future?
                      One is new format with header info, other is old format. If radeon still uses the old format then I imagine that's just because the code hasn't been changed to accept the new format yet. I know agd5f answers this question a lot

                      Test signature

                      Comment

                      Working...
                      X