AMD 6700xt radeon_hd driver : connector_probe, Segment violation

Hello.
I’ve compiled the radeon_hd driver from latest source.
I’ve unset the if 0 to add my 6700xt to be recognized.
In connector_probe (accelerants/radeon_hd) after Path 4 (see below), it failed (Segment violation).
Before digging into the driver code, is it a know issue with this driver, or it’s just not complete yet … if it’s the case, where did I have to look to fix this bug and be able to load the driver ?

Thanks.

3 Likes

With the log it’s better :slight_smile:

KERN: radeon_hd: card(0): radeon_hd_uninit called
KERN: radeon_hd: device_open: open(name = graphics/radeon_hd_030000)
KERN: radeon_hd: card(0): radeon_hd_init: called
KERN: radeon_hd: radeon_hd_init: card(0): Radeon Navi 1002:73DF
KERN: radeon_hd: radeon_hd_init: shrinking frame buffer to PCI bar…
KERN: radeon_hd: radeon_hd_init: mapping a frame buffer of 256MB out of 4194303MB video ram
KERN: radeon_hd: framebuffer paddr: 0xd0000000
KERN: assuming memory type 20000000 for overlapping 0xd0000000, 0x10000000 area 25368 from existing 0xd0000000, 0x1fa4000 area 142
KERN: radeon_hd: frambuffer vaddr: 0xffffffff96000000
KERN: radeon_hd: frambuffer size: 0x10000000
KERN: radeon_hd: card(0): radeon_hd_getbios: called
KERN: radeon_hd: mapAtomBIOSACPI: seeking AtomBIOS from ACPI
KERN: radeon_hd: radeon_hd_getbios: AtomBIOS not found using active method 0 at 0x0
KERN: radeon_hd: mapAtomBIOS: seeking AtomBIOS @ 0xD0000000 [size: 0x40000]
KERN: assuming memory type 20000000 for overlapping 0xd0000000, 0x40000 area 25561 from existing 0xd0000000, 0x1fa4000 area 142
KERN: radeon_hd: mapAtomBIOS: BIOS signature incorrect @ 0xD0000000 (FFFF)
KERN: radeon_hd: radeon_hd_getbios: AtomBIOS not found using active method 1 at 0xD0000000
KERN: radeon_hd: radeon_hd_getbios: PCI ROM decode enabled
KERN: radeon_hd: mapAtomBIOS: seeking AtomBIOS @ 0xFE9E0000 [size: 0x20000]
KERN: radeon_hd: mapAtomBIOS: AtomBIOS verified and locked (121856)
KERN: radeon_hd: radeon_hd_getbios: AtomBIOS found using active method 2 at 0xFE9E0000
KERN: radeon_hd: card(0): radeon_hd_init found VESA EDID information.
KERN: radeon_hd: card(0): radeon_hd_init completed successfully!
KERN: radeon_hd: card(0): GPU thermal status: 0C
KERN: radeon_hd: device_ioctl: accelerant: radeon_hd.accelerant
KERN: radeon_hd: radeon_init_accelerant enter
KERN: radeon_hd: radeon_dump_bios: Dumping AtomBIOS as ATOM_DEBUG is set…
KERN: radeon_hd: radeon_dump_bios: AtomBIOS dumped to /boot/system/cache/tmp/radeon_hd_bios_1002_73df_0.bin
KERN: radeon_hd: radeon_init_bios: AtomBIOS is already posted
KERN: radeon_hd: radeon_gpu_probe: table 3.4
KERN: radeon_hd: gpio_general_populate: general GPIO @ 0, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 1, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 2, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 3, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 4, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 5, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 6, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 7, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 8, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 9, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 10, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 11, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 12, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 13, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 14, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 15, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 16, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 17, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 18, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 19, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 20, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 21, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 22, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 23, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 24, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_general_populate: general GPIO @ 25, valid: true, hwPin: 0x0
KERN: radeon_hd: gpio_i2c_populate: could’t read GPIO_I2C_Info table from AtomBIOS index 10!
KERN: radeon_hd: connector_probe: found 136 potential display paths.
KERN: radeon_hd: connector_probe: Path #2: skipping unknown connector.
KERN: radeon_hd: connector_probe: Path #3: Unknown connector object ID!
KERN: radeon_hd: connector_probe: Path #4: Unknown connector object ID!
KERN: debug_server: Thread 228 entered the debugger: Segment violation
KERN: stack trace, current PC 0xb040c0ae56 </boot/system/add-ons/accelerants/radeon_hd.accelerant> _Z15connector_probev + 0x126:
KERN: (0x7feca4f91d00) 0xb040c076c6 </boot/system/add-ons/accelerants/radeon_hd.accelerant> radeon_init_accelerant + 0x266
KERN: (0x7feca4f91d60) 0xba721dbaec </boot/system/servers/app_server> _ZN21AccelerantHWInterface15_OpenAccelerantEi + 0x1bc
KERN: (0x7feca4f92280) 0xba721dbbff </boot/system/servers/app_server> _ZN21AccelerantHWInterface10InitializeEv + 0x5f
KERN: (0x7feca4f922a0) 0xba721974c8 </boot/system/servers/app_server> _ZN13ScreenManager15_AddHWInterfaceEP11HWInterface + 0x58
KERN: (0x7feca4f922e0) 0xba72197829 </boot/system/servers/app_server> _ZN13ScreenManagerC1Ev + 0x69
KERN: (0x7feca4f92360) 0xba7217a300 </boot/system/servers/app_server> _ZN9AppServerC2EPi + 0x100
KERN: (0x7feca4f923a0) 0xba72178df0 </boot/system/servers/app_server> main + 0x30
KERN: (0x7feca4f923d0) 0xba721795fe </boot/system/servers/app_server> _start + 0x3e
KERN: (0x7feca4f92400) 0xd660d683d5 </boot/system/runtime_loader> runtime_loader + 0x115

Probably ticket #17377

Hi there, thes “#if 0” were there on purpose because the driver did not work correctly for some cards and or cards and hardware combinations, so in that sense it is known indeed. But the specific issues may not be written down. So you will indeed need to do some debugging. :slight_smile:

If I remember correctly, we tried adding some new cards to the driver without adjusting anycode, it didn’t work, so we kept them disabled until someone has time to investigate the problem.

You will have to find what changed for these newer cards and why the driver doesn’t handle them correctly.

FYI I tried Haiku on MiniPc with 8745HS/780M, and it’s not Radeon driver loaded. Maximum resolution is FHD.

Yes it’s the one. Thanks.
I will investigate to see if I can fix it.

It’s what I’ve expected, but if you don’t try, you don’t know :slight_smile:
I’ve already investigated the Linux driver, we will see next WE if I can fix it :slight_smile:

1 Like