Overclock.net › Articles › Sound quieter in Linux than Windows, 2560x1440 27" Korean Display not working. The problems I encountered and their solution.

Sound quieter in Linux than Windows, 2560x1440 27" Korean Display not working. The problems I encountered and their solution.

TLDR: Upgraded computer. No video with 27” 2560x1440 display. Solution: Insert line into xorg.conf which links to an EDID file which instantly fixes the display problem. Sound was too quiet with sound-card. Alsa mixer was set to 50% by default despite the use of Pulseaudio. Solution: Run “alsamixer” and up the volume on the required output lines.

There are a couple things that I have been doing of late which I have had to do a fair bit of research on the Internet to find the answers to my problems, and so I'd like to make a post describing my problems and the solutions I encountered in the hope that other people will find my post and not have to search as hard for the answers that I struggled so long to find.

Over the past couple months I have made some pretty extensive changes to my computer which I will detail here:

I purchased a new Yamakasi Catleap Q270 monitor with its beautiful 2560x1440 resolution I am absolutely loving it. It doesn't actually have any dead or stuck pixels that I could find and works 100% perfectly.

I bought a new EVGA GTX 680 GPU for my computer to replace my older 5970. Only a slight upgrade in speed but it leaves me with an excellent amount of upgradeability.

Finally, I purchased a new $1200 sound system which I have detailed in other threads. This thread though will only be about the software side of the equation.

I had been using windows for most of the summer for gaming and I was waiting for all my hardware upgrades before I would reinstall my linux. I wanted a fresh install for all the new hardware changes (I also did a fresh install of windows 7).

I installed Linux Mint 13 Cinnamon, and it appeared to work from the start. The graphics were in a low resolution but working mode. I then proceeded to begin to pull my hair out because I could not get my graphics drivers to work, I probably reinstalled 10 times. It was almost impossible to identify the problem. I would install my graphics drivers and then suddenly I would have no video. I assumed the problem was with my graphics drivers.

It wasn't.

I finally stumbled upon this post in the Yamakasi Catleap monitor club which linked to a blog post about this very issue. The problem in fact lied with my Yamakasi Catleap. Because it is such a new monitor, (which actually doesn't work with all GPU's) its EDID is not in linux by default. EDID stands for Extended Display Information Data. Basically it tells linux what the capabilities of the monitor are and what kind of signal to output to the monitor. The solution is simple, all I had to do was

Under the device section in your xorg.conf file (/etc/X11/xorg.conf) add this line:
Option         "CustomEDID" "DFP:/etc/X11/edid-shimian.bin"

and copy this file into /etc/X11/ original credit for this goes to Shimian. This is in fact just a file with all the information, you can take this and put it directly into your xorg.conf and I believe that would work also, but it's easier just to call up the file in my opinion (I haven't tested putting it directly into your xorg.conf so don't quote me there):


My xorg.conf looks like this:
Section "ServerLayout"
    Identifier     "Default Layout"
    Screen         "Default Screen" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "keyboard"

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"

Section "Monitor"
    Identifier     "Configured Monitor"

Section "Device"
    Identifier     "Configured Video Device"
    Driver          "nvidia"
     Option        "CustomEDID" "DFP:/etc/X11/edid-shimian.bin"

Section "Screen"
    Identifier     "Default Screen"
    Device         "Configured Video Device"
    Monitor        "Configured Monitor"

If for some reason the mirror for the bin goes down, here is the results of the command "parse-edid /etc/X11/edid-shimian.bin":
parse-edid: parse-edid version 2.0.0
parse-edid: EDID checksum passed.

        # EDID version 1 revision 3
Section "Monitor"
        # Block type: 2:0 3:fc
        Identifier "QHD270"
        VendorName "ACB"
        ModelName "QHD270"
        # Block type: 2:0 3:fc
        # Block type: 2:0 3:fc
        # Block type: 2:0 3:fc
        # DPMS capabilities: Active off:yes  Suspend:no  Standby:no

        Mode    "2560x1440"     # vfreq 59.951Hz, hfreq 88.787kHz
                DotClock        241.500000
                HTimings        2560 2608 2640 2720
                VTimings        1440 1443 1448 1481
                Flags   "-HSync" "+VSync"
        # Block type: 2:0 3:fc
        # Block type: 2:0 3:fc
        # Block type: 2:0 3:fc

Simple. Instantly my 27” display worked perfectly. Basically, if you are having problems getting your 27” Korean display such as the Yamakasi Catleap to work with linux, this will probably fix all your problems. The problem isn't related to the drivers not working after being installed on linux (mint ubuntu arch all will suffer this same problem) but in fact is related to it just not knowing how to communicate with the monitor.

The most difficult thing with finding this solution in fact was finding the problem, because originally on all accounts my video would stop working after installing the proprietary Nvidia drivers, which led me to think they were the problem when they weren't. I am in love with this display and it looks incredible.

Here is a quick link which will tell you how to figure out if the EDID is the problem for your monitor: http://maxolasersquad.blogspot.com/2009/04/get-edid-information.html

If you're output gets an error after running those two commands, you know your EDID is a problem, otherwise you should get an output similar to the parse-edid above.

Tags: driver, broken, linux, mint, ubuntu, yamakasi, catleap, q270, 27 inch, 2560x1440, nvidia, ati

(these are in a hope that people with this same problem will find this post with a solution.

Next up, my sound-card. The HT|Omega Claro Halo works perfectly out of the box on linux, but that doesn't mean that linux by default is using the full potential of the sound-card. Finally having a sound-card / setup that could truly play my music, I wanted to be sure that I was using the full potential of my sound-card.

The main problem I was experiencing was my sound was for some reason quieter in linux than windows and I couldn't figure out why. Solving that was fairly simple. It turns out that pulseaudio doesn't have complete control of the volume, but instead although it does do decoding of the audio, it is directly affected by Alsa too. I had not noticed this and so didn't realize to check my alsa settings. It turns out that my alsa volume was set to 50% by default meaning that even with my pulseaudio volume set to full, I was only using have the volume potential of my sound-card. To change the volume of alsa simply run “alsamixer” in the terminal, push “f6” to select your soundcard, and adjust all the volumes to full (0.0db boost). Note: Be very careful putting it to max, for alsamixer you only want to go up to 0.0dB boost because after that it can cause your audio to become distorted. Sometimes 100% is beyond 0.0dB If for some reason a channel is muted simply press “m” to unmute it. Now I simply use my Pulseaudio to control the volume of my music and I can push my amp far beyond what it is capable of producing volume wise.

This wasn't the only setting I changed though, I also wanted to make sure I was playing a rate of 96KHZ and my bitrate set to either 24 or 32. The way to change these settings is to edit your “/etc/pulse/daemon.conf” file. After messing around with the settings in that file I decided upon these settings as being the optimum. Some of the settings increased the CPU usage too much and others actually introduced pops into the music when I would start playback, so this is what I found to be the best settings. There wasn't any noticeable change in audio quality but there is a change in volume from 16 bit to 24 or 32 bit, but as I said before the biggest fix to my volume issues was to set my alsa volume higher. After you edit the “daemon.conf” file simply run “pulseaudio -k” to restart the daemon and test your settings. If you don't like it go back and fiddle around with them. Here is a man file with most of the settings and the options they have: http://linux.die.net/man/5/pulse-daemon.conf

Here are the settings I decided upon as important (/etc/pulse/daemon.conf):
resample-method = speex-float-3 #this number can be set from 1-9, with varying degrees of quality, all sound great and are indiscernible from the previous. The higher the number is the greater the CPU usage, I have mine set to 5, but 3 or 1 (the default) also work great.
flat-volumes = no

default-sample-format = s24le #this can also be set to s32le, if your audio is quiet still, I have heard setting this to 32 bit can help increase volume. I am not sure how substantiated these claims are.
default-sample-rate = 96000
default-sample-channels = 2 
default-channel-map = front-left,front-right

default-fragments = 8 
default-fragment-size-msec = 10

deferred-volume-safety-margin-usec = 1

If you're having problems with quieter audio in linux over windows, my advice would be to make sure alsamixer is set to 0.0db boost. (100%)

Tags: quiet, audio, HT| Omega Claro Halo, linux, ubuntu, mint, alsa, pulseaudio, volume, sound-quality, sound-card, soundcard, sound in linux

Anyway, those are some of the issues I had and the solutions I found. If anyone is having problems with similar issues feel free to post here and I will do my best to help you out. I tried to just post the meat of each solution, but there are many smaller tricks I may be using which aren't well known for getting things working which I'd be glad to attempt and share. Thought I'd put these solutions up for someone else to use. My issues are pretty obscure, but maybe someone will have the same ones I did. With regards to the sound-card it wasn't necessary to edit the pulseaudio daemon, but I wanted to be sure that I was using the full potential of my sound-card. Most music is only recorded at 24bit 44100Hz but I wanted to be outputting 24bit 96kHz when possible.

I moved this from a thread to here

Comments (12)

Excellent write-up, and glad you got that annoying display issue worked out!

I followed your link http://learnitwithme.com/wp-content/uploads/2012/05/edid-shimian.bin and downloaded the file but parse-edid tells me the file is corrupt (as does get-edid).

The output of the parse-edid command is:-

dogphlap@dogphlap-P5Q-PRO:~/Downloads$ parse-edid edid-shimian.bin
parse-edid: parse-edid version 2.0.0
parse-edid: EDID checksum failed - data is corrupt. Continuing anyway.
parse-edid: first bytes don't match EDID version 1 header
parse-edid: do not trust output (if any).

# EDID version 255 revision 255
Section "Monitor"
Identifier "___:ffff"
VendorName "___"
ModelName "___:ffff"
# DPMS capabilities: Active off:yes Suspend:yes Standby:yes

Mode "4095x4095" # vfreq 9.770Hz, hfreq 80.018kHz
DotClock 655.350000
HTimings 4095 4350 4605 8190
VTimings 4095 4158 4221 8190
Flags "Interlace" "+HSync" "+VSync"
Mode "4095x4095" # vfreq 9.770Hz, hfreq 80.018kHz
DotClock 655.350000
HTimings 4095 4350 4605 8190
VTimings 4095 4158 4221 8190
Flags "Interlace" "+HSync" "+VSync"EndModeMode "4095x4095" # vfreq 9.770Hz, hfreq 80.018kHzDotClock 655.350000HTimings 4095 4350 4605 8190VTimings 4095 4158 4221 8190Flags "Interlace" "+HSync" "+VSync"EndModeMode "4095x4095" # vfreq 9.770Hz, hfreq 80.018kHzDotClock 655.350000HTimings 4095 4350 4605 8190VTimings 4095 4158 4221 8190Flags "Interlace" "+HSync" "+VSync"EndModeEndSection************************The output of get-edid is :************************dogphlap@dogphlap-P5Q-PRO:~/Downloads$ sudo get-edid edid-shimian.binget-edid: get-edid version 2.0.0Performing real mode VBE callInterrupt 0x10 ax=0x4f00 bx=0x0 cx=0x0Function supportedCall successfulVBE version 300VBE string at 0x11100 "NVIDIA"VBE/DDC service about to be calledReport DDC capabilitiesPerforming real mode VBE callInterrupt 0x10 ax=0x4f15 bx=0x0 cx=0x0Function supportedCall successfulMonitor and video card combination does not support DDC1 transfersMonitor and video card combination supports DDC2 transfers0 seconds per 128 byte EDID block transferScreen is not blanked during DDC transferReading next EDID blockVBE/DDC service about to be calledRead EDIDPerforming real mode VBE callInterrupt 0x10 ax=0x4f15 bx=0x1 cx=0x0Function supportedCall failedThe EDID data should not be trusted as the VBE call failedEDID claims 255 more blocks leftEDID blocks left is wrong.Your EDID is probably invalid.***************************************I get identical results on that file in /X11/ that I have been using a couple of weeks now.Seeing as that file has full root privileges it would seem a good spot to add a few bytes of malware.Do you have any comments ? I'd really like to know what you think.The md5sum of this file is dc6c58c971715e8043baef058b675eecBest regards dogphlap
do you know if xorg / X11 will accept .ini files? Or should X11 accept the .bin file regardless of distribution? I'm using Fedora 17 and this didn't work for me. Not sure what I'm doing wrong but I'm missing something.
Great post! I am trying to use a similar WQHD monitor with my laptop. Have you been able to get this monitor work on a laptop with display port + dvi adaptor to work under Linux? I cant get the EDID file for the monitor because `get-edid` is failing. I tried linking to the EDID file you suggested but that did not work. My guess is that the model I have is slightly different. I am using an active adaptor. I also tried with a passive adaptor and it had the same problem. Do you have any recomendations for getting this monitor work with a laptop, or at least how to find the EDID for my monitor?
Hi arasbm, could you post the make/model of your monitor as well as your xorg.conf with code tags?
The monitor is a 27" Inch Matrix NEO LED 270WQ IPS 2560x1440 WQHD. I document a lot more details about the problem and what I have done so far over on this askubuntu question. Here is the closest xorg.conf I have to a working setup. I could not paste it here because of character limitation. When using this, my laptop monitor works and vertical lines of various color appear on the Matrix 27" display. Its like a rainbow, and it keeps changing every now and then, but there is no image.
Article comments really don't offer very good formatting, do they? Check this pastebin for some suggestions. Even if it doesn't boot with the proper resolution, you could try going into nvidia-settings and seeing what options are available. Another thing you could try doing is deleting the metamodes under the last Screen section, and just creating one that suits how you have the monitors setup. Let me know how things turn out!
Ah, forgot to add, I'm not sure if it's the latest nouveau drivers or the latest kernel that did it, but I did a fresh install of Kubuntu 12.10 recently, and it recognized my Catleaps right out of the box. Of course the nouveau drivers don't offer full 3D acceleration, but just something to consider!
Thanks for the quick reply. I made the suggested edits to xorg, but I still have the same problem. Laptop screen is configured properly while the external 27" monitor shows those pulsating vertical lines. Very colorful and amuzing to watch -- but it's no good . Going to nvidia-settings shows correct resoltion (2560x1440) for the external monitor and has 60hz as refresh rate. It does offer a resolution of 1920x1440 as well which is strange. I tried using that, but it does not work. As far as I understand, since this monitor does not have an scalar, it will either work at 1560x1440 resolution, or will not work at all. There does not seem to be any other useful options available in the discussing nvidia-settings tool. When I go to information tab for the DFP-3 monitor under GPU-0 I see that the acquire EDID option is disabled and the monitor native resolution is reported as 640x480 @60Hz. This is really bazzar because nvidia is saying that the resolution is set to 2560x1440 in the display configuration screen ><.

I also tired installing latest updates (including kernel) and switching to open source driver. However, with the opensource driver, my laptop screen is recognized as very low resolution and also the display port or the HDMI port do not seem to be recognized. I say that based on the output of `xrandr`. So using open source drivers is out of question.

Is setting ModeLine equivalent of using an EDID file? If not, do you know how I could obtain the EDID information for this monitor? I am really stuck at this point. Do you have any other recommendations?
If the monitor works on your desktop (which I'm assuming is DVI to DVI?) then perhaps it's something to do with the DisplayPort, which is an area of which I have no experience. I know DP has the bandwidth to support a resolution of 1440p, like dual link DVI, but maybe there's something else with DP that's messing things up. I'll do some research on DP to see how it differs from DVI and get back to you. I also looked through the ebay page you linked for your monitor, and just from the specs listed I'm pretty sure it's the same panel as the other Korean models, so really anything that works for a Catleap or a Shimian, etc. should work for yours as well.

Another thing you could try in the meantime is deleting/renaming your xorg.conf and running

sudo nvidia-xconfig

to generate a new file, and then add the changes I pastebinned above. But I'll look into DisplayPort a bit more and get back to you!
I agree that whatever the issue is it has to do with the display port. I have two startech display adaptors. One is passive and the other is active which means it also requires additional power which is obtained from a usb connection. I also have an HDMI 1.4a port on this laptop and have tried using that with a passive HDMI -> duallink DVI-D adaptor. That did not work either. I think my best bet is to stick with the display port + active adaptor, and figure out what the issue is.

I have tried removing and regenerating xorg.conf using nvidia-xconfig several times now without any success.

I look forward to see what you will find. I really hope that there is a solution for this, I am really liking this laptop, but if it does not work with my monitor, I will have to return it and stick to using a desktop for now.
Try installing disper (available in Ubuntu repositories). This link has some usage examples midway down the page. I've not personally used it but it looks sort of like xrandr. Running disper -l should list all the displays, much like the output of xrandr -q. Assuming your external monitor is on the right side of your laptop display (also assuming that disper -l has the external listed and with 1440p as an available resolution), try running

disper -e -r 1920x1080, 2560x1440 -t right

As for DisplayPort, the only really helpful morsel I've found is this forum post that reveals that using an active adapter prevents the OS from being able to read the EDID. But in our case, the driver can't read the EDID anyways, so that isn't much help! At any rate, post your disper results and we can go from there.
Overclock.net › Articles › Sound quieter in Linux than Windows, 2560x1440 27" Korean Display not working. The problems I encountered and their solution.