+ Reply to Thread
Page 1 of 2 12 LastLast
Results 1 to 10 of 15

Thread: x86_64 hdmi audio

  1. #1
    Join Date
    Jul 2008
    Posts
    208

    Default x86_64 hdmi audio

    Radeonhd has allowed sound over hdmi for a while now (thanks to Christian).

    But recently when trying x86_64 (64 bit) I noticed it didn't work.

    I did recently get fglrx to output over hdmi on the 64 bit so I'm curious if radeonhd can do that also.

    Using radeonhd here is the last messages from dmesg:
    Code:
    [drm] Resetting GPU
    [drm] Setting GART location based on new memory map
    [drm] Loading RS780 CP Microcode
    [drm] Loading RS780 PFP Microcode
    [drm] Resetting GPU
    [drm] writeback test succeeded in 1 usecs
    nepomukservices[6396]: segfault at 8 ip 00007f06a69857ae sp 00007fffaef85830 error 4 in libQtCore.so.4.5.1[7f06a6921000+23a000]
    hda-intel: IRQ timing workaround is activated for card #1. Suggest a bigger bdl_pos_adj.
    Note I get the same hda-intel message using flgrx with sound over hdmi working.

  2. #2
    Join Date
    Oct 2008
    Location
    Poland
    Posts
    147

    Default

    I would be nice to understand what causes this problem. I don't think it's something between x86 and x86_64. Are you sure you are using the same kernel, alsa and radeonhd in your new x86_64, when comparing to x86?

    Maybe some app is in lower version, or maybe newer with regression? Is this the same version of radeonhd?

    In other case Xorg.0.log and xorg.conf will be more interesting than dmesg output. Provide this as a good start, later maybe you'll be asked to provide registers dumps.

  3. #3
    Join Date
    Jul 2008
    Posts
    208

    Default

    Exact same 64 bit environment between fglrx and radeonhd. Kernel used is 2.6.27.25 as I couldn't install catalyst with 2.6.29 or 2.6.30. Other than the kernel, the rest is from slackware64-current which has qt4 and kde4 but also kde3 libs from extra (subdirectory on disk).

    Between 64 bit and 32 bit: using slackware-current (32 bit), using slightly different kernel (2.6.27.15 which I'm also using with slackware-12.2). Both fglrx and radeonhd output audio over hdmi.

    Hardware, if I didn't say previously is the gigabyte with integrated hd3200 (780g). I think its GA-MA78GM-S2H (I'm not sure what rev as it looks like they have 1.0, 1.1, and now 2.0).

    64 bit radeonhd xorg.conf
    Code:
    Section "ServerLayout"
    	Identifier     "Simple Layout"
    	Screen         "Screen 1"
    	InputDevice    "Mouse1" "CorePointer"
    	InputDevice    "Keyboard1" "CoreKeyboard"
    EndSection
    
    Section "Files"
    #    many font lines removed for relevance
    EndSection
    
    Section "Module"
    	SubSection "extmod"
    		Option	    "omit xfree86-dga"   # don't initialise the DGA extension
    	EndSubSection
    EndSection
    
    Section "InputDevice"
    	Identifier  "Keyboard1"
    	Driver      "kbd"
    EndSection
    
    Section "InputDevice"
    	Identifier  "Mouse1"
    	Driver      "mouse"
    	Option	    "Protocol" "Auto"
    	Option	    "Device" "/dev/mouse"
    	Option	    "ZAxisMapping"  "4 5"
    EndSection
    
    Section "Monitor"
    	Identifier   "vizio"
    EndSection
    
    Section "Device"
    	Identifier  "RadeonVid"
    	Driver "radeonhd"
    	Option "HDMI" "all"
    	Option "AccelMethod" "EXA"
    	Option "DRI"  "on"  #xorg log says on per default
    EndSection
    
    Section "DRI"
      Mode 0666
    EndSection
    
    Section "Screen"
    	Identifier "Screen 1"
    	Device     "RadeonVid"
    	Monitor    "vizio"
    	DefaultDepth 24
    	SubSection "Display"
              Depth 24
    #          Virtual 1920 1400
            EndSubSection
    EndSection
    32 bit radeonhd xorg.conf is identical except for the following
    Code:
    Section "Device"
    	Identifier  "RadeonVid"
     	Driver "radeonhd"
    #	Option "monitor-VIZIO" "vizio" #xorg.log says not used
    #	Option "HDMI" "all"            #xorg.log says not used
    EndSection
    Section "DRI"
     Group	"video"
     Mode	0660
    EndSection
    Relevant parts of fglrx xorg.conf
    Code:
    Section "ServerLayout"
    	Identifier     "Simple Layout"
    	Screen      0  "aticonfig-Screen[0]" 0 0
    	InputDevice    "Mouse1" "CorePointer"
    	InputDevice    "Keyboard1" "CoreKeyboard"
    EndSection
    
    Section "Monitor"
    	Identifier   "aticonfig-Monitor[0]"
    	Option	    "DPMS" "true"
    EndSection
    
    Section "Device"
    	Identifier  "aticonfig-Device[0]"
    	Driver      "fglrx"
            Option "VideoOverlay" "off"
            Option "OpenGLOverlay" "off"
            Option "TexturedVideo" "on"
    EndSection
    
    Section "Screen"
    	Identifier "aticonfig-Screen[0]"
    	Device     "aticonfig-Device[0]"
    	Monitor    "aticonfig-Monitor[0]"
    	DefaultDepth     24
    	SubSection "Display"
    		Viewport   0 0
    		Depth     24
    	EndSubSection
    EndSection

  4. #4
    Join Date
    Oct 2008
    Location
    Poland
    Posts
    147

    Default

    Code:
    #	Option "HDMI" "all"            #xorg.log says not used
    It's needed, and I don't know why Xorg.0.log could tell you it is not used... Maybe you were using radeon or very old radeonhd for a moment?

    Please, add this to your config and test. You may also want to specify that "all" value to something like:
    Code:
    Option       "HDMI" "DVI-D_1"
    . Values may be single outputs names from randr.

  5. #5
    Join Date
    Jul 2008
    Posts
    208

    Default

    Quote Originally Posted by Zajec View Post
    It's needed, and I don't know why Xorg.0.log could tell you it is not used...
    But what you missed was that code was from the radeonhd 32 bit xorg.conf which is outputting sound nicely over hdmi.

    When Christian first added the changes to allow sound over hdmi, this option was needed. I think once he added it to master, it was used per default and so was not explicitly needed in the xorg.conf.

    I think I added it back and then commented out as I was trying different things with the more recent gits for drm, mesa, and radeonhd.

    The "all" function has worked for the 32 bit environment in past and I don't know why dvi would be used for integrated hdmi. But it won't hurt me to try. I will also try with commenting out the option to more closely match the successful 32 bit version.

    Thanks

  6. #6
    Join Date
    Jul 2008
    Posts
    208

    Default

    Not sure if git branches I choose might be factor. For recent gits I am using the following branches.

    drm -> agd5f's 3d
    mesa -> r6xx-rewrite
    radeonhd -> master
    ati -> master

    If these are not optimum for hd3200 please let me know.

  7. #7
    Join Date
    Jul 2008
    Posts
    208

    Default

    Huh, with fresh compile of gits, it started working. Not sure why.

    Would pointing radeonhd git at r6xx-r7xx-support as opposed to master cause this?

    For me and with gits as specified above (radeonhd->master), all that seems to be needed for audio over hdmi on 64 bit is:
    Code:
    Section "Device"
    	Identifier  "RadeonVid"
    	Driver "radeonhd"
    	Option "HDMI" "all"
    EndSection
    Tried it without the Option "HDMI" "all" and no sound.

    Edit: Yes, xrandr does show "DVI-D_1". Using Option "HDMI" "DVI-D_1" also works. Now I'll have to go back and try this on the 32 bit.
    Last edited by forum1793; 06-26-2009 at 09:09 PM.

  8. #8
    Join Date
    Oct 2007
    Location
    Toronto-ish
    Posts
    6,087

    Default

    radeonhd 6xx-7xx-support is probably missing a bunch of recent work

    EDIT - yep, it branched off 6 months ago and last commit was 4 months ago so if you were pointing there you would be missing a lot
    Last edited by bridgman; 06-26-2009 at 09:14 PM.

  9. #9
    Join Date
    Jul 2008
    Posts
    208

    Default

    OK, recompiled all gits as above in the 32 bit and sound works over hdmi and requires option hdmi all, or dvi... as stated above. So both 64 bit and 32 bit now seem consistent.

    Was looking at xorg.0.log and saw dri was working so I tried glxinfo and it worked. Then tried glxgears and hard lock. Only power button worked (and of course power switch) worked.

    I'll try these (hdmi audio) with 2.6.29 and 2.6.30 kernels next.

  10. #10
    Join Date
    Jul 2008
    Posts
    208

    Default

    Loaded 2.6.29.5 (slackware-current generic) with everything the same as above. Sound over hdmi works.

    But, dri fails and windows move very slowly. Xorg.0.log shows:
    Code:
    ...
    (II) Setting vga for screen 0.
    (**) RADEONHD(0): Depth 24, (--) framebuffer bpp 32
    (**) RADEONHD(0): Option "AccelMethod" "EXA"
    (**) RADEONHD(0): Option "DRI" "on"
    (**) RADEONHD(0): Option "HDMI" "all"
    (**) RADEONHD(0): Selected EXA 2D acceleration.
    (II) RADEONHD(0): Unknown card detected: 0x9610:0x1458:0xD000.
    	If - and only if - your card does not work or does not work optimally
    	please contact radeonhd@opensuse.org to help rectify this.
    	Use the subject: 0x9610:0x1458:0xD000: <name of board>
    	and *please* describe the problems you are seeing
    	in your message.
    (--) RADEONHD(0): Detected an RS780 on an unidentified card
    (II) RADEONHD(0): Mapped IO @ 0xfdfe0000 to 0xb7a56000 (size 0x00010000)
    (II) RADEONHD(0): Getting BIOS copy from legacy VBIOS location
    (II) RADEONHD(0): ATOM BIOS Rom: 
    	SubsystemVendorID: 0x1002 SubsystemID: 0x1002
    	IOBaseAddress: 0xee00
    	Filename: MA78M_S2H_HD
    	BIOS Bootup Message: 
    B27721 RS780 DDR2 200e/500m                                                 
    
    (II) RADEONHD(0): Analog TV Default Mode: 1
    (II) RADEONHD(0): Found default TV Mode NTSC
    (--) RADEONHD(0): VideoRAM: 262144 kByte
    (II) RADEONHD(0): Framebuffer space used by Firmware (kb): 16
    (II) RADEONHD(0): Start of VRAM area used by Firmware: 0xfffc000
    (II) RADEONHD(0): AtomBIOS requests 16kB of VRAM scratch space
    (II) RADEONHD(0): AtomBIOS VRAM scratch base: 0xfffc000
    (II) RADEONHD(0): Default Engine Clock: 500000
    (II) RADEONHD(0): Default Memory Clock: 400000
    (II) RADEONHD(0): Maximum Pixel ClockPLL Frequency Output: 1200000
    (II) RADEONHD(0): Minimum Pixel ClockPLL Frequency Output: 0
    (II) RADEONHD(0): Maximum Pixel ClockPLL Frequency Input: 13500
    (II) RADEONHD(0): Minimum Pixel ClockPLL Frequency Input: 1000
    (II) RADEONHD(0): Maximum Pixel Clock: 400000
    (II) RADEONHD(0): Reference Clock: 14320
    (WW) RADEONHD(0): Direct rendering for R600 and up forced on - This is NOT officially supported yet and may cause instability or lockups
    (II) RADEONHD(0): Found libdri 5.4.0.
    drmOpenDevice: node name is /dev/dri/card0
    drmOpenDevice: open result is -1, (No such device)
    drmOpenDevice: open result is -1, (No such device)
    drmOpenDevice: Open failed
    drmOpenByBusid: Searching for BusID pci:0000:01:05.0
    drmOpenDevice: node name is /dev/dri/card0
    drmOpenDevice: open result is -1, (No such device)
    drmOpenDevice: open result is -1, (No such device)
    drmOpenDevice: Open failed
    drmOpenByBusid: drmOpenMinor returns -19
    drmOpenDevice: node name is /dev/dri/card1
    drmOpenDevice: open result is -1, (No such device)
    drmOpenDevice: open result is -1, (No such device)
    drmOpenDevice: Open failed
    drmOpenByBusid: drmOpenMinor returns -19
    drmOpenDevice: node name is /dev/dri/card2
    drmOpenDevice: open result is -1, (No such device)
    drmOpenDevice: open result is -1, (No such device)
    drmOpenDevice: Open failed
    ...
    drmOpenByBusid: drmOpenMinor returns -19
    drmOpenDevice: node name is /dev/dri/card0
    drmOpenDevice: open result is -1, (No such device)
    drmOpenDevice: open result is -1, (No such device)
    drmOpenDevice: Open failed
    drmOpenDevice: node name is /dev/dri/card0
    drmOpenDevice: open result is -1, (No such device)
    drmOpenDevice: open result is -1, (No such device)
    drmOpenDevice: Open failed
    drmOpenDevice: node name is /dev/dri/card1
    drmOpenDevice: open result is -1, (No such device)
    drmOpenDevice: open result is -1, (No such device)
    drmOpenDevice: Open failed
    ...
    drmOpenDevice: node name is /dev/dri/card14
    drmOpenDevice: open result is -1, (No such device)
    drmOpenDevice: open result is -1, (No such device)
    drmOpenDevice: Open failed
    (EE) RADEONHD(0): RHDDRIVersionCheck: drmOpen("radeon", "pci:0000:01:05.0") failed.
    (WW) RADEONHD(0): RHDDRIPreInit: Version check failed. Disabling DRI.
    ...
    (II) RADEONHD(0): Attempting to enable power management
    (WW) RADEONHD(0): RHDCSInit: CS for R600 requires DRI.
    (WW) RADEONHD(0): Failed to initalize EXA; disabling acceleration.
    (==) RADEONHD(0): Backing store disabled
    I'll try 2.6.30 next.

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts