# AMD Ryzen 7 and Vega10 support?



## Patrick_T135 (Oct 17, 2020)

Hi Everyone,
I have a ThinkPad X395 which comes with:

AMD Ryzen 7 Pro 3700U Processor
AMD Radeon Vega10 Graphics
I am currently running Ubuntu 20.04LTS and not very happy with the experience. I would like to use FreeBSD on this laptop and was wondering if it supports the Ryzen and Vega chips.
I searched the forums + reddit and did not see anything post 2019.
Thanks for your help.
P


----------



## Alexander88207 (Oct 17, 2020)

Hello, *Patrick_T135*

AFAIK, you need graphics/drm-devel-kmod to get your Vega GPU running. The problem is that you need FreeBSD 13-CURRENT which is a development version that is not support here in the forums, so if you running in trouble its sometimes hard to help out.

Your CPU should run, but i dont know if there are still little problems. (If there are no reports in recent years, this is actually one more point to test it  )


----------



## PacketMan (Oct 17, 2020)

Alexander88207 said:


> The problem is that you need FreeBSD 13-CURRENT which is a development version that is not support here in the forums, so if you running in trouble its sometimes hard to help out.



But you will learn something along the way, and FreeBSD 13-RELEASE will be here soon enough.


----------



## Patrick_T135 (Oct 17, 2020)

Patrick_T135 
Thanks for the quick and helpful response. 
I haven't used FreeBSD since v7. Any chance you could give me an idea of the stability of the -CURRENT branch?
Would it be like Debian unstable?


----------



## Alexander88207 (Oct 17, 2020)

PacketMan said:


> But you will learn something along the way, and FreeBSD 13-RELEASE will be here soon enough.



Sure, I already had my fun with -CURRENT  But also had some problems in the area of multimedia/gaming.


----------



## jardows (Oct 20, 2020)

Patrick_T135 said:


> Patrick_T135
> Thanks for the quick and helpful response.
> I haven't used FreeBSD since v7. Any chance you could give me an idea of the stability of the -CURRENT branch?
> Would it be like Debian unstable?


I'll chime in my 2 cents worth.  I'm using 13-CURRENT on a Dell Latitude E5570, and have no problems with my usage.  Everything that I test works without issue, and I have not experienced any crashes.  I have XFCE as the window manager, and use Openoffice for documents and Openshot for light video editing.  

In my opinion, at this stage of development, if you need 13-CURRENT for hardware support, don't be shy about using it.  Just know that you'll need to use the mailing lists for support.


----------



## jcw (Oct 26, 2020)

I'll add a me too.  I am posting this message via 13-CURRENT using:


```
CPU: AMD Ryzen 3 2200G with Radeon Vega Graphics

vgapci1@pci0:11:0:0:    class=0x030000 rev=0xc8 hdr=0x00 vendor=0x1002 device=0x15dd subvendor=0x1458 subdevice=0xd000
    vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'
    device     = 'Raven Ridge [Radeon Vega Series / Radeon Vega Mobile Series]'
    class      = display
    subclass   = VGA
```

I haven't had any problems. ymmv.


----------



## neel (Oct 28, 2020)

I used 13-CURRENT on a Ryzen 3700X desktop until it broke. It was reasonably stable, but sometimes YouTube videos occasionally shuttered on FreeBSD when multiple lower-specced Intel-based PCs (both Intel and Nvidia graphics), both desktops and laptops from Dell, HP, and homebuilt never did.

It had a Nvidia GPU so no integrated Vega graphics are used. I never ran FreeBSD as a desktop on a system with AMD graphics, all systems I had with integrated AMD graphics were used as "servers" or "routers".

It's a HP prebuilt, so I sent it in for warranty.


----------



## pva (Oct 29, 2020)

Patrick_T135 said:


> Hi Everyone,
> I have a ThinkPad X395 which comes with:
> 
> AMD Ryzen 7 Pro 3700U Processor
> ...


For what it's worth, I'm running 12.2-RELEASE (and previously 12-STABLE) on a 2019 ThinkPad T495 with a Ryzen 3700U CPU and a Vega 10 GPU. I'm using a hacky version of the drm-fbsd12.0-kmod port, which I've moved onto the drm-v5.0-fbsd12.1 branch that has support for more recent Vega GPUs.


```
CPU: AMD Ryzen 7 PRO 3700U w/ Radeon Vega Mobile Gfx (2295.74-MHz K8-class CPU)
  Origin="AuthenticAMD"  Id=0x810f81  Family=0x17  Model=0x18  Stepping=1
  Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT>
  Features2=0x7ed8320b<SSE3,PCLMULQDQ,MON,SSSE3,FMA,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND>
  AMD Features=0x2e500800<SYSCALL,NX,MMX+,FFXSR,Page1GB,RDTSCP,LM>
  AMD Features2=0x35c233ff<LAHF,CMP,SVM,ExtAPIC,CR8,ABM,SSE4A,MAS,Prefetch,OSVW,SKINIT,WDT,TCE,Topology,PCXC,PNXC,DBE,PL2I,MWAITX>
  Structured Extended Features=0x209c01a9<FSGSBASE,BMI1,AVX2,SMEP,BMI2,RDSEED,ADX,SMAP,CLFLUSHOPT,SHA>
  XSAVE Features=0xf<XSAVEOPT,XSAVEC,XINUSE,XSAVES>
  AMD Extended Feature Extensions ID EBX=0x1007<CLZERO,IRPerf,XSaveErPtr>
  SVM: NP,NRIP,VClean,AFlush,DAssist,NAsids=32768
  TSC: P-state invariant, performance statistics

vgapci0@pci0:6:0:0:     class=0x030000 card=0x512517aa chip=0x15d81002 rev=0xd1 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'
    device     = 'Picasso'
    class      = display
    subclass   = VGA
```

`dmesg` output:


```
[drm] amdgpu kernel modesetting enabled.
drmn0: <drmn> on vgapci0
vgapci0: child drmn0 requested pci_enable_io
vgapci0: child drmn0 requested pci_enable_io
[drm] initializing kernel modesetting (RAVEN 0x1002:0x15D8 0x17AA:0x5125 0xD1).
[drm] register mmio base: 0xD0500000
[drm] register mmio size: 524288
[drm] add ip block number 0 <soc15_common>
[drm] add ip block number 1 <gmc_v9_0>
[drm] add ip block number 2 <vega10_ih>
[drm] add ip block number 3 <psp>
[drm] add ip block number 4 <gfx_v9_0>
[drm] add ip block number 5 <sdma_v4_0>
[drm] add ip block number 6 <powerplay>
[drm] add ip block number 7 <dm>
[drm] add ip block number 8 <vcn_v1_0>
drmn0: successfully loaded firmware image with name: amdgpu/picasso_gpu_info.bin
drmn0: successfully loaded firmware image with name: amdgpu/picasso_sdma.bin
[drm] VCN decode is enabled in VM mode
[drm] VCN encode is enabled in VM mode
[drm] VCN jpeg decode is enabled in VM mode
pci_is_thunderbolt_attached not implemented -- see your local kernel hacker
ATOM BIOS: 113-PICASSO-114
[drm] vm size is 262144 GB, 4 levels, block size is 9-bit, fragment size is 9-bit
drmn0: VRAM: 2048M 0x000000F400000000 - 0x000000F47FFFFFFF (2048M used)
drmn0: GART: 1024M 0x0000000000000000 - 0x000000003FFFFFFF
drmn0: AGP: 267419648M 0x000000F800000000 - 0x0000FFFFFFFFFFFF
Failed to add WC MTRR for [0x5bf000000-0x63effffff]: -22; performance may suffer
[drm] Detected VRAM RAM=2048M, BAR=2048M
[drm] RAM width 128bits DDR4
[TTM] Zone  kernel: Available graphics memory: 11453126 kiB
[TTM] Zone   dma32: Available graphics memory: 2097152 kiB
[TTM] Initializing pool allocator
[drm] amdgpu: 2048M of VRAM memory ready
[drm] amdgpu: 3072M of GTT memory ready.
i_size_write not implemented -- see your local kernel hacker
[drm] GART: num cpu pages 262144, num gpu pages 262144
[drm] PCIE GART of 1024M enabled (table at 0x000000F4007E9000).
get_nr_swap_pages not implemented -- see your local kernel hacker
drmn0: successfully loaded firmware image with name: amdgpu/picasso_asd.bin
drmn0: successfully loaded firmware image with name: amdgpu/picasso_pfp.bin
drmn0: successfully loaded firmware image with name: amdgpu/picasso_me.bin
drmn0: successfully loaded firmware image with name: amdgpu/picasso_ce.bin
drmn0: successfully loaded firmware image with name: amdgpu/picasso_rlc.bin
drmn0: successfully loaded firmware image with name: amdgpu/picasso_mec.bin
drmn0: successfully loaded firmware image with name: amdgpu/picasso_mec2.bin
sched_setscheduler not implemented -- see your local kernel hacker
i_size_write not implemented -- see your local kernel hacker
[drm] use_doorbell being set to: [true]
drmn0: successfully loaded firmware image with name: amdgpu/raven_dmcu.bin
drmn0: successfully loaded firmware image with name: amdgpu/picasso_vcn.bin
[drm] Found VCN firmware Version ENC: 1.9 DEC: 1 VEP: 0 Revision: 28
[drm] PSP loading VCN firmware
[drm] reserve 0x400000 from 0xf400b00000 for PSP TMR SIZE
pm_runtime_mark_last_busy not implemented -- see your local kernel hacker
[drm] DM_PPLIB: values for Invalid clock
[drm] DM_PPLIB:  400000 in kHz
[drm] DM_PPLIB:  933000 in kHz
[drm] DM_PPLIB:  1067000 in kHz
[drm] DM_PPLIB:  1200000 in kHz
[drm] DM_PPLIB: values for Invalid clock
[drm] DM_PPLIB:  300000 in kHz
[drm] DM_PPLIB:  600000 in kHz
[drm] DM_PPLIB:  626000 in kHz
[drm] DM_PPLIB:  654000 in kHz
[drm] Display Core initialized with v3.2.08!
[drm] Connector eDP-1: get mode from tunables:
[drm]   - kern.vt.fb.modes.eDP-1
[drm]   - kern.vt.fb.default_mode
[drm] SADs count is: -2, don't need to read it
[drm] Connector HDMI-A-1: get mode from tunables:
[drm]   - kern.vt.fb.modes.HDMI-A-1
[drm]   - kern.vt.fb.default_mode
[drm] Connector DP-1: get mode from tunables:
[drm]   - kern.vt.fb.modes.DP-1
[drm]   - kern.vt.fb.default_mode
[drm] Connector DP-2: get mode from tunables:
[drm]   - kern.vt.fb.modes.DP-2
[drm]   - kern.vt.fb.default_mode
[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[drm] Driver supports precise vblank timestamp query.
[drm] VCN decode and encode initialized successfully(under DPG Mode).
[drm] fb mappable at 0x5BFF00000
[drm] vram apper at 0x5BF000000
[drm] size 8294400
[drm] fb depth is 24
[drm]    pitch is 7680
VT: Replacing driver "efifb" with new "fb".
start FB_INFO:
type=11 height=1080 width=1920 depth=32
cmsize=16 size=8294400
pbase=0x5bff00000 vbase=0xfffffe009cb00000
name=drmn0 flags=0x0 stride=7680 bpp=32
cmap[0]=0 cmap[1]=7f0000 cmap[2]=7f00 cmap[3]=c4a000
end FB_INFO
drmn0: fb0: amdgpudrmfb frame buffer device
i_size_write not implemented -- see your local kernel hacker
drmn0: ring gfx uses VM inv eng 0 on hub 0
drmn0: ring comp_1.0.0 uses VM inv eng 1 on hub 0
drmn0: ring comp_1.1.0 uses VM inv eng 4 on hub 0
drmn0: ring comp_1.2.0 uses VM inv eng 5 on hub 0
drmn0: ring comp_1.3.0 uses VM inv eng 6 on hub 0
drmn0: ring comp_1.0.1 uses VM inv eng 7 on hub 0
drmn0: ring comp_1.1.1 uses VM inv eng 8 on hub 0
drmn0: ring comp_1.2.1 uses VM inv eng 9 on hub 0
drmn0: ring comp_1.3.1 uses VM inv eng 10 on hub 0
drmn0: ring kiq_2.1.0 uses VM inv eng 11 on hub 0
drmn0: ring sdma0 uses VM inv eng 0 on hub 1
drmn0: ring vcn_dec uses VM inv eng 1 on hub 1
drmn0: ring vcn_enc0 uses VM inv eng 4 on hub 1
drmn0: ring vcn_enc1 uses VM inv eng 5 on hub 1
drmn0: ring vcn_jpeg uses VM inv eng 6 on hub 1
pm_runtime_mark_last_busy not implemented -- see your local kernel hacker
[drm] Initialized amdgpu 3.27.0 20150101 for drmn0 on minor 0
```






I've made a port of my hack, if anyone wants to try it out (at their own risk, of course; I'm not supporting this in any way, shape or form). While it's missing some niceties the 13-CURRENT versions will eventually have (backlight control etc.), it's worked well enough for me to tide me over until 13.0 lands next year.


----------

