Created attachment 111507 [details] Xorg log, dmesg | fgrep radeon, and glxinfo with LIBGL_DEBUG set I have a PowerPC G5 (ppc64 with 64-bit userland) with working KMS using a (ostensibly x86) Radeon HD4650. KMS is enabled and the kernel and Xorg parts of KMS/DRI2 appear to be attaching correctly. After X starts, running LIBGL_DEBUG=verbose glxinfo outputs the following: libGL: OpenDriver: trying /usr/lib64/dri/tls/r600_dri.so libGL: OpenDriver: trying /usr/lib64/dri/r600_dri.so libGL: driver does not expose __driDriverGetExtensions_r600(): /usr/lib64/dri/r600_dri.so: undefined symbol: __driDriverGetExtensions_r600 libGL: Can't open configuration file /root/.drirc: No such file or directory. libGL: Can't open configuration file /root/.drirc: No such file or directory. libGL error: failed to load driver: r600 libGL: OpenDriver: trying /usr/lib64/dri/tls/swrast_dri.so libGL: OpenDriver: trying /usr/lib64/dri/swrast_dri.so libGL: driver does not expose __driDriverGetExtensions_swrast(): /usr/lib64/dri/swrast_dri.so: undefined symbol: __driDriverGetExtensions_swrast libGL: Can't open configuration file /root/.drirc: No such file or directory. libGL: Can't open configuration file /root/.drirc: No such file or directory. libGL error: failed to load driver: swrast Error: couldn't find RGB GLX visual or fbconfig Error: couldn't find RGB GLX visual or fbconfig I am under the impression that the undefined symbol should not be causing problems after reading this bug: https://bugs.freedesktop.org/show_bug.cgi?id=72198 Nonetheless, glxgears will not run, and in general it appears mesa acceleration is not occurring. Mesa was compiled with support for llvm and the r600 generator. I am attaching various logs. I would be glad to test patches or hacks :)
See bug 71789.
It appears that the same issue as mentioned by Michael Danzer is affecting Linux. Setting pixel depth to 16 does resolve the issue, and properly reports Gallium support. I am testing the patches now. Is there any plan to integrate these patches? What work needs to be done?
Patches do not work for r600 as they contain r300 specific code
Hello, I've successfully install Debian Jessie on iMac G5 revC (iSight) Facing same issue, I've followed these instructions here in order to downgrad mesa packages : http://ppcluddite.blogspot.fr/2012/03/installing-debian-linux-on-ppc-part-iv.html#graphics uname -a : Linux iMac17c 3.16.0-4-powerpc64 #1 SMP Debian 3.16.7-ckt9-3~deb8u1 (2015-04-24) ppc64 GNU/Linux 0000:04:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV380 [Radeon X600] (prog-if 00 [VGA controller]) Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] RV380 [Radeon X600] Flags: bus master, fast devsel, latency 0, IRQ 25 Memory at 98000000 (32-bit, prefetchable) [size=128M] I/O ports at 0400 [size=256] Memory at 90000000 (32-bit, non-prefetchable) [size=64K] Expansion ROM at 90020000 [size=128K] Capabilities: [50] Power Management version 2 Capabilities: [58] Express Endpoint, MSI 00 Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit+ Capabilities: [100] Advanced Error Reporting Kernel driver in use: radeon Workaround : 1) Jessie fresh install graphics results (no firmware non-free installed), able to log in graphic session : LIBGL_DEBUG=verbose glxinfo | grep render libGL: screen 0 does not appear to be DRI3 capable libGL: screen 0 does not appear to be DRI2 capable libGL: OpenDriver: trying /usr/lib/powerpc-linux-gnu/dri/tls/swrast_dri.so libGL: OpenDriver: trying /usr/lib/powerpc-linux-gnu/dri/swrast_dri.so libGL: Can't open configuration file /home/kristof/.drirc: No such file or directory. direct rendering: Yes GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, GLX_MESA_query_renderer, GLX_OML_swap_method, GLX_SGIS_multisample, OpenGL renderer string: Software Rasterizer GL_NV_blend_square, GL_NV_conditional_render, GL_NV_depth_clamp, dmesg | egrep 'drm|radeon' complains about microcode : [ 13.715213] [drm] Loading R300 Microcode [ 13.732935] radeon 0000:04:00.0: firmware: failed to load radeon/R300_cp.bin (-2) [ 13.732962] [drm:r100_cp_init] *ERROR* Failed to load firmware! [ 13.732971] radeon 0000:04:00.0: failed initializing CP (-2). [ 13.732978] radeon 0000:04:00.0: Disabling GPU acceleration 2) then install it with non-free firmware : dmesg | egrep 'drm|radeon' happy because it find the microcode :-) [ 13.469992] [drm] radeon: irq initialized. [ 13.470031] [drm] Loading R300 Microcode [ 13.560891] radeon 0000:04:00.0: firmware: direct-loading firmware radeon/R300_cp.bin [ 13.561237] [drm] radeon: ring at 0x0000000078010000 but it breaks something :-( LIBGL_DEBUG=verbose glxinfo | grep render libGL: screen 0 does not appear to be DRI3 capable libGL: pci id for fd 4: 1002:5b62, driver r300 libGL: OpenDriver: trying /usr/lib/powerpc-linux-gnu/dri/tls/r300_dri.so libGL: OpenDriver: trying /usr/lib/powerpc-linux-gnu/dri/r300_dri.so libGL: Can't open configuration file /home/kristof/.drirc: No such file or directory. libGL: Can't open configuration file /home/kristof/.drirc: No such file or directory. libGL error: No matching fbConfigs or visuals found libGL error: failed to load driver: r300 libGL: OpenDriver: trying /usr/lib/powerpc-linux-gnu/dri/tls/swrast_dri.so libGL: OpenDriver: trying /usr/lib/powerpc-linux-gnu/dri/swrast_dri.so libGL: Can't open configuration file /home/kristof/.drirc: No such file or directory. libGL error: No matching fbConfigs or visuals found libGL error: failed to load driver: swrast Error: couldn't find RGB GLX visual or fbconfig 3) according to the procedure provides in the link above, I've applied patch : LIBGL_DEBUG=verbose glxinfo | grep render libGL: screen 0 does not appear to be DRI3 capable libGL: pci id for fd 4: 1002:5b62, driver r300 libGL: OpenDriver: trying /usr/lib/powerpc-linux-gnu/dri/tls/r300_dri.so libGL: OpenDriver: trying /usr/lib/powerpc-linux-gnu/dri/r300_dri.so libGL: driver does not expose __driDriverGetExtensions_r300(): /usr/lib/powerpc-linux-gnu/dri/r300_dri.so: undefined symbol: __driDriverGetExtensions_r300 libGL: Can't open configuration file /home/kristof/.drirc: No such file or directory. libGL: Can't open configuration file /home/kristof/.drirc: No such file or directory. direct rendering: Yes GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, OpenGL renderer string: Gallium 0.4 on ATI RV370 GL_NV_blend_square, GL_NV_conditional_render, GL_NV_fog_distance, GL_OES_depth_texture, GL_OES_element_index_uint, GL_OES_fbo_render_mipmap, dmesg | egrep 'drm|radeon' [ 13.085940] [drm] Initialized drm 1.1.0 20060810 [ 13.518475] [drm] radeon kernel modesetting enabled. [ 13.518613] fb: switching to radeondrmfb from OFfb ATY,Aphrod [ 13.542630] fb: switching to radeondrmfb from OFfb ATY,Aphrod [ 13.543441] radeon 0000:04:00.0: enabling device (0006 -> 0007) [ 13.544541] [drm] initializing kernel modesetting (RV380 0x1002:0x5B62 0x1002:0x5B62). [ 13.544639] radeon 0000:04:00.0: Using 64-bit DMA iommu bypass [ 13.544658] [drm] register mmio base: 0x90000000 [ 13.544663] [drm] register mmio size: 65536 [ 13.544841] radeon 0000:04:00.0: Invalid ROM contents [ 13.544868] radeon 0000:04:00.0: Invalid ROM contents [ 13.544881] [drm:radeon_get_bios] *ERROR* Unable to locate a BIOS ROM [ 13.544972] [drm] Using device-tree clock info [ 13.545019] [drm] Generation 2 PCI interface, using max accessible memory [ 13.545031] radeon 0000:04:00.0: VRAM: 128M 0x0000000098000000 - 0x000000009FFFFFFF (128M used) [ 13.545040] radeon 0000:04:00.0: GTT: 512M 0x0000000078000000 - 0x0000000097FFFFFF [ 13.549473] [drm] Detected VRAM RAM=128M, BAR=128M [ 13.549489] [drm] RAM width 128bits DDR [ 13.549842] [drm] radeon: 128M of VRAM memory ready [ 13.549850] [drm] radeon: 512M of GTT memory ready. [ 13.549915] [drm] GART: num cpu pages 8192, num gpu pages 131072 [ 13.550164] [drm] radeon: 1 quad pipes, 1 Z pipes initialized. [ 13.579036] [drm] PCIE GART of 512M enabled (table at 0x0000000098040000). [ 13.582052] radeon 0000:04:00.0: WB enabled [ 13.582150] radeon 0000:04:00.0: fence driver on ring 0 use gpu addr 0x0000000078000000 and cpu addr 0xc00000004d1f0000 [ 13.583048] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [ 13.583066] [drm] Driver supports precise vblank timestamp query. [ 13.583081] radeon 0000:04:00.0: radeon: MSI limited to 32-bit [ 13.583135] [drm] radeon: irq initialized. [ 13.583180] [drm] Loading R300 Microcode [ 13.655061] radeon 0000:04:00.0: firmware: direct-loading firmware radeon/R300_cp.bin [ 13.655383] [drm] radeon: ring at 0x0000000078010000 [ 13.655421] [drm] ring test succeeded in 0 usecs [ 13.655637] [drm] ib test succeeded in 0 usecs [ 13.689091] [drm] Connector Table: 8 (imac g5 isight) [ 13.689133] [drm] No TMDS info found in BIOS [ 13.689285] [drm] No TV DAC info found in BIOS [ 13.689444] [drm] Radeon Display Connectors [ 13.689450] [drm] Connector 0: [ 13.689454] [drm] DVI-D-1 [ 13.689459] [drm] HPD1 [ 13.689465] [drm] DDC: 0x68 0x68 0x68 0x68 0x68 0x68 0x68 0x68 [ 13.689470] [drm] Encoders: [ 13.689475] [drm] DFP1: INTERNAL_TMDS1 [ 13.689479] [drm] Connector 1: [ 13.689483] [drm] VGA-1 [ 13.689489] [drm] DDC: 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64 [ 13.689494] [drm] Encoders: [ 13.689498] [drm] CRT2: INTERNAL_DAC2 [ 13.689503] [drm] Connector 2: [ 13.689507] [drm] SVIDEO-1 [ 13.689511] [drm] Encoders: [ 13.689515] [drm] TV1: INTERNAL_DAC2 [ 13.888366] [drm] fb mappable at 0x980C0000 [ 13.888385] [drm] vram apper at 0x98000000 [ 13.888390] [drm] size 5242880 [ 13.888395] [drm] fb depth is 24 [ 13.888399] [drm] pitch is 5760 [ 13.955320] radeon 0000:04:00.0: fb0: radeondrmfb frame buffer device [ 13.955425] radeon 0000:04:00.0: registered panic notifier [ 13.984018] [drm] Initialized radeon 2.39.0 20080528 for 0000:04:00.0 on minor 0 PS : can someone tells me if it this an "abnornal" things in the last dmesg | egrep 'drm|radeon' please ? Thanks and have a nice day Kristof
(In reply to kristof from comment #4) > PS : can someone tells me if it this an "abnornal" things in the last dmesg > | egrep 'drm|radeon' please ? > > Thanks and have a nice day The kernel side looks fine. It appears to be a problem with the usermode stack. You might be able to work around it by disabling acceleration. Try adding: Option "NoAccel" "True" to the device section of your xorg config. I'm not really sure how well the usermode stuff works on BE systems.
(In reply to Alex Deucher from comment #5) > (In reply to kristof from comment #4) > > PS : can someone tells me if it this an "abnornal" things in the last dmesg > > | egrep 'drm|radeon' please ? > > > > Thanks and have a nice day > > The kernel side looks fine. It appears to be a problem with the usermode > stack. You might be able to work around it by disabling acceleration. Try > adding: > Option "NoAccel" "True" > to the device section of your xorg config. > > I'm not really sure how well the usermode stuff works on BE systems. Hi Alex and thanks for response, Forgot to mention that I don't use : * xorg.conf * no options in my yaboot.conf * all the OS installation stand by default, just patch Mesa-lib In this case, should I generate a xorg.conf then use it ? Regards, Kristof
All it needs to contain is the following. Section "Device" Identifier "Radeon" Driver "radeon" Option "NoAccel" "true" EndSection
(In reply to Alex Deucher from comment #7) > All it needs to contain is the following. > > Section "Device" > Identifier "Radeon" > Driver "radeon" > Option "NoAccel" "true" > EndSection Hi ALex, Following your advise, I've putted it in a xorg.conf Consequence : system disabled Gallium then returns on Software Rasterizer methode. It results that it improves perf, glxgears (without vblank=0 option set) run now 102 fps (60 before) Regards, Kristof
Hi Alex, Workaround progress : delete xorg.conf; Why ? According radeon man page : http://manpages.debian.org/cgi-bin/man.cgi?sektion=4&query=radeon&apropos=0&manpath=sid&locale=en Option "AccelMethod" "string" Chooses between available acceleration architectures. Valid values are EXA (for pre-TAHITI GPUs) and glamor (for R300 or higher). The default is glamor as of TAHITI, otherwise EXA. By checking my Xorg.0.log, I realized that "EXA" submodule is loaded instead "glamor" ... (noticed in my workaround firmware non-free installed + mesalib not patched) Since my gpu is a R300 (RV380-X600) family submodule should be "glamor", right or mistake from me due to misunderstanding something ? Regards and have a nice day, Kristof
(In reply to kristof from comment #9) > By checking my Xorg.0.log, I realized that "EXA" submodule is loaded instead > "glamor" ... (noticed in my workaround firmware non-free installed + mesalib > not patched) > Since my gpu is a R300 (RV380-X600) family submodule should be "glamor", > right or mistake from me due to misunderstanding something ? All pre-SI cards use EXA by default. I'm not even sure the r300 cards are capable of using glamor anymore.
I have installed the test suite piglit on my iBook G4 and have started running test my Radeon GPU (r300). I am willing to share the tests results if anyone thinks it will help with this bug.
I can confirm that the driver fails with no error here as well, on an e5500-based ppc64 system. Everything works (with acceleration) when depth is set to 16 bits. I know a handful of other people who have had the same problem on 32-bit ppc hardware (modern, non-macppc), so we can be reasonably confident that this is a broad ppc-specific issue (possibly be/byte-swapping related?)
I believe that all r600 issues have now been solved (thx Oded!). The remaining of the comments relates to r300 (and thus is a dup of #71789). I believe this bug can be closed.
Resolving per comment 13, thanks for the reminder.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.