Solved Console Hangs with AMD Vega Graphics

I've been reading up a number of posts on getting amdgpu graphics working. I'm running 12.0. I've got amdgpu.ko and drm.ko loaded. When I boot with hw.syscons.disable=1 the console output stops. Not sure if the system is still running with its head cut off though. The keyboard still responds to CTRL-ALT-DEL.

If I unset hw.syscons.disable and try to run startxfce4 I xorg fails to start. In Xorg.log this message seems to be the most signficant.

Code:
open /dev/dri/card0: No such file or directory

But I also see:

Code:
Cannot run in framebuffer mode

I presume the framebuffer error message is because at that particular moment I am running with hw.syscons.disable unset.

pciconf shows the my device is:

Code:
device = ' Raven Ridge [Radeon Vega Series/Radeon Vega Mobile Series]'

I found a matrix of support devices. Vega appears on that matrix and lists the amdgpu driver as the appropriate driver.

The /dev/dri/card0 error makes me think that I missed something in the various docs and posts I've read. Any ideas?

Is there a fallback method I can use to get xorg running without the 3D acceleration?

Thanks,
Jason C. Wells
 
I have a AMD machine, Ryzen 2200 with Radeon Vega Graphics on CPU on R12.0,p6. After make install of port graphics/drm-kmod, add: kld_list="/boot/modules/amdgpu.ko" to /etc/rc.conf. HTH.
 
When I boot with hw.syscons.disable=1 the console output stops.
It is important to note that there is currently a conflict with both AMD drivers and the EFI frambuffer. The current workaround, when booting via UEFI on these systems, is to disable the framebutter via /boot/loader.conf:

hw.syscons.disable=1

This will have the side effect of there being no console output until either the amdgpu or radeonkms kernel driver is loaded. Please see this Github issue for more context.
 
I'm wondering if the
Code:
hw.syscons.disable=1
issue only applies to AMD Radeon GPU cards rather than with AMD Ryzen CPUs that have built in Radeon Vega Graphics. I'm having no display issues with or without the code. Without, I immediately get large-scale text on boot until the driver is enabled and it then switches to smaller scale. With, I see no text until the driver is enabled, just as described in the wiki article.

So far, the only difference I see is what appears in dmesg:

Without
Code:
hw.syscons.disable=1
:

VT: Replacing driver "efifb" with new "fb".
start FB_INFO:
type=11 height=1080 width=1920 depth=32
cmsize=16 size=8294400
pbase=0xe1000000 vbase=0xfffff800e1000000
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

With
Code:
hw.syscons.disable=1

VT: Replacing driver "vga" with new "fb".
start FB_INFO:
type=11 height=1080 width=1920 depth=32
cmsize=16 size=8294400
pbase=0xe1000000 vbase=0xfffff800e1000000
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 recall having issues when I first installed FreeBSD 12.0 on this machine a couple of weeks ago and it was related to what seemed an error in my /etc/rc.conf subsequent to applying instructions of the output message of the install of /graphics/drm-kmod

Code:
pkg info --pkg-message drm-fbsd12.0-kmod
drm-fbsd12.0-kmod-4.16.g20190624:
Always:
The drm-fbsd12.0-kmod port can be enabled for amdgpu (for AMD GPUs starting
with the HD7000 series / Tahiti) or i915kms (for Intel APUs starting with
HD3000 / Sandy Bridge) through kld_list in /etc/rc.conf. radeonkms for older
AMD GPUs can be loaded and there are some positive reports if EFI boot is NOT
enabled (similar to amdgpu).

For amdgpu: kld_list="amdgpu"
For Intel: kld_list="/boot/modules/i915kms.ko"
For radeonkms: kld_list="/boot/modules/radeonkms.ko"

Please ensure that all users requiring graphics are members of the
"video" group.

Older generations are supported by the legacy kms modules (radeonkms /
i915kms) in base or by installing graphics/drm-legacy-kmod.

Replacing
Code:
kld_list="amdgpu"
, which didn't work with
Code:
kld_list="/boot/modules/amdgpu.ko"
which did work.

my pciconf:

vgapci0@pci0:7:0:0: class=0x030000 card=0xd0001458 chip=0x15dd1002 rev=0xc8 hdr=0x00
vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]'
device = 'Raven Ridge [Radeon Vega Series / Radeon Vega Mobile Series]'
class = display
subclass = VGA[/plain]
 
cwARSw6 has the same CPU as I do.

I changed rc.conf to include the full path. No help. FWIW, amdgpu was listed in kldstat from the beginning of my efforts. Curious that using the full path made a difference to cwARSw6.

One thing that is interesting, cwARSw6 built his modules. I used packages. I'm gonna try that.


Yep. I saw that. But console output never restarts.
 
Hi guys, another one with same issue here. I've recently bought Athlon 200GE with integrated graphics and GIGABYTE B450M S2H motherboard and trying to get FreeBSD running smooth, but stuck with this black screen.
Btw, without any DRM installed Xorg start, but resolution is limited to 1024x768 and after some time it start having glitches and becomes unusable (i'm running KDE).
Does it make sense trying to install `drm-current-kmod` or trying to build modules from ports?
 
Got following dmesg output after black screen while connected by ssh:
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:0x15DD 0x1002:0x15DD 0xCB).
[drm] register mmio base: 0xFCB00000
[drm] register mmio size: 524288
[drm] PCI I/O BAR is not found.
drmn0: successfully loaded firmware image with name: amdgpu/raven_gpu_info.bin
[drm] probing gen 2 caps for device 1022:15db = 700d03/e
[drm] probing mlw for device 1002:15dd = 400d03
[drm] VCN decode is enabled in VM mode
[drm] VCN encode is enabled in VM mode
[drm] BIOS signature incorrect 0 0
ATOM BIOS: 113-RAVEN-113
[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: GTT: 1024M 0x000000F500000000 - 0x000000F53FFFFFFF
Successfully added WC MTRR for [0xe0000000-0xefffffff]: 0;
[drm] Detected VRAM RAM=2048M, BAR=256M
[drm] RAM width 128bits UNKNOWN
[TTM] Zone  kernel: Available graphics memory: 7291820 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 unimplemented
[drm] GART: num cpu pages 262144, num gpu pages 262144
[drm] PCIE GART of 1024M enabled (table at 0x000000F400800000).
drmn0: successfully loaded firmware image with name: amdgpu/raven_asd.bin
drmn0: successfully loaded firmware image with name: amdgpu/raven_pfp.bin
drmn0: successfully loaded firmware image with name: amdgpu/raven_me.bin
drmn0: successfully loaded firmware image with name: amdgpu/raven_ce.bin
drmn0: successfully loaded firmware image with name: amdgpu/raven_rlc.bin
drmn0: successfully loaded firmware image with name: amdgpu/raven_mec.bin
drmn0: successfully loaded firmware image with name: amdgpu/raven_mec2.bin
i_size_write unimplemented
i_size_write unimplemented
i_size_write unimplemented
i_size_write unimplemented
i_size_write unimplemented
i_size_write unimplemented
i_size_write unimplemented
i_size_write unimplemented
i_size_write unimplemented
i_size_write unimplemented
drmn0: successfully loaded firmware image with name: amdgpu/raven_sdma.bin
[drm] use_doorbell being set to: [true]
i_size_write unimplemented
drmn0: successfully loaded firmware image with name: amdgpu/raven_vcn.bin
[drm] Found VCN firmware Version: 1.73 Family ID: 18
i_size_write unimplemented
i_size_write unimplemented
i_size_write unimplemented
[drm:construct] construct: Invalid Connector ObjectID from Adapter Service for connector index:2! type 0 expected 3
[drm] Display Core initialized with v3.1.27!
[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 DVI-D-1: get mode from tunables:
[drm]   - kern.vt.fb.modes.DVI-D-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] Supports vblank timestamp caching Rev 2 (21.10.2013).
[drm] Driver supports precise vblank timestamp query.
[drm:amdgpu_ring_write] amdgpu: writing more dwords to the ring than expected!
 
Hi,

I wanted to chime in with the same problem. In my case I have a Lenovo Thinkpad A485 with a Ryzen 5 2500U with Vega 8 gfx. After loading the gpu drivers, I get a blank screen.
 
UPDATE: in my case, I've discovered that my configuration will work with either
Code:
kld_list="amdgpu"
or
Code:
kld_list="/boot/modules/amdgpu.ko"
I presume that I must have had it (amdgpu) misspelled when I claimed it didn't work. What I do know is that it came right up after rebooting with the full path to the module.
Mine works with or without
Code:
hw.syscons.disable=1
 
Coming back to this after a hiatus...

I noticed that I have two drm.ko files.

/boot/modules/drm.ko
/boot/kernel/drm.ko

Is the /boot/kernel/drm.ko file the reason for the warning in UPDATING to set WITHOUT_DRM_MODULE=t?

I am considering deleting all modules from both directories and reinstalling the drm packages and the kernel.

I also noticed that I have two (similar?) linuxkpi.ko and linuxkpi_gplv2.ko module files. One is in /boot/modules and one is in /boot/kernel. Do these affect graphics? They are not loaded unless amdgpu.ko are loaded.

cwarsw6: Did you have conflicting files like I do? Perhaps that is why my system is broken and yours is working.
 
Same issue. 4.16-based drm will simply cause system to hang. 5.0-based drm will show console but it's overlaid by odd purple sheen.

GPU is Vega 64. I've tried different HDMI cable. It's rock-stable on windows (gaming pc)

Tried even Linux, same purple crap.
 
Back
Top