graphics - Radeon driver: Can't run without "nomodeset" on MacPro6,1 with two AMD R9 280X Tahiti video cards - Ask Ubuntu


ubuntu gurus,

i have rare configuration of 2016 macpro6,1 2 amd radeon r9 280x tahiti video cards, , 3 4k monitors connected via displayport / thunderbolt ports.

the system installs successfully, both livecd (for install) , installed system require "nomodeset" option, otherwise boot process hangs black screen.

with "nomodeset" system detects , works on 1 monitor, connected via hdmi. monitors connected via displayports remain blank.

i tried different versions of ubuntu (14.04.4, 14.04.5, 15.10, 16.04, 16.04.1, 16.10), have problem, , several versions of linux mint, same result. tried newer upstream kernels (4.6, 4.7.3, 4.8) on ubuntu 16.04.1, same result.

but found 1 distro of linux, called kaos (https://kaosx.us/) works ok on hardware. after butting, detects , turns on 3 monitors connected via display ports, , presents normal wide kde desktop on 3 monitors.

i compared journal entries ubuntu , kaos boots, , seems kaos detects , activates both amd cards, , continues boot normally. uses open source "radeon" driver.

ubuntu, on other hand (all versions , kernels listed above), same "radeon" driver detects first card, , fails on second card, causes immediate shutdown of "radeon" driver, , boot process hangs after that.

here's relevant messages journals. full journal logs available in attachments.

kaos:

first card:

[drm] radeon kernel modesetting enabled. [drm] initializing kernel modesetting (tahiti 0x1002:0x6798 0x106b:0x0128 0x00). [drm] register mmio base: 0xa0700000 [drm] register mmio size: 262144 [drm] acpi vfct contains bios 02:00.0 1002:6798, size 65536 [drm:radeon_get_bios] atombios detected atom bios: tahiti [drm] loading tahiti microcode [drm] initialized radeon 2.45.0 20080528 0000:02:00.0 on minor 0 fb: switching radeondrmfb efi vga ..... 

second card:

[drm] acpi vfct contains bios 02:00.0 1002:6798, size 65536 [drm] acpi vfct table not card radeon 0000:06:00.0: invalid pci rom header signature: expecting 0xaa55, got 0x0000 radeon 0000:06:00.0: invalid pci rom header signature: expecting 0xaa55, got 0x0000 [drm:radeon_get_bios] atombios detected atom bios: tahiti [drm] loading tahiti microcode [drm] radeon: dpm initialized [drm] initialized radeon 2.45.0 20080528 0000:06:00.0 on minor 1 

(notice these "invalid pci rom header signature" errors, card initialized despite them, , kaos developers confirmed, these errors normal ati cards, , harmless)

ubuntu:

first card:

[drm] radeon kernel modesetting enabled. [drm] initializing kernel modesetting (tahiti 0x1002:0x6798 0x106b:0x0128). [drm] register mmio base: 0xa0700000 [drm] register mmio size: 262144 [drm] acpi vfct contains bios 02:00.0 1002:6798, size 65536 [drm:radeon_get_bios] atombios detected atom bios: tahiti [drm] loading tahiti microcode [drm] radeon: dpm initialized [drm] initialized radeon 2.43.0 20080528 0000:02:00.0 on minor 0 fb: switching radeondrmfb efi vga 

second card:

[drm] initializing kernel modesetting (tahiti 0x1002:0x6798 0x106b:0x0127). [drm] register mmio base: 0xa0600000 [drm] register mmio size: 262144 [drm] acpi vfct contains bios 02:00.0 1002:6798, size 65536 [drm] acpi vfct table not card radeon 0000:06:00.0: invalid rom contents radeon 0000:06:00.0: invalid rom contents [drm:radeon_get_bios [radeon]] *error* unable locate bios rom radeon 0000:06:00.0: fatal error during gpu init [drm] radeon: finishing device. radeon: probe of 0000:06:00.0 failed error -22 

notice same errors "invalid rom contents" (slightly different messages, have checked in sources mean same - unexpected rom signature) after these errors radeon/drm driver fails error unable locate bios rom, , "finishing device."

kaos uses newer kernel 4.7.3-1, tried 4.6, 4.7.3, 4.8 on ubuntu, without success.

another thing noticed journals: on kaos udev rules loaded before kernel modesetting, on ubuntu - after modesetting. can reason?

graphics cards info:

lspci | grep vga 02:00.0 vga compatible controller: advanced micro devices, inc. [amd/ati] tahiti xt [radeon hd 7970/8970 oem / r9 280x] 06:00.0 vga compatible controller: advanced micro devices, inc. [amd/ati] tahiti xt [radeon hd 7970/8970 oem / r9 280x] 

full "lspci -vvv" , "lshw" outputs attached completeness.

i need make workstation work under linux, don't want settle macos.

if competent have @ , give suggestions, i'd appreciate lot.

thanks, heigh

update of 08-nov-2016:

hi nick,

thank reply, try radeon.pm=0 option.

but have found workaround or solution worked me, , may work you.

the system needs booted systemd-boot bootloader (or perhaps other supporting uefi boot)

when boot ubuntu on macpro standard, installed during installation grub2, radeon driver would't detect external displays connected via display ports.

but when boot system using systemd-boot installed arch linux (or kaos), detects displays normally, , works correctly, supporting external displays expected.

i think related aspects of hardware not being exposed in bios boot mode, , exposed in efi/uefi boot mode.

preferred solution working radeon driver in bios mode if possible, or, if not possible, meaningful message in system journal explaining features (e.g. external monitors via display port) not supported unless system booted in efi/uefi mode.

i submitted bug radeon bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98523

hopefully, fixed work out of box @ point.

thank you, heigh

one issue i've seen reported radeon power management (you can turn off in grub radeon.pm=0) apparently shuts down 2nd gpu on boot.

i'm running basic radeon drivers 2 d700. works 1 displayport display.

i'm trying 2 d700 work multiple displays, no luck far.


Comments

Popular posts from this blog

download - Firefox cannot save files (most of the time), how to solve? - Super User

windows - "-2146893807 NTE_NOT_FOUND" when repair certificate store - Super User

sql server - "Configuration file does not exist", Event ID 274 - Super User