Announcement

Collapse
No announcement yet.

Linux 5.3 Kernel Released With AMD Navi Support, Intel Speed Select & More

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

  • #21
    Originally posted by skeevy420 View Post
    And here I am waiting on the next ZoL release because 0.8.1 doesn't compile with Linux 5.3.
    If you are using ArchLinux zfs-dkms-git works like a charm on 5.3, 5.3-zen and 5.3-tkg-pds gaming kernel, on ubuntu based distro i have no idea but i'm sure something alike should exist somewhere

    Comment


    • #22
      Originally posted by jrch2k8 View Post

      If you are using ArchLinux zfs-dkms-git works like a charm on 5.3, 5.3-zen and 5.3-tkg-pds gaming kernel, on ubuntu based distro i have no idea but i'm sure something alike should exist somewhere
      I'm using Manjaro which is close enough. I made a rule for myself to quit using ZFS from git with the 0.8.1 ZFS release. I'm currently using 5.2.13 with the 5.3 AMDGPU bulk moves and cursor async patches applied (they apply cleanly with no changes necessary).

      I also use a DS4 over Bluetooth for gaming and that combination has issues with Linux 5.3. Between that and ZFS, I'm kind of stuck with 5.2 for the moment.

      Code:
      cursor async
      diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
      index 9443811..a833b23 100644
      --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
      +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
      @@ -4544,20 +4544,10 @@ static int dm_plane_atomic_check(struct drm_plane *plane,
       static int dm_plane_atomic_async_check(struct drm_plane *plane,
                              struct drm_plane_state *new_plane_state)
       {
      -    struct drm_plane_state *old_plane_state =
      -        drm_atomic_get_old_plane_state(new_plane_state->state, plane);
      -
           /* Only support async updates on cursor planes. */
           if (plane->type != DRM_PLANE_TYPE_CURSOR)
               return -EINVAL;
       
      -    /*
      -     * DRM calls prepare_fb and cleanup_fb on new_plane_state for
      -     * async commits so don't allow fb changes.
      -     */
      -    if (old_plane_state->fb != new_plane_state->fb)
      -        return -EINVAL;
      -
           return 0;
       }
      Code:
      bulk moves
      diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
      index 48349e4f0701..fd3fbaa73fa3 100644
      --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
      +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
      @@ -603,14 +603,12 @@ void amdgpu_vm_move_to_lru_tail(struct amdgpu_device *adev,
           struct ttm_bo_global *glob = adev->mman.bdev.glob;
           struct amdgpu_vm_bo_base *bo_base;
       
      -#if 0
           if (vm->bulk_moveable) {
               spin_lock(&glob->lru_lock);
               ttm_bo_bulk_move_lru_tail(&vm->lru_bulk_move);
               spin_unlock(&glob->lru_lock);
               return;
           }
      -#endif
       
           memset(&vm->lru_bulk_move, 0, sizeof(vm->lru_bulk_move));
       
      --
      2.17.1

      Comment


      • #23
        Originally posted by skeevy420 View Post

        I'm using Manjaro which is close enough. I made a rule for myself to quit using ZFS from git with the 0.8.1 ZFS release. I'm currently using 5.2.13 with the 5.3 AMDGPU bulk moves and cursor async patches applied (they apply cleanly with no changes necessary).

        I also use a DS4 over Bluetooth for gaming and that combination has issues with Linux 5.3. Between that and ZFS, I'm kind of stuck with 5.2 for the moment.

        Code:
        cursor async
        diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
        index 9443811..a833b23 100644
        --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
        +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
        @@ -4544,20 +4544,10 @@ static int dm_plane_atomic_check(struct drm_plane *plane,
        static int dm_plane_atomic_async_check(struct drm_plane *plane,
        struct drm_plane_state *new_plane_state)
        {
        - struct drm_plane_state *old_plane_state =
        - drm_atomic_get_old_plane_state(new_plane_state->state, plane);
        -
        /* Only support async updates on cursor planes. */
        if (plane->type != DRM_PLANE_TYPE_CURSOR)
        return -EINVAL;
        
        - /*
        - * DRM calls prepare_fb and cleanup_fb on new_plane_state for
        - * async commits so don't allow fb changes.
        - */
        - if (old_plane_state->fb != new_plane_state->fb)
        - return -EINVAL;
        -
        return 0;
        }
        Code:
        bulk moves
        diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
        index 48349e4f0701..fd3fbaa73fa3 100644
        --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
        +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
        @@ -603,14 +603,12 @@ void amdgpu_vm_move_to_lru_tail(struct amdgpu_device *adev,
        struct ttm_bo_global *glob = adev->mman.bdev.glob;
        struct amdgpu_vm_bo_base *bo_base;
        
        -#if 0
        if (vm->bulk_moveable) {
        spin_lock(&glob->lru_lock);
        ttm_bo_bulk_move_lru_tail(&vm->lru_bulk_move);
        spin_unlock(&glob->lru_lock);
        return;
        }
        -#endif
        
        memset(&vm->lru_bulk_move, 0, sizeof(vm->lru_bulk_move));
        
        --
        2.17.1
        same here except DS4 but on 5.3-tkg-pds on ArchLinux

        Comment


        • #24
          Originally posted by jrch2k8 View Post

          same here except DS4 but on 5.3-tkg-pds on ArchLinux
          5.2-tkg-pds myself
          just haven't updated it today
          and it's 5.2.14...typo earlier

          Comment


          • #25
            The ignore list doesn't work, right?

            Comment


            • #26
              Originally posted by tildearrow View Post
              The ignore list doesn't work, right?
              Not anytime I've ever tried it.

              Comment


              • #27
                I've been using the Liquorix kernel builds and some time after kernel 5.3 went stable I sneakernetted it over to one older laptop (Mint 19.2 C - Ubuntu 18.04 base) as usual only to find that the new version broke touchpad (Elantech). Pointer would regularly freeze mid-movement or movement/swipe wouldn't register at all.

                Went back to older stock kernel until I tried 5.3.12 and again tried playing with touchpad settings. Turned out that if edge scrolling was enabled the entire right half of the touchpad was simply inactive and there was also general dodginess about registering initial single-finger touch. After disabling edge scrolling and horizontal scrolling normal single-finger movement became usable again across the whole touchpad.

                "Two-finger" scrolling works fine, but only if used with three (or more) fingers. Two-finger event appears to be reserved for emulating right click - even if it isn't enabled in the options.

                C'est la vie. This bug was easy enough to work around. Just switch to using "three-finger scrolling" instead of edge scrolling.

                Comment

                Working...
                X