I think I'm using radeon instead of amdgpu? How do I change?

41,677

Solution 1

The new way of doing this does not involve blacklisting any modules. You only have to send two parameters to the kernel:

For Caribbean Islands GPUs

radeon.cik_support=0 amdgpu.cik_support=1

For Sea Islands GPUs

radeon.si_support=0 amdgpu.si_support=1

I personally like to add it as default, so I edit /etc/default/grub, and then I add the kernel parameters to GRUB_CMDLINE_LINUX_DEFAULT, like this:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="radeon.cik_support=0 amdgpu.cik_support=1 radeon.si_support=0 amdgpu.si_support=1"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

Remember to run update-grub and reboot the system so the changes take effect.

I can confirm this works for a 390x running Ubuntu since 17.10. Also tried 18.04, 18.10, 19.04, 19.10, 20.04 since I keep using it as they get released. (I believe you can also do the same on 17.04)

Alternatively, if you want to enable the new Dynamic Power Management and Display Code experimental support, you need to also add the following lines

amdgpu.dc=1
amdgpu.dpm=1

For more information regarding DC code check this link: https://wiki.archlinux.org/index.php/AMDGPU#AMD_DC

From my personal experience with a 390x card, DC code was unstable and I had to disable it to get an stable kernel. I haven't retried to enable it in the last couple of months so I don't know if this bug in DC was fixed.

Solution 2

I was able to install amd open source (radeon) drivers with these steps

- update kernel above 4.16:

- add the following kernel parameters, separator is space:

radeon.cik_support=0
radeon.si_support=0
amdgpu.si_support=1
amdgpu.cik_support=1
amdgpu.dc=1
amdgpu.dpm=1

- set the power state of the gpu to performance:

https://github.com/illwieckz/dpm-query/

- install vulkan drivers:

https://linuxconfig.org/install-and-test-vulkan-on-linux

- check driver with:

lspci -nnk | grep -i vga -A3 | grep 'in use'

- check openGL with:

glxinfo | grep "OpenGL version    

Solution 3

Blacklisting it did the trick. I'm now running AMDGPU, at least until pro becomes available. I'll list the steps as the answer in case anyone else comes looking for answers.

Blacklisting built in kernel modules is done at startup, so grub does the work. Edit

/ect/default/grub

with the editor of your choice and add

modprobe.blacklist=radeon

in to GRUB_CMDLINE_LINUX_DEFAULT right next to anything that might already be there, such as quiet splash. Then, save the changes and update grub.

sudo update-grub2

Reboot and you should be using AMDGPU instead of radeon. I should stress making sure your card is compatible, else blacklisting your gfx module is likely to cause problems.

Share:
41,677

Related videos on Youtube

Eragon615
Author by

Eragon615

I'm a new user of Linux who loves the Ubuntu OS and hoping to someday be a power user. I install dual boot Ubuntu on every machine I can.

Updated on September 18, 2022

Comments

  • Eragon615
    Eragon615 almost 2 years

    So I'm on 17.04 and I know that amdgpu-pro isn't available on the 4.10 kernel. But I was curious about what I was running, so I used

    lspci -k | grep -EA3 'VGA|3D|Display' 
    

    and it returned

    01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii XT / Grenada XT [Radeon R9 290X/390X]
    Subsystem: ASUSTeK Computer Inc. R9 290X DirectCU II OC
    Kernel driver in use: radeon
    Kernel modules: radeon, amdgpu
    

    So does that mean I have amdgpu but radeon is in use? I can't seem to find info on how to switch between drivers. Other related questions I have is does anyone know about oibaf as an alternative, or can anyone tell me if it's worth the effort to role back kernels? I primarily use this as a gaming rig, and I'm getting terrible compatibility out of radeon. I'd rather not have to go back to 16.10 just because amd seems to have no love for us linux users.

    • ravery
      ravery about 7 years
      you have both drivers but radeon is in use because you have a radeon R9 290x card (code name hawaii). the issue is likely the 4.10 kernel, or rather using them with 4.10... I would try downloading source (from ubuntu or amd) and compile it to yourself. the fglrx kernel module package is another option to try.
    • ravery
      ravery about 7 years
      PS if the amdgpu driver supports your card you can try it by blacklisting the radeon driver.
  • Tooniis
    Tooniis about 6 years
    Will this work if I use rEFInd instead of grub?
  • Emilio
    Emilio about 6 years
    @Tooniis, Sending the kernel parameters will work no matter the boot manager you use. I don't use rEFInd, so I don't know where to add the parameters. That's something you will have to find by yourself.
  • satur9nine
    satur9nine about 6 years
    If you have a sea island variety then use amdgpu.si_support=1 radeon.si_support=0 instead.
  • Emilio
    Emilio about 6 years
    Thank you @satur9nine, I totally forgot about those when I answered, so I updated the answer to include them.
  • Arctic Kona
    Arctic Kona over 4 years
    My GPU says "Arctic Islands". What should I say to my kernel?
  • Emilio
    Emilio over 4 years
    AFAIK you don't have to do any of these. amdgpu driver will be loaded by default. I think radeon driver does not support your card so it won't load at all.