LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 08-13-2018, 12:15 PM   #1
bandrami
LQ Newbie
 
Registered: Nov 2013
Location: Mumbai
Distribution: Slackware, GUIX, NixOS
Posts: 18

Rep: Reputation: Disabled
AMDGPU RAVEN screen freeze on switch from EFIFB to AMDGPUDRMFB


So I got a new Dell Inspiron 13 which has AMD's Vega 10 RAVEN graphics. I wanted to leave my success breadcrumbs for anybody coming after me and also solicit advice on where I'm stuck.

1. Initial boot, 14.2:

Booting at all requires the commandline "amdiommu=on ivrs_ioapic[4]=00:14.0 ivrs_ioapic[5]=00:00.2" This will boot and go to a black screen.

When I add "acpi_backlight=vendor nomodeset vga=normal", it boots to runlevel 3 fine, dropping EFIFB when the kernel takes over from ELILO. Obviously, no /dev/dri, no /sys/class/drm. X won't run, even on the VESA driver.

2. Updated to kernel 4.18, firmware from -current:

Since Linus was so kind as to release this today, I built Linux 4.18 and installed it. The first boot kvetched about bad firmware and not finding a BIOS, so I installed the kernel-firmware package from -current.

This worked fairly well. If I boot with the same command line as above (for those following along, that's "amdiommu=on ivrs_ioapic[4]=00:14.0 ivrs_ioapic[5]=00:00.2 acpi_backlight=vendor nomodeset vga=normal"), I get to runlevel 3, keeping the EFIFB the whole time (this was counterintuitive at first until I remembered the OS "thinks" the EFIFB is just a console). I can even run X on xf86-video-fbdev, with 1920x1080 resolution.

In theory, this should be fine and if I can't get any farther I'll still be happy with the laptop. However, I would like to get the actual AMDGPU FB working.

3. Updated libdrm

So now I've built the libdrm package from -current (2.4.93) and booted without nomodeset. This seems to boot well, except that when the screen message reaches

Quote:
fb: switching to amdgpudrmfb from EFI VGA
the display just freezes. It continues to boot, and restarts cleanly with the 3-finger salute.

Viewing the logs on the next boot with nomodeset, I can even see:

Quote:
Console: switching to colour dummy device 80x25
[drm] initializing kernel modesetting (RAVEN 0x1002:0x15DD 0x1028:0x0884 0xC3).
[drm] register mmio base: 0xE0800000
[drm] register mmio size: 524288
[drm] probing gen 2 caps for device 1022:15db = 700d03/e
[drm] probing mlw for device 1022:15db = 700d03
[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 <powerplay>
[drm] add ip block number 5 <gfx_v9_0>
[drm] add ip block number 6 <sdma_v4_0>
[drm] add ip block number 7 <vcn_v1_0>
[drm] VCN decode is enabled in VM mode
[drm] VCN encode is enabled in VM mode
ATOM BIOS: 113-RAVEN-102
[drm] vm size is 262144 GB, 4 levels, block size is 9-bit, fragment size is 9-bit
amdgpu 0000:02:00.0: VRAM: 256M 0x000000F400000000 - 0x000000F40FFFFFFF (256M used)
amdgpu 0000:02:00.0: GTT: 1024M 0x000000F500000000 - 0x000000F53FFFFFFF
[drm] Detected VRAM RAM=256M, BAR=256M
[drm] RAM width 128bits DDR4
[TTM] Zone kernel: Available graphics memory: 5985902 kiB
[TTM] Zone dma32: Available graphics memory: 2097152 kiB
[TTM] Initializing pool allocator
[TTM] Initializing DMA pool allocator
[drm] amdgpu: 256M of VRAM memory ready
[drm] amdgpu: 3072M of GTT memory ready.
[drm] GART: num cpu pages 262144, num gpu pages 262144
[drm] PCIE GART of 1024M enabled (table at 0x000000F400900000).
[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[drm] Driver supports precise vblank timestamp query.
[drm] use_doorbell being set to: [true]
[drm] Found VCN firmware Version: 1.73 Family ID: 18
amdgpu: [powerplay] dpm has been enabled
[drm] VCN decode and encode initialized successfully.
amdgpu 0000:02:00.0: ring 0(gfx) uses VM inv eng 4 on hub 0
amdgpu 0000:02:00.0: ring 1(comp_1.0.0) uses VM inv eng 5 on hub 0
amdgpu 0000:02:00.0: ring 2(comp_1.1.0) uses VM inv eng 6 on hub 0
amdgpu 0000:02:00.0: ring 3(comp_1.2.0) uses VM inv eng 7 on hub 0
amdgpu 0000:02:00.0: ring 4(comp_1.3.0) uses VM inv eng 8 on hub 0
amdgpu 0000:02:00.0: ring 5(comp_1.0.1) uses VM inv eng 9 on hub 0
amdgpu 0000:02:00.0: ring 6(comp_1.1.1) uses VM inv eng 10 on hub 0
amdgpu 0000:02:00.0: ring 7(comp_1.2.1) uses VM inv eng 11 on hub 0
amdgpu 0000:02:00.0: ring 8(comp_1.3.1) uses VM inv eng 12 on hub 0
amdgpu 0000:02:00.0: ring 9(kiq_2.1.0) uses VM inv eng 13 on hub 0
amdgpu 0000:02:00.0: ring 10(sdma0) uses VM inv eng 4 on hub 1
amdgpu 0000:02:00.0: ring 11(vcn_dec) uses VM inv eng 5 on hub 1
amdgpu 0000:02:00.0: ring 12(vcn_enc0) uses VM inv eng 6 on hub 1
amdgpu 0000:02:00.0: ring 13(vcn_enc1) uses VM inv eng 7 on hub 1
[drm] Initialized amdgpu 3.26.0 20150101 for 0000:02:00.0 on minor 0
So, the DRM seems to think it's setting up a framebuffer, but it doesn't actually get it to the screen. I've tried this with and without acpi_backlight=vendor and it behaves exactly the same.

Am I missing something? Are there some other knobs I can tweak about getting the DRM to actually talk to the screen?

Last edited by bandrami; 08-13-2018 at 12:20 PM.
 
Old 08-14-2018, 08:34 AM   #2
dgrames
Member
 
Registered: Jul 2007
Distribution: Slackware
Posts: 152

Rep: Reputation: 50
From when I did this, you also need libclc, libedit, llvm, and mesa from current.
At that point my AMD card did ok.
 
Old 08-14-2018, 09:28 AM   #3
akimmet
Member
 
Registered: Jul 2018
Location: NW Ohio, USA
Distribution: Slackware64 -current
Posts: 62

Rep: Reputation: 62
Successfully upgrading every package required on 14.2 to support the latest AMD graphics is a daunting prospect. I have attempted it myself, and eventually gave up. However, to be honest though, I gave up pretty quickly once I found out how easy it was to get things up and running on -current instead.

Unless you absolutely must run 14.2, I highly recommend starting with -current. With -current almost everything is already in place for AMD VEGA graphics, the only missing piece is a newer kernel series.
 
1 members found this post helpful.
Old 09-11-2018, 06:17 PM   #4
bandrami
LQ Newbie
 
Registered: Nov 2013
Location: Mumbai
Distribution: Slackware, GUIX, NixOS
Posts: 18

Original Poster
Rep: Reputation: Disabled
Thanks both. I ended up giving up on 14.2 and just going to -current. Add a more recent kernel and it Just Works (tm)
 
1 members found this post helpful.
  


Reply

Tags
amdgpu-pro, framebuffer



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] fb: switching to amdgpudrmfb from efi vga solarfields Slackware 2 01-18-2018 11:50 PM
Why does my computer freeze when I go to switch users? flupu20 Linux - Software 1 01-05-2014 09:14 PM
DELL Latitude E5510 - not able to switch screen b/w monitor and laptop screen varunb Linux - Laptop and Netbook 2 04-09-2011 01:19 PM
Gigabit switch causing network to freeze. rnturn Linux - Networking 11 01-06-2011 04:02 PM
slackware 12 freeze on log out or switch to virtual terminal kentish_lad Slackware 8 10-16-2008 10:19 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 01:49 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration