# Where do I get a video decoder ring (AMD radeon)?



## Chris_H (Dec 13, 2016)

Greetings all,
Well I just purchased a new board with an AMD A6-7470K CPU that
has the radeon R5 GPU (whatever that is).
I bought that combination because I needed a box to do nothing
but biild source. I have always bought with nVidia graphics before,
because the radeon, and intel graphics support was still ramping up.
However, at last glance, the FreeBSD graphics wiki indicated everything
was pretty much up to speed.
But now that I've got the hardware, I have no idea how to get a decent
console/terminal. sc (syscons(4)) is gone, as are
all the supporting utils -- well technically I could enter

```
kern.vty=sc
```
in loader.conf(5), but that just defeats the purpose. 
Anyway, the text on the console looks like ancient Egyptian hieroglyphics.
If I don't look at the keyboard when I type, I almost have no idea whats
being emitted on screen. The exception is high-intensity text (bright bold).
This, while legible, still doesn't look as good as syscons did.
I guess I need to kldload(8) a radeon driver. But which one?
I read the wiki, but have no idea what an AMD radeon R5 is in FreeBSD speak.
Anyone tried one of these? Any good pointers? I read the (FreeBSD graphics)
wiki, but google/duckduckgo haven't thrown me any bones.
Here's some details:

```
# uname -a
 11.0-STABLE FreeBSD 11.0-STABLE #0 r309771: Fri Dec  9 23:58:04 UTC 2016
root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64

# cat /var/run/dmesg.boot | grep Radeon
CPU: AMD A6-7470K Radeon R5, 6 Compute Cores 2C+4G   (3690.84-MHz K8-class CPU)

# pciconf -lv
vgapci0@pci0:0:1:0:   class=0x030000 card=0x85cb1043 chip=0x13151002 rev=0xd4 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'
    device     = 'Kaveri [Radeon R5 Graphics]'
    class      = display
    subclass   = VGA
```
While this is on latest 11-STABLE, I also encountered the same on the most recent
12-CURRENT.

Any help would be *greatly* appreciated!

--Chris


----------



## tingo (Dec 13, 2016)

So, Kaveri is part of the Steamroller architecture, and has a Graphics Core Next Sea Islands GPU core. Unfortunately drm-radeon(7) seems to be missing from the man pages (it is referenced in drm-memory(7)) so it is a bit difficult to know which of the different /boot/kernel/radeonkmsfw* files you should load. I am guessing that simply loading just /boot/kernel/radeonkms.ko (with kldload) doesn't help anything?


----------



## Chris_H (Dec 13, 2016)

tingo
Thanks for taking the time to reply, and for some pointers.
No. Sadly kldload(8)ing radeonkms produced no joy. 
Maybe something along the lines of

```
#!/bin/sh -
cd /boot/kernel
for name in ls radeon*
do
    kldload $name
done
```
;-P

Thanks again, tingo for taking the time to try and help. *Greatly* appreciated!

--Chris


----------



## tingo (Dec 14, 2016)

Oh, and the decoder ring you asked for. HTH


----------



## Chris_H (Dec 15, 2016)

tingo
WOOT! They _too_ coined the term "Decoder ring". That's rich! 
Well, if I've managed to decode any of this correctly, based on:
Decoder ring for engineering vs marketing names
I have either an M2xx, or an M3xx, which are supposedly the _Mobility_
series. Hmm, this isn't a laptop. In any case, neither are listed in the
 Radeon table on the FreeBSD Graphics wiki.  Just to confuse matters
further, the mother board states it provides for the "AMD Radeon R/HD 8000/HD 7000 Series Graphics in the A-Series APU". Yet the A-Series CPU in it -
A6-7470K ; introduced: February 2, 2016, says

```
GPU Type: Radeon R5 series
Shader cores: 256
Base frequency (MHz): 800
```
So in the end, it seems I'm no closer to getting decent output on the console,
or in X. 
On the upside; I installed -CURRENT (12) 3309773 (2106-12-09) from the Disc1 CD,
and the installer recognized that I have an EFI capable motherboard, and
installed an efi partition (slice). Which caused it to boot in EFI mode, and that
gave me a 1024x768 (console) resolution that's quite readable. So at least
I can now see what's on it. 
I svn(1) upped src, and built a custom kernel, and
built and installed world. But the card wasn't detected. So I'm no closer. 
Guess I'll just have to buy an nVidia card, and `cd /usr/ports/x11/nvidia-driver && make install clean`
followed by
`echo nvidia_load="YES" >>/boot/loader.conf`,
and be done with it. Sigh... what a bummer.
I *really* appreciate all your time, and help, tingo -- *Thanks!*

All the best!

--Chris


----------



## Chris_H (Dec 15, 2016)

OK. Upon further investigation, my AMD R5 GPU is supposed to based on OLAND, OLAND/Iceland. Which the FreeBSD radeon man page indicates *is* supported.
However, I see no evidence of it in /boot/kernel ie; radeonkmsfw_OLAND, or radronkmsfw_ICELAND 
So I'll try and simply add `radoeonkms_load="YES"` to loader.conf(5), and hope for the best.

--Chris


----------



## Chris_H (Dec 16, 2016)

Well, did that, and gave it a go. The results were _less_ that spectacular. 
Loaded up the radeonkms in loader.conf(5), bounced the box, and
Went to /usr/ports/x11/xorg directory, and performed a `make config-recursive`. Followed by a
`make install clean`.
After it finished, I performed an `Xorg -configure`. Examined the xorg.conf.new created. Which all
looked correct. Then performed a `X -config xorg.conf.new`. Which ultimately failed with:

```
[  1841.864] (EE) no screens found(EE)
```
Hmm... Says my card is supported:

```
[  1841.782] (II) RADEON: Driver for ATI Radeon chipsets:
ATI Radeon HD 5450, CEDAR, CEDAR, CAYMAN, CAYMAN, CAYMAN, CAYMAN,
...
MULLINS, MULLINS, MULLINS, KAVERI, KAVERI, KAVERI, KAVERI, KAVERI,
KAVERI, KAVERI, KAVERI, KAVERI, KAVERI, KAVERI, KAVERI, KAVERI,
KAVERI, KAVERI, KAVERI, KAVERI, KAVERI, KAVERI, KAVERI, KAVERI,
KAVERI, HAWAII, HAWAII, HAWAII, HAWAII, HAWAII, HAWAII, HAWAII,
...
[  1841.785] (--) Using syscons driver with X support (version 2.0)
[  1841.785] (--) using VT number 9

[  1841.816] (II) [KMS] Kernel modesetting enabled.
[  1841.816] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[  1841.816] (==) RADEON(0): Depth 24, (--) framebuffer bpp 32
[  1841.816] (II) RADEON(0): Pixel depth = 24 bits stored in 4 bytes (32 bpp pixmaps)
[  1841.816] (==) RADEON(0): Default visual is TrueColor
[  1841.816] (==) RADEON(0): RGB weight 888
[  1841.816] (II) RADEON(0): Using 8 bits per RGB (8 bit DAC)
[  1841.816] (--) RADEON(0): Chipset: "KAVERI" (ChipID = 0x1315)
[  1841.864] (EE) RADEON(0): [drm] Failed to open DRM device for pci:0000:00:01.0: No such file or directory
[  1841.864] (EE) RADEON(0): Kernel modesetting setup failed
[  1841.864] (II) UnloadModule: "radeon"
[  1841.864] (EE) Screen(s) found, but none have a usable configuration.
[  1841.864] (EE)
Fatal server error:
[  1841.864] (EE) no screens found(EE)
[  1841.864] (EE)
```
What's that, no DRM?

```
# kldstat
Id Refs Address            Size     Name
 1   27 0xffffffff80200000 1435488  kernel
 2    1 0xffffffff81b11000 11fd9f   radeonkms.ko
 3    1 0xffffffff81c31000 538b1    drm2.ko
 4    2 0xffffffff81c85000 db35     agp.ko
 5    4 0xffffffff81c93000 271b     iicbus.ko
 6    1 0xffffffff81c96000 1c66     iic.ko
 7    1 0xffffffff81c98000 1e69     iicbb.ko
```
Sure appears available to me.

OH well. Guess the radeon() chipset isn't yet available, as advertized.
What a *huge* waste of time. 

--Chris


----------



## tingo (Dec 16, 2016)

Well, if you have (U)EFI as bootmode, you could try to play with the `gop` and `uga` commands in the boot loader. If they work, at least you can have your console in a (higher) resolution.
Yes, I know, it's not much of a consolation prize.


----------



## Chris_H (Dec 19, 2016)

tingo
Thanks for the pointers. Much appreciated!
But yea. Not going to give much more than VESA. 
It's weird that the radeon() driver claims  KAVERI support, but fails in the end.
Oh well. Guess I'll be shopping for an nVidia card.

Thanks again, tingo !

--Chris


----------



## scottro (Dec 19, 2016)

As you probably know, there's lots of sub $40.00 NVidia cards that will work just fine. If you're not a gamer, even those $40 cards will work just fine to, for example, play videos that your monitor accepts, easily.  The only thing you might have to watch for is that some, such as say, the GT210, will require the legacy nvidia-340 driver, so if you're buying a new one, just make sure it takes one of the newer drivers.  (The logic being that something using the nvidia-340 will have support end before the newer card.)
Recently, pricing on Newegg, I got a GT210 (by mistake, hence my knowledge about the legacy driver) for about $33 USD and then a GT710 (takes the latest driver) for $39.00 plus $3 shipping.   

As I said, you probably know this, but in case you went to Newegg or Amazon and typed in NVidia, the ones that first pop up are usually in the high $200 range.


----------

