Announcement

Collapse
No announcement yet.

Intel's Broadwell i7-5775C Runs Much Happier On Fedora 22 Than Ubuntu Linux

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by milkylainen View Post
    - Broken console. Tearing, sync-issues.
    - Suspend of various sorts broken.
    - Loads of various kernel crashes on Broadwell.
    - SNA still somewhat broken.
    - You have to add bucketloads of kernel parameters to get the i915 driver to a half-stable state.
    - Intel P-state driver creates issues with GPU.

    Bottom line is that i don't care much about feature development if it comes at the cost of stability.
    Since I encountered many of those problems as well, could you please tell me which kernel parameters you included to get it working (better)? Or is there an internet webpage or bugzilla entry somewhere where one can follow the development, and mayba give feedback?

    I recently added the options, having enabled vt-d and OC-fixed-mode in the firmware, the rest is mostly on auto.
    i915.enable_ips=0 intel_iommu=igfx_off intremap=no_x2apic_optout

    and at least the console would be somewhat stable. The X-Server would crash the system. I compiled the kernel myself.

    I still assume the problems of the broadwell-cpus stem from a lack of support from the kernel, which can and should be fixed. I haven't heard of any problems under Windows.

    Maybe also the fedora kernel has fixes or some config options activated to prevent some of the issues.

    Comment


    • #12
      Why do you enable VT-d and later disable it partly? For kvm you only need VT-x.

      Comment


      • #13
        Originally posted by Kano View Post
        Why do you enable VT-d and later disable it partly? For kvm you only need VT-x.
        I have compiled the kernel with IOMMU support, and actually I don't need it. But since I usually cannot compile the kernel again because of the crashes, I cannot change it that easily.

        Comment


        • #14
          Now if this was a new amd product release with similoar isssues, it would of been verbally burned at the stake by 90% of people. It happened with a much less severe problem when BD was released with a bug that nobody could be possibly affected by. Now Intel releases a chip that's horribly buggy and everybody just blows it off like it's no big deal.

          Comment


          • #15
            Are people really "blowing it off"? It seems to me everyone acknowledges there is a problem. It's just that the discussion isn't so much "burn Intel!" as it is about where the problem could be.

            Maybe people aren't out with torches and pitchforks because there's just two models of desktop Broadwell processors and they're quite expensive and Skylake is just around the corner, so not many people are affected.

            Comment


            • #16
              I wouldnt be Intel if some Intel CPU internal compute bug compute bug happen, AMD has similar problem too - were was some Mainboard parameter to fix that - TBL bug .. but because of all reviews of this CPU on Windows were month ago ok, i think that problem is linux kernel related.

              Comment


              • #17
                Originally posted by milkylainen View Post
                Have to agree on both overcomplexity on hardware and software side.
                I've been compiling my own kernels (every major version) since early 2.0.x and I don't like the path Linux has been taking during the last couple of years.
                I configure my kernels with a minimal set of drivers with no initrd and no modules needed for the laptop, which means that my "configured" fatureset has been roughly the same during the last 10 years. Yet the kernel code size has blown completely out of proportions. Even if I disable almost everything it is not possible to reach anything like the sizes we used to have with perfectly functional kernels.
                Kernel bloat and overfunctionality create complex problems. Add to it the latest developments of hardly functional GPU drivers with all the complexity they add to the ecosystem of a kernel and then you have the perfect mess.

                I recently switched my old (and perfectly functional) Penryn/Nvidia machine to a Broadwell/Nvidia with Optimus.
                Boy what a piece of crap this new laptop is... (same manufacturer, same series).

                Nvidia drivers won't work natively any more (Optimus).
                Getting nvidia drivers to work is half-assed and buggy. (Bumblebee, Hybrid solutions).
                The built-in Intel GPU (i915 driver with userland stack) has so may problems it should not have made it out of staging.
                - Broken console. Tearing, sync-issues.
                - Suspend of various sorts broken.
                - Loads of various kernel crashes on Broadwell.
                - SNA still somewhat broken.
                - You have to add bucketloads of kernel parameters to get the i915 driver to a half-stable state.
                - Intel P-state driver creates issues with GPU.

                Bottom line is that i don't care much about feature development if it comes at the cost of stability.
                yeah broadwell seems to give many problems, it is not yet mature. Hint: Next time you buy a new laptop for linux choose the older generation, haswell at the moment. this runs perfectly here with a recent distro (opensuse tumbleweed) even with its sophisticated graphics version (HD5200).
                and it is even not yet finaly optimized in terms of performance and efficiency (there were rumors about something giving me 1 hour more battery life with kernel 4.2...). but stable and bug-free it is.

                Comment


                • #18
                  Very stupid advice. Just like buy old hardware to have got better Linux OSS support. Which is usually not (long) the case. For the lifetime a very short period. In case of Optimus install bbswitch module, tricky way to activate:
                  Code:
                  [COLOR=#000000]printf 'options bbswitch load_state=0\ninstall nouveau /sbin/modprobe bbswitch\nblacklist nvidia\nblacklist nvidia-current\n' > /etc/modprobe.d/powersave.conf[/COLOR]

                  Comment


                  • #19
                    Originally posted by mtthsme View Post

                    Since I encountered many of those problems as well, could you please tell me which kernel parameters you included to get it working (better)? Or is there an internet webpage or bugzilla entry somewhere where one can follow the development, and mayba give feedback?

                    I recently added the options, having enabled vt-d and OC-fixed-mode in the firmware, the rest is mostly on auto.
                    i915.enable_ips=0 intel_iommu=igfx_off intremap=no_x2apic_optout

                    and at least the console would be somewhat stable. The X-Server would crash the system. I compiled the kernel myself.

                    I still assume the problems of the broadwell-cpus stem from a lack of support from the kernel, which can and should be fixed. I haven't heard of any problems under Windows.

                    Maybe also the fedora kernel has fixes or some config options activated to prevent some of the issues.
                    This would be a rather lengthy post then... But sure.

                    I gave up on hybrid variants with prime/bumblebee etc. They are just to broken. The opensource stack for i915 and nouveau is a joke.
                    So I use i915 for modesetting only and run the Nvidia card full time with the proprietary drivers. Atleast it's somewhat stable.

                    So:
                    For kernel:
                    CONFIG_DRM_I915, CONFIG_DRM_I915_KMS, CONFIG_DRM_I915_FBDEV,CONFIG_DRM_VGEM, CONFIG_FB_MODE_HELPERS,

                    For boot parameters I used to have:
                    i915.enable_ips=0 i915.enable_execlists=0 i915.lvds_downclock=1 i915.modeset=1 i915.panel_ignore_lid=0
                    But since i'm not using the i915 for acceleration they are not needed anymore. The default modeset of -1 is enough for me.

                    For intel driver i use a nightly git:
                    They seem somewhat better than the latest released driver.
                    Again, since I'm not using it for acceleration anymore, this may be overkill. But anyway, couldn't harm if I need to go back to intel acceleration.
                    I now use the "modesetting" driver in X.

                    X config:
                    Section "ServerLayout"
                    Identifier "Layout0"
                    Screen 0 "nvidia"
                    Inactive "intel"
                    InputDevice "Keyboard0" "CoreKeyboard"
                    InputDevice "Mouse0" "CorePointer"
                    Option "AllowEmptyInput" "false"
                    Option "AutoAddDevices" "false"
                    EndSection

                    Section "Files"
                    FontPath "/usr/lib64/X11/fonts/misc/:unscaled"
                    FontPath "/usr/lib64/X11/fonts/100dpi/:unscaled"
                    FontPath "/usr/lib64/X11/fonts/75dpi/:unscaled"
                    FontPath "/usr/lib64/X11/fonts/misc/"
                    FontPath "/usr/lib64/X11/fonts/Type1/"
                    FontPath "/usr/lib64/X11/fonts/Speedo/"
                    FontPath "/usr/lib64/X11/fonts/100dpi/"
                    FontPath "/usr/lib64/X11/fonts/75dpi/"
                    FontPath "usr/lib64/X11/fonts/cyrillic/"
                    FontPath "/usr/lib64/X11/fonts/TTF/"
                    EndSection

                    Section "ServerFlags"
                    Option "DontZap" "False"
                    EndSection

                    Section "InputDevice"
                    Identifier "Mouse0"
                    Driver "mouse"
                    Option "Device" "/dev/input/mice"
                    Option "Protocol" "ImPS/2"
                    Option "CorePointer"
                    Option "Emulate3Buttons" "true"
                    EndSection

                    Section "InputDevice"
                    Identifier "Keyboard0"
                    Driver "kbd"
                    Option "CoreKeyboard"
                    Option "XkbModel" "pc105"
                    Option "XkbLayout" "se"
                    Option "AutoRepeat" "350 45"
                    EndSection

                    Section "Monitor"
                    Identifier "Internal"
                    Option "DPMS" "true"
                    EndSection

                    Section "Monitor"
                    Identifier "External-VGA"
                    Option "DPMS" "true"
                    EndSection

                    Section "Device"
                    Identifier "nvidia"
                    Driver "nvidia"
                    BusID "PCI:3:0:0"
                    Option "NoLogo" "true"
                    EndSection

                    Section "Device"
                    Identifier "intel"
                    Driver "modesetting"
                    BusID "PCI:0:2:0"
                    EndSection

                    Section "Screen"
                    Identifier "nvidia"
                    Device "nvidia"
                    Option "UseDisplayDevice" "none"
                    EndSection

                    Section "Screen"
                    Identifier "intel"
                    Device "intel"
                    Monitor "External-VGA"
                    EndSection

                    As you can see, I only use modesetting for the Intel PCI-id. This tells the kernel of resolutions and whatnots, but X is drawn by the Nvidia and outputted by Intel driver.
                    This is not enough to get things working however.

                    My .xinitrc:
                    (Yes, I hate graphical logins. They are stupid and create more dependencies than is needed. I prefer a VESA text console and X started as an application)
                    First line is to set the source and destination of rendering. Destination is Intel 0x49 and source is Nvidia 0x204 on my laptop.
                    This is needed to fix all displays. X seems to fsck the DPI-settings too. So manual setting of the DPI

                    #!/bin/sh

                    [ -f $HOME/.Xdefaults ] && xrdb $HOME/.Xdefaults

                    xrandr --setprovideroutputsource 0x49 0x204
                    xrandr --output eDP-1-0 --off
                    xrandr --output DisplayPort-1-3 --mode 1680x1050 --primary --auto
                    xrandr --dpi 96x96

                    evilwm -bg darkgreen -fg green -term urxvt &
                    WMPID=$!

                    urxvt -geometry 232x32+2+2&
                    urxvt -geometry 258x47+121+432&
                    gkrellm --geometry 0x0+0+438&
                    audacious &

                    wait $WMPID


                    To get suspend/resume somewhat stable:
                    For various reasons I don't understand X seems to misplace settings of various sorts from time to time.
                    So I just re-set everything when the laptop wakes up to make sure.
                    Sometimes you have to power off before powering on again.
                    My /etc/pm/sleep.d/fix-intel.sh

                    . /usr/lib64/pm-utils/functions

                    case "$1" in
                    hibernate|suspend)
                    #xrandr --verbose --output eDP-1-0 --off
                    #xrandr --verbose --output DisplayPort-1-3 --off
                    ;;
                    thaw|resume)
                    export DISPLAY=:0
                    export XAUTHORITY=/home/christianm/.Xauthority
                    xrandr --verbose --setprovideroutputsource 0x49 0x204
                    xrandr --verbose --output eDP-1-0 --off
                    xrandr --verbose --output DisplayPort-1-3 --mode 1680x1050 --primary --auto
                    xrandr --dpi 96x96
                    for I in $(xdotool search --name gkrellm); do xdotool windowmove $I 0 438; done
                    for I in $(xdotool search --name Audacious); do xdotool windowmove $I 1405 0 ; done
                    for I in $(xdotool search --name "Audacious Playlist Editor"); do xdotool windowmove $I 1405 116 ; done
                    for I in $(xdotool search --name XMMS); do xdotool windowmove $I 1405 0 ; done
                    for I in $(xdotool search --name "XMMS Playlist"); do xdotool windowmove $I 1405 116 ; done
                    ;;
                    *)
                    ;;
                    esac

                    exit


                    Now this is far from perfect. I still have bucketloads of issues left.

                    * VGA-output takes forever to sync when powering on/waking up/shifting vt. Like 15-20 seconds. It's really aggrevating.
                    * I still have really minor tearing in the output sometimes. I attribute it to the copying from Nvidia-fb to Intel-fb somewhere in the background. ACPI Cpufreq seems to work better than Intel-Pstate driver however.
                    * With modesetting i915 in the kernel I cannot get the old fashioned text console. If i disable i915.modeset, X refuses to work. Why is this? Can't X just start modesetting?
                    * Various dmesg crap output that really annoys me.

                    I don't know if this is due to the i2c-controller not starting properly on this machine. It gives me errors.

                    [ 2.088142] [drm] GMBUS [i915 gmbus dpd] timed out, falling back to bit banging on pin 6
                    [ 2.118112] [drm] GMBUS [i915 gmbus vga] timed out, falling back to bit banging on pin 2
                    [ 2.178197] [drm] GMBUS [i915 gmbus panel] timed out, falling back to bit banging on pin 3
                    [ 2.238233] [drm] GMBUS [i915 gmbus ssc] timed out, falling back to bit banging on pin 1

                    Don't know what the f' all these are about. I get that they are ACPI-errors either in the Tables or the complex setup of Nvidia/Intel causing issues.

                    [67002.064092] ACPI Error: Method parse/execution failed [\NEVT] (Node ffff8802250533c0), AE_BAD_PARAMETER (20150410/psparse-536)
                    [67002.064094] ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPCB.ECDV._Q66] (Node ffff880225051d98), AE_BAD_PARAMETER (20150410/psparse-536)

                    [67002.065250] ACPI Exception: AE_BAD_PARAMETER, Returned by Handler for [EmbeddedControl] (20150410/evregion-297)
                    [67002.065252] ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPCB.ECDV.ECR1] (Node ffff880225051dc0), AE_BAD_PARAMETER (20150410/psparse-536)
                    [67002.065255] ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPCB.ECDV.ECR2] (Node ffff880225051de8), AE_BAD_PARAMETER (20150410/psparse-536)
                    [67002.065258] ACPI Error: Method parse/execution failed [\ECRW] (Node ffff880225051f50), AE_BAD_PARAMETER (20150410/psparse-536)
                    [67002.065260] ACPI Error: Method parse/execution failed [\ECG1] (Node ffff880225051fa0), AE_BAD_PARAMETER (20150410/psparse-536)
                    [67002.065263] ACPI Error: Method parse/execution failed [\NEVT] (Node ffff8802250533c0), AE_BAD_PARAMETER (20150410/psparse-536)
                    [67002.065265] ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPCB.ECDV._Q66] (Node ffff880225051d98), AE_BAD_PARAMETER (20150410/psparse-536)

                    Ok, wth?

                    [67004.525943] [drm:gen8_irq_handler] *ERROR* The master control interrupt lied (SDE)!

                    SD-MMC does not seem to work either...

                    [ 0.518997] sdhci: Copyright(c) Pierre Ossman
                    [ 0.519027] sdhci-pci 0000:01:00.0: SDHCI controller found [1217:8520] (rev 1)
                    [ 0.520976] mmc0: Unknown controller version (3). You may experience problems.
                    [ 0.520991] sdhci-pci 0000:01:00.0: No vmmc regulator found
                    [ 0.520993] sdhci-pci 0000:01:00.0: No vqmmc regulator found
                    [ 0.524510] mmc0: SDHCI controller on PCI [0000:01:00.0] using ADMA

                    I better stop now. There are atleast 10 more issues with this laptop and Linux.
                    Funny. The old generation of the same series gave me 0 issues almost. This new Broadwell thing keeps throwing shit at me like big manure spreader.

                    Comment


                    • #20
                      Thanks for sharing. Since you have a special setup different from mine, you have different problems as you said.

                      Anyway, somehow this weekend my problems went away. I had to reinstall my operating system, on a different harddrive, added some kerneloptions disabling intel_idle and cpuidle, and now it runs more stable than in the past 3 weeks. The kernel is 4.1.3 (maybe fixes in there), and I used gcc-5.2 to compile everything.

                      Some stability problems went away after reducing the amount of RAM assigned to the igd, I went from 1024 MB to 512 MB.

                      Comment

                      Working...
                      X