NeddySeagoon wrote:Dr Croubie,
If you keep the emotion out your your posts the technical issues will be easier to comprehend for your helpers.
You can build the radeon driver in two ways. Build into your kernel on as a module.
When you build it into your kernel, the firmware must be in kernel too.
As a module, the firmware is loaded from /lib/firmware.
As you have had the firmware in the kernel, its probably still in /lib/firmware too.
The firmware is only required for hardware accelerated 3D. Even then, your user must be in the video group as they need access to
Code: Select all
$ ls -l /dev/dri/c*
crw-rw---- 1 root video 226, 0 Feb 16 2014 /dev/dri/card0
crw-rw---- 1 root video 226, 64 Feb 16 2014 /dev/dri/controlD64
to get access to the hardware.
As you have moved toward fglrx, you must have disabled radeon in the kernel, so you no longer get the free framebuffer console. Indeed, you may even be back to an 80x24 text console.
That can be ugly.
It would be useful to see your Xorg.0.log when you are using radeon and
Well, I'm really trying to be rational about this, trying things in a scientific change-one-variable-at-a-time way, I've been at this for 3 months or more and have come absolutely nowhere, I have the same performance as then, and nothing changes no matter what I do. It's especially frustrating trying to change something to test and it doesn't even change so I can't rip things apart to single-variables to change one at a time.
***
For the record, I'm still on radeonsi. I
tried fglrx and that won't even compile. It fails early on so here's the whole stack:
Code: Select all
# emerge -va ati-drivers
...
>>> Compiling source in /var/tmp/portage/x11-drivers/ati-drivers-15.1/work ...
* Preparing fglrx module
make -j10 HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- 'LDFLAGS=-m elf_x86_64' GCC_VER_MAJ=4 KVER=4.0.4-hardened-r2-linFW KDIR=/lib/modules/4.0.4-hardened-r2/build 'CFLAGS_MODULE+=-DMODULE -DATI -DFGL' CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space kmod_build
make -C /lib/modules/4.0.4-hardened-r2/build SUBDIRS=/var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x modules
make[1]: Entering directory '/usr/src/linux-4.0.4-hardened-r2'
CC [M] /var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
CC [M] /var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o
CC [M] /var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_agp.o
CC [M] /var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_debug.o
CC [M] /var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.o
CC [M] /var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_str.o
CC [M] /var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_io.o
CC [M] /var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_pci.o
CC [M] /var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl.o
CC [M] /var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_iommu.o
CC [M] /var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_wait.o
/var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_str.c: In function ‘KCL_STR_Strnicmp’:
/var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_str.c:172:5: error: implicit declaration of function ‘strnicmp’ [-Werror=implicit-function-declaration]
return strnicmp(s1, s2, count);
^
cc1: some warnings being treated as errors
scripts/Makefile.build:258: recipe for target '/var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_str.o' failed
make[2]: *** [/var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_str.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:839:20: warning: ‘KCL_ACPI_Slot_No_Hotplug’ defined but not used [-Wunused-function]
static acpi_status KCL_ACPI_Slot_No_Hotplug(KCL_ACPI_DevHandle handle, u32 lvl, void *data, void **rv)
^
/var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘kcl_mem_pat_setup’:
/var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:4501:9: error: implicit declaration of function ‘read_cr4’ [-Werror=implicit-function-declaration]
cr4 = read_cr4();
^
/var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:4502:9: error: implicit declaration of function ‘write_cr4’ [-Werror=implicit-function-declaration]
write_cr4(cr4 & ~X86_CR4_PGE);
^
/var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: At top level:
/var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:6426:12: warning: ‘KCL_fpu_save_init’ defined but not used [-Wunused-function]
static int KCL_fpu_save_init(struct task_struct *tsk)
^
cc1: some warnings being treated as errors
scripts/Makefile.build:258: recipe for target '/var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o' failed
make[2]: *** [/var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1
Makefile:1468: recipe for target '_module_/var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x' failed
make[1]: *** [_module_/var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x] Error 2
make[1]: Leaving directory '/usr/src/linux-4.0.4-hardened-r2'
Makefile:88: recipe for target 'kmod_build' failed
make: *** [kmod_build] Error 2
* ERROR: x11-drivers/ati-drivers-15.1::gentoo failed (compile phase):
* emake failed
I can't even see a valid error message in that, can anyone else?
There's only "cc1: some warnings being treated as errors", is that a reason to kill an ebuild?
Even worse, it gives me this:
Code: Select all
* Messages for package x11-drivers/ati-drivers-15.1:
* CONFIG_DRM must be disabled or compiled as a module and not loaded for direct
* rendering to work.
* Please check to make sure these options are set correctly.
* Failure to do so may cause unexpected problems.
* CONFIG_DRM must be disabled or compiled as a module and not loaded for direct
* rendering to work.
* Please check to make sure these options are set correctly.
* Failure to do so may cause unexpected problems.
* You have disabled xattr pax markings for portage.
* This will likely cause programs using ati-drivers provided
* libraries to be killed kernel.
a) yes, radeon drm is compiled as a module, that's why I took it out of /etc/conf.d/modules to stop it autoloading when I tried to get fglrx (it's back in now that I'm back to radeonsi). I can ignore that warning, that's fine.
but b) "
* You have disabled xattr pax markings for portage."
Um, no I haven't. In fact, xattr and pax_kernel are not only set in my make.conf, they're explicit by default in a hardened profile, I couldn't turn them off if I wanted to. So that error is just BS.
If anyone can fix that and get fglrx to compile, I'd still like to try it to compare. I'm not an OS fanboy, I don't mind binary-drivers (especially if they work when the OS driver fails). I'll try anything (and I am) if there was the remotest chance that it'd work. Hell, I'd use a Matrox Millenium driver if it worked with this card.
So yeah, until I can compile it, screw fglrx. At least radeon/si compiles and gives me kdm.
***
So I'm back to / still at square one with radeonsi. The only thing I've learnt in the last 3 months is that my card physically can clock up to the full 1GHz if I set it manually. So it's not a hardware fault.
I still don't know if I'm loading the right microcode. I'm blindly following what the wiki says, that's all I can do. That's why I wanted to try screwing with the lines in the kernel to load different ones. If ripping them all out gives me the same performance, then I know I'm loading the wrong ones. Or I could just put the whole damned lot in there and let the kernel load what it wants. But that might backfire and it loads something wrong that blocks the loading of the correct one.
Other than that, I've got all the right things set, as far as I know:
Code: Select all
# equery u mesa
[ Legend : U - final flag setting for installation]
[ : I - package is installed with flag ]
[ Colors : set, unset ]
* Found these USE flags for media-libs/mesa-10.5.6:
U I
- - bindist : Disable patent-encumbered ARB_texture_float, EXT_texture_shared_exponent, and EXT_packed_float extensions.
- - classic : Build drivers based on the classic architecture.
- - d3d9 : Enable Direct 3D9 API through Nine state tracker. Can be used together with patched wine.
- - debug : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see
https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
+ + dri3 : Enable DRI3 support.
+ + egl : Enable EGL support.
+ + gallium : Build drivers based on Gallium3D, the new architecture for 3D graphics drivers.
+ + gbm : Enable the Graphics Buffer Manager for EGL on KMS.
- - gles1 : Enable GLESv1 support.
- - gles2 : Enable GLESv2 support.
+ + llvm : Enable LLVM backend for Gallium3D.
+ + nptl : Enable support for Native POSIX Threads Library, the new threading module (requires linux-2.6 or better usually)
+ + opencl : Enable the Clover Gallium OpenCL state tracker.
- - openmax : Enable OpenMAX video decode/encode acceleration for Gallium3D.
- - osmesa : Build the Mesa library for off-screen rendering.
+ + pax_kernel : Enable if the user plans to run the package under a pax enabled hardened kernel
- - pic : disable optimized assembly code that is not PIC friendly
+ + udev : Enable virtual/udev integration (device discovery, power and storage device support, etc)
- - vaapi : Enable Video Acceleration API for hardware decoding
+ + vdpau : Enable the VDPAU acceleration interface for the Gallium3D Video Layer.
- - video_cards_i915 : VIDEO_CARDS setting to build driver for Intel i915 video cards
- - video_cards_i965 : VIDEO_CARDS setting to build driver for Intel i965 video cards
- - video_cards_ilo : VIDEO_CARDS setting to build unofficial gallium driver for Intel gen6/7 video cards
- - video_cards_intel : VIDEO_CARDS setting to build driver for Intel video cards
- - video_cards_nouveau : VIDEO_CARDS setting to build reverse-engineered driver for nvidia cards
- - video_cards_r100 : VIDEO_CARDS setting to build only r100 based chips code for radeon
- - video_cards_r200 : VIDEO_CARDS setting to build only r200 based chips code for radeon
- - video_cards_r300 : VIDEO_CARDS setting to build only r300, r400 and r500 based chips code for radeon
- - video_cards_r600 : VIDEO_CARDS setting to build only r600, r700, Evergreen and Northern Islands based chips code for radeon
+ + video_cards_radeon : VIDEO_CARDS setting to build driver for ATI radeon video cards
+ + video_cards_radeonsi : VIDEO_CARDS setting to build only Southern Islands based chips code for radeon
- - video_cards_vmware : VIDEO_CARDS setting to build driver for vmware video cards
- - wayland : Enable support for dev-libs/wayland
+ + xa : Enable the XA (X Acceleration) API for Gallium3D.
- - xvmc : Enable the XvMC acceleration interface for the Gallium3D Video Layer.
# eselect mesa list
i915 (Intel 915, 945)
i965 (Intel GMA 965, G/Q3x, G/Q4x, HD)
r300 (Radeon R300-R500)
[1] gallium *
r600 (Radeon R600-R700, Evergreen, Northern Islands)
[1] gallium *
sw (Software renderer)
[1] gallium *
# ls -l /dev/dri/
total 0
crw-rw----+ 1 root video 226, 0 Jun 7 2015 card0
crw-rw---- 1 root video 226, 64 Jun 7 2015 controlD64
crw-rw---- 1 root video 226, 128 Jun 7 2015 renderD128
(as user) $ groups
disk wheel uucp audio cdrom video usb users vboxusers rjs games mount plugdev
Actually, looking at 'eselect mesa list':
There are sections for i915 and i965 intel cards that I don't have, fair enough.
But the two radeon sections are for r300 and r600, I don't have them either, and I certainly don't have video_cards_r300/600 set in make.conf.
Shouldn't there be a 'Southern Islands' or similar section in eselect mesa list? I've got the latest eselect-mesa installed, but the
changelog says it hasn't changed much in 2 or even 4 years.
Is eselect mesa horrendously out of date and needs to be updated for the new Southern/Volcanic Islands?
Should/could I try adding video_cards_r600/300 etc to make.conf?
Or is eselect just lazy and thinking that r600
is Southern Islands and this doesn't mean anything?
Code: Select all
# grep -i radeon /usr/src/linux/.config
CONFIG_EXTRA_FIRMWARE="radeon/verde_ce.bin radeon/verde_mc.bin radeon/verde_me.bin radeon/verde_pfp.bin radeon/verde_rlc.bin radeon/verde_smc.bin radeon/TAHITI_uvd.bin"
CONFIG_DRM_RADEON=m
# CONFIG_DRM_RADEON_UMS is not set
# CONFIG_FB_RADEON is not set
# grep -i drm /usr/src/linux/.config
CONFIG_DRM=m
CONFIG_DRM_KMS_HELPER=m
CONFIG_DRM_KMS_FB_HELPER=y
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
CONFIG_DRM_TTM=m
...
CONFIG_DRM_RADEON=m
# lsmod | grep -i radeon
radeon 1102728 2
cfbfillrect 2938 1 radeon
cfbimgblt 1807 1 radeon
cfbcopyarea 2782 1 radeon
i2c_algo_bit 4269 1 radeon
drm_kms_helper 65830 1 radeon
ttm 56882 1 radeon
drm 223890 5 ttm,drm_kms_helper,radeon
i2c_core 16990 5 drm,i2c_piix4,drm_kms_helper,i2c_algo_bit,radeon
backlight 4893 1 radeon
fb 30835 5 fbcon,drm_kms_helper,radeon,softcursor,bitblit
hwmon 2530 4 it87,k10temp,radeon,thermal_sys
# lsmod | grep -i drm
drm_kms_helper 65830 1 radeon
drm 223890 5 ttm,drm_kms_helper,radeon
i2c_core 16990 5 drm,i2c_piix4,drm_kms_helper,i2c_algo_bit,radeon
fb 30835 5 fbcon,drm_kms_helper,radeon,softcursor,bitblit
Code: Select all
# dmesg | grep -i drm
[ 1.605288] ata1.00: supports DRM functions and may not be fully accessible
[ 1.605837] ata1.00: supports DRM functions and may not be fully accessible
[ 2.330518] [drm] Initialized drm 1.1.0 20060810
[ 2.431449] [drm] radeon kernel modesetting enabled.
[ 2.431787] [drm] initializing kernel modesetting (VERDE 0x1002:0x683D 0x1458:0x2282).
[ 2.431803] [drm] register mmio base: 0xFDD80000
[ 2.431805] [drm] register mmio size: 262144
[ 2.432559] [drm] Detected VRAM RAM=2048M, BAR=256M
[ 2.432560] [drm] RAM width 128bits DDR
[ 2.432656] [drm] radeon: 2048M of VRAM memory ready
[ 2.432657] [drm] radeon: 1024M of GTT memory ready.
[ 2.432666] [drm] Loading verde Microcode
[ 2.432671] [drm] Internal thermal controller with fan control
[ 2.432721] [drm] probing gen 2 caps for device 1002:5a16 = 31cd02/0
[ 2.440439] [drm] radeon: dpm initialized
[ 2.440455] [drm] GART: num cpu pages 262144, num gpu pages 262144
[ 2.441462] [drm] probing gen 2 caps for device 1002:5a16 = 31cd02/0
[ 2.441466] [drm] PCIE gen 2 link speeds already enabled
[ 2.452154] [drm] PCIE GART of 1024M enabled (table at 0x0000000000277000).
[ 2.452813] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 2.452814] [drm] Driver supports precise vblank timestamp query.
[ 2.452866] [drm] radeon: irq initialized.
[ 2.965308] [drm] ring test on 0 succeeded in 1 usecs
[ 2.965313] [drm] ring test on 1 succeeded in 1 usecs
[ 2.965318] [drm] ring test on 2 succeeded in 1 usecs
[ 2.965332] [drm] ring test on 3 succeeded in 9 usecs
[ 2.965338] [drm] ring test on 4 succeeded in 4 usecs
[ 3.142394] [drm] ring test on 5 succeeded in 2 usecs
[ 3.142399] [drm] UVD initialized successfully.
[ 3.142754] [drm] ib test on ring 0 succeeded in 0 usecs
[ 3.142789] [drm] ib test on ring 1 succeeded in 0 usecs
[ 3.142824] [drm] ib test on ring 2 succeeded in 0 usecs
[ 3.142866] [drm] ib test on ring 3 succeeded in 0 usecs
[ 3.142908] [drm] ib test on ring 4 succeeded in 0 usecs
[ 3.791385] [drm] ib test on ring 5 succeeded
[ 3.792509] [drm] Radeon Display Connectors
[ 3.792514] [drm] Connector 0:
[ 3.792518] [drm] HDMI-A-1
[ 3.792521] [drm] HPD1
[ 3.792527] [drm] DDC: 0x6570 0x6570 0x6574 0x6574 0x6578 0x6578 0x657c 0x657c
[ 3.792530] [drm] Encoders:
[ 3.792534] [drm] DFP1: INTERNAL_UNIPHY2
[ 3.792537] [drm] Connector 1:
[ 3.792540] [drm] DVI-D-1
[ 3.792543] [drm] HPD3
[ 3.792549] [drm] DDC: 0x6530 0x6530 0x6534 0x6534 0x6538 0x6538 0x653c 0x653c
[ 3.792552] [drm] Encoders:
[ 3.792556] [drm] DFP2: INTERNAL_UNIPHY1
[ 3.792559] [drm] Connector 2:
[ 3.792562] [drm] DVI-D-2
[ 3.792565] [drm] HPD2
[ 3.792571] [drm] DDC: 0x6580 0x6580 0x6584 0x6584 0x6588 0x6588 0x658c 0x658c
[ 3.792574] [drm] Encoders:
[ 3.792578] [drm] DFP3: INTERNAL_UNIPHY
[ 3.792581] [drm] Connector 3:
[ 3.792584] [drm] VGA-1
[ 3.792589] [drm] DDC: 0x65c0 0x65c0 0x65c4 0x65c4 0x65c8 0x65c8 0x65cc 0x65cc
[ 3.792593] [drm] Encoders:
[ 3.792596] [drm] CRT1: INTERNAL_KLDSCP_DAC1
[ 3.845303] [drm] fb mappable at 0xD047A000
[ 3.845307] [drm] vram apper at 0xD0000000
[ 3.845309] [drm] size 14745600
[ 3.845312] [drm] fb depth is 24
[ 3.845314] [drm] pitch is 10240
[ 3.845393] fbcon: radeondrmfb (fb0) is primary device
[ 4.025334] [drm:si_dpm_set_power_state [radeon]] *ERROR* si_restrict_performance_levels_before_switch failed
[ 4.083262] radeon 0000:01:00.0: fb0: radeondrmfb frame buffer device
[ 4.083288] [drm] Initialized radeon 2.41.0 20080528 for 0000:01:00.0 on minor 0
# dmesg | grep -i radeon
[ 2.431449] [drm] radeon kernel modesetting enabled.
[ 2.432555] radeon 0000:01:00.0: VRAM: 2048M 0x0000000000000000 - 0x000000007FFFFFFF (2048M used)
[ 2.432557] radeon 0000:01:00.0: GTT: 1024M 0x0000000080000000 - 0x00000000BFFFFFFF
[ 2.432656] [drm] radeon: 2048M of VRAM memory ready
[ 2.432657] [drm] radeon: 1024M of GTT memory ready.
[ 2.440439] [drm] radeon: dpm initialized
[ 2.452302] radeon 0000:01:00.0: WB enabled
[ 2.452305] radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000080000c00 and cpu addr 0xffff8805159dac00
[ 2.452307] radeon 0000:01:00.0: fence driver on ring 1 use gpu addr 0x0000000080000c04 and cpu addr 0xffff8805159dac04
[ 2.452309] radeon 0000:01:00.0: fence driver on ring 2 use gpu addr 0x0000000080000c08 and cpu addr 0xffff8805159dac08
[ 2.452311] radeon 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000080000c0c and cpu addr 0xffff8805159dac0c
[ 2.452314] radeon 0000:01:00.0: fence driver on ring 4 use gpu addr 0x0000000080000c10 and cpu addr 0xffff8805159dac10
[ 2.452811] radeon 0000:01:00.0: fence driver on ring 5 use gpu addr 0x0000000000075a18 and cpu addr 0xffffc900116b5a18
[ 2.452815] radeon 0000:01:00.0: radeon: MSI limited to 32-bit
[ 2.452845] radeon 0000:01:00.0: radeon: using MSI.
[ 2.452866] [drm] radeon: irq initialized.
[ 3.792509] [drm] Radeon Display Connectors
[ 3.845393] fbcon: radeondrmfb (fb0) is primary device
[ 4.025334] [drm:si_dpm_set_power_state [radeon]] *ERROR* si_restrict_performance_levels_before_switch failed <--- as noted earlier, I can fix this with kernel line radeon.dpm=0, but that doesn't change anything otherwise.
[ 4.083262] radeon 0000:01:00.0: fb0: radeondrmfb frame buffer device
[ 4.083264] radeon 0000:01:00.0: registered panic notifier
[ 4.083288] [drm] Initialized radeon 2.41.0 20080528 for 0000:01:00.0 on minor 0
# dmesg | grep -i verde
[ 2.431787] [drm] initializing kernel modesetting (VERDE 0x1002:0x683D 0x1458:0x2282).
[ 2.432666] [drm] Loading verde Microcode
Code: Select all
# grep -i kms /var/log/Xorg.0.log
[ 27.262] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[ 27.285] (II) [KMS] Kernel modesetting enabled.
[ 27.375] (II) RADEON(0): KMS Color Tiling: enabled
[ 27.375] (II) RADEON(0): KMS Color Tiling 2D: enabled
[ 27.375] (II) RADEON(0): KMS Pageflipping: enabled
# grep -i drm /var/log/Xorg.0.log
[ 27.237] (II) xfree86: Adding drm device (/dev/dri/card0)
# grep -i dri2 /var/log/Xorg.0.log
[ 27.285] (II) Loading sub module "dri2"
[ 27.285] (II) LoadModule: "dri2"
[ 27.285] (II) Module "dri2" already built-in
[ 27.364] (II) glamor: EGL version 1.4 (DRI2):
[ 27.502] (II) RADEON(0): [DRI2] Setup complete
[ 27.502] (II) RADEON(0): [DRI2] DRI driver: radeonsi
[ 27.502] (II) RADEON(0): [DRI2] VDPAU driver: radeonsi
[ 27.622] (II) GLX: Initialized DRI2 GL provider for screen 0
Code: Select all
# glxinfo
name of display: :0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
...
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
...
GLX version: 1.4
GLX extensions:
...
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD CAPE VERDE
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.5.6
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
...
OpenGL version string: 3.0 Mesa 10.5.6
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
...
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 10.5.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:
... etc
# LIBGL_DEBUG=verbose glxinfo | head
libGL: OpenDriver: trying /usr/lib64/dri/tls/radeonsi_dri.so
libGL: OpenDriver: trying /usr/lib64/dri/radeonsi_dri.so
name of display: :0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
***
I've also tried putting in Phoronix Test Suite to see if that uncovers anything, rather than just using Scorched3D as a benchmark, but
phoronix doesn't work either.
***
I also have no xorg.conf to speak of in /etc/X11, there's only:
Code: Select all
# grep -i xorg.conf /var/log/Xorg.0.log
[ 27.234] (==) Using config directory: "/etc/X11/xorg.conf.d"
[ 27.234] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
# cat /etc/X11/xorg.conf.d/20opengl.conf
Section "Files"
EndSection
# ls /usr/share/X11/xorg.conf.d
10-evdev.conf 10-quirks.conf
and those last 2 files are just full of evdev/input class stuff.
I haven't written an xorg.conf for many many systems ago. Do I need one? Obviously I'm getting kdm working without one. But theotherjoe has one, and has better performance with an older card.
But then I read something like
this including the line "Those wanting to use experimental 2D/3D support when running all of the latest code will for now need to set NoAccel to false in the xorg.conf." So that's about 18 months old, but still, there might be some line like that that I'm missing because I don't have an xorg.conf?
***
And finally, for years I booted to commandline, logged in as user, and used 'startx'. I could kill it and restart it any number of times I wanted.
About 5 years and 2 or 3 systems ago, that stopped working. Ever since then I've booted to commandline, logged in a root, and used 'kdm'. Then I get the kdm login screen, and log in as user. To get back to commandline, I have to logout as user to get back to the kdm login screen, and press Alt+n. Once I'm back at the commandline, I can't get back to kdm at all, I have to reboot.
Might that have something to do with any of this weirdness?
***
There are only a few other options I can think of.
Buy an R7 260X with money I don't have, and see if the GCN 1.1 with different microcode fixes it (my current R7 250X is a GCN 1.0).
Wait for the
4.2 kernel with the new AMDGPU I've been hearing about on phoronix, buy an even more expensive R9 285 and see if a GCN 1.2 card with new driver works.
Wait for KDE 5.4 to be un-hard-masked (or unmask it myself) and see if switching to Wayland/Weston fixes anything.