AMD Ryzen 7 and Vega10 support?

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
 
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 :) )
 
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?
 
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.
 
I'll add a me too. I am posting this message via 13-CURRENT using:

Code:
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.
 
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.
 
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
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.

Code:
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:

Code:
[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

amd-ryzen-3700u-vega10-freebsd-12.2.png


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.
 
Back
Top