V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
snnn
V2EX  ›  MacBook Pro

在 mbp 2013 上安装 Linux 的经验分享

  •  2
     
  •   snnn · 2015-02-19 18:43:20 +08:00 · 4828 次点击
    这是一个创建于 3358 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我之前用的是Fedora 19,现在已经升级到Fedora 21。机器是13年底买的。

    风扇控制

    apple没有使用标准的SMBus,它自己定制了一个smc模块。由于不知道它具体是怎么工作的,所以Linux对applesmc的支持极差。

    风扇控制模块是坏的,所以CPU经常过热。表现在经常收到mce事件

    CPU7: Core temperature above threshold, cpu clock throttled (total events = 3)

    mce: [Hardware Error]: Machine check events logged

    用sensors命令可以看到CPU温度经常在90度以上。实际上应该在87度以下。

    bugzilla上相关链接:

    https://bugzilla.redhat.com/show_bug.cgi?id=924570

    https://bugzilla.kernel.org/show_bug.cgi?id=14514

    workaround:安装这个针对mbp的fan control 软件 https://github.com/dgraziotin/Fan-Control-Daemon

    并且手动把最低风速调到3000

    echo 3000 > /sys/devices/platform/applesmc.768/fan1_min

    echo 3000 > /sys/devices/platform/applesmc.768/fan2_min

    smc经常会报错,发送命令失败:

    kernel: applesmc: send_byte(0xe0, 0x0300) fail: 0x40

    kernel: applesmc: F1Tg: write data fail

    反正不管怎样,cpu过热的消息都会经常出现

    分辨率

    我这个是视网膜屏,分辨率是2880x1800,大多数程序不是为这么高的分辨率设计的。于是Fedora19下显示效果就特别差,字小的看不清。windows下可以调整DPI,其中win 8.1对这个的支持就比较好,win 7就很差。

    升级到Fedora 20后,这个问题有很大改善。升级到Fedora 21后有更大的改善。

    但是chrome不是DPI aware的,暂时的做法就是把chrome的zoom level调大。不要试图调大chrome的默认字体,否则连google都无法正常使用了。

    Intel显卡驱动启动时崩溃

    这个笔记本是双显卡,一个内置的Intel显卡,一个GeForce GT 650M。内置的Intel显卡所使用的是内核的i915模块。这个模块在启动的时候经常崩溃,导致还没到登录界面,就卡死了。而且这个问题似乎只出现在使用EFI引导的时候。

    我的解决办法是:禁用这个模块!

    浏览器不支持GPU加速

    很奇怪,如果我使用外接U盘引导,按照传统BIOS的方式启动GRUB,那么chrome可以部分的使用GPU加速,但是如果是采用EFI启动,则chrome完全不能使用gpu。

    提示说:“GPU process was unable to boot: Features are disabled upon full but not preliminary GPU info.”

    再或者提示说:“Older Drivers are unreliable for Optimus on Linux"

    不过,反正国内这环境,也没机会在浏览器内看1080p的视频。

    内核进程占用100%的cpu

    然后是背光模块似乎与nvidia的官方驱动冲突。用top看,kworker的某个进程始终CPU 100%。

    我用perf研究了一下,发现大部分cpu都耗费在了gmux模块上。

    Samples: 44K of event 'cycles', Event count (approx.): 36241300831

    • 48.37% kworker/0:3 [kernel.kallsyms] [k] native_read_tsc

      • native_read_tsc

        • 64.95% delay_tsc

        __const_udelay

        + gmux_index_wait_ready.isra.7

        + 35.03% __const_udelay

    • 37.76% kworker/0:3 [kernel.kallsyms] [k] delay_tsc

    • 7.83% kworker/0:3 [apple_gmux] [k] gmux_index_wait_ready.isra.7

    我查了一下,这个符号来自apple_gmux模块,把这个模块禁用后就好了。我这个模块的版本号是3.2.19

    不过很奇怪的是我把kernel升级到3.16.3后,这个问题就消失了。apple_gmux似乎并未做什么更新。

    键盘布局

    键盘布局可以通过修改hid_apple的参数来实现。把这下面这两个加入到/etc/default/grub中

    hid_apple.fnmode=2 hid_apple.swap_opt_cmd=1

    virtualbox不支持usb

    换vmware吧。附带说,vmware在mac下也不支持usb,可能是因为我用的vmware fusion的版本太老。

    屏幕亮度调节

    屏幕亮度调节默认是失效的,除非你每次开机后执行
    /usr/sbin/setpci -v -H1 -s 00:01.00 BRIDGE_CONTROL=0

    23 条回复    2016-09-11 23:25:03 +08:00
    jamesxu
        1
    jamesxu  
       2015-02-19 18:47:10 +08:00
    直接 Ubuntu 不行吗?要不虚拟机,这样太折腾了
    snnn
        2
    snnn  
    OP
       2015-02-19 18:49:01 +08:00
    @jamesxu Ubuntu也解决不了驱动问题啊,它们的内核都一样的。另外,Linux对高分屏支持差是通病,无论换什么发行版,什么硬件,都是这样。只能期待它一点点的改善。
    snnn
        3
    snnn  
    OP
       2015-02-19 18:50:00 +08:00
    @jamesxu 还有,无论什么发行版,只要是Linux,就没办法用chrome的gpu加速。更差的是,经常连webgl都用不了。
    Agromania
        4
    Agromania  
       2015-02-19 19:19:25 +08:00
    我之前也是在mbp上各种折腾装上了Ubuntu,针对各种坑还写了笔记,

    最后我还是换了MacOSX + Vagrant,感觉之前一切努力都是瞎搞。
    Neo
        5
    Neo  
       2015-02-19 19:55:40 +08:00
    so,no zuo no die
    xieyudi1990
        6
    xieyudi1990  
       2015-02-19 20:41:00 +08:00 via iPhone
    rmbp mid14, 没有碰到任何问题.

    applesmc有人通过把Windows下的驱动逆向后开源了, 通过读写300h~31fh的io地址来控制. 如果你觉得内核带的那个applesmc.c不好, 可以尝试自己写一个. 不过自带的那个也还行, 一般50多度吧.

    hidpi和发行版有毛关系?

    早期efi的确会有驱动问题, 但是你还可以从legacy启动嘛. 反正我从efi启动linux无任何问题, 反倒是从efi启动windows会造成个带SecureROM的游戏会死机 (gta4)....
    snnn
        7
    snnn  
    OP
       2015-02-19 21:18:46 +08:00
    @xieyudi1990 "applesmc有人通过把Windows下的驱动逆向后开源了"

    请问你说的这个开源后的驱动在哪里可以下载到? 还是已经进kernel的mainline了?
    xuhaoyangx
        8
    xuhaoyangx  
       2015-02-19 21:31:20 +08:00
    = =其实很好奇vm性能上普遍比vb好不少,但是为啥这么多人喜欢用vb
    14
        9
    14  
       2015-02-19 21:34:39 +08:00 via Android
    @xuhaoyangx 开源免费
    maemual
        10
    maemual  
       2015-02-19 21:34:45 +08:00
    @xuhaoyangx 因为不要钱╮(╯_╰)╭
    snnn
        11
    snnn  
    OP
       2015-02-19 21:49:35 +08:00
    @xuhaoyangx 比如vagrant,对virtualbox的支持免费,对vmware的支持要收79$。于是我就只好继续用virtualbox。
    xuhaoyangx
        12
    xuhaoyangx  
       2015-02-19 21:54:35 +08:00
    @14 @maemual 免费= =,的确,只不过不太涉及到vagrant这类容器的话,我都是用vm或者parallels,vb性能- -太渣了
    @snnn 这种的确没想过- -自己也没怎么用过vagrant
    chuhades
        13
    chuhades  
       2015-02-19 23:10:12 +08:00
    本来一直纠结装回 debian,看了下,放弃了。。
    xieyudi1990
        14
    xieyudi1990  
       2015-02-20 06:45:22 +08:00 via iPhone
    snnn
        15
    snnn  
    OP
       2015-02-20 10:14:49 +08:00
    @xieyudi1990 这就是linux mainline的代码啊。光靠它是不行的,cpu经常过热。
    windirt
        16
    windirt  
       2015-02-20 10:51:35 +08:00 via iPhone
    virtualbox 要安装extpack才能支持usb
    Dandy
        17
    Dandy  
       2015-02-20 11:29:33 +08:00
    一个Parallels足矣
    sean419
        18
    sean419  
       2015-02-20 20:54:56 +08:00
    直接在Parallels Desktop里装一下解决。只要内存够足。
    andyhenry
        19
    andyhenry  
       2015-02-25 00:00:50 +08:00
    @xieyudi1990 我现在感觉每个在mac上安装linux的人上辈子都是折翼的xx。就我个人而言,作为玩家而非工作使用mac真是一点意思都没有,远不如linux。
    其实现在gnome和firefox对hidpi支持良好
    andyhenry
        20
    andyhenry  
       2015-02-25 00:03:25 +08:00
    linux和osx体验完全不同吧,怎么可能用虚拟机体验呢。就我个人而言,开始用osx之后*nix的知识一点没长进,反而是回到了win到处找破解软解的阶段。
    onlyice
        21
    onlyice  
       2015-02-25 21:29:34 +08:00 via Android
    @andyhenry 为何觉得 OSX 在非工作使用时比 Linux 没意思呢?没用过 OSX ,想听听你的看法
    andyhenry
        22
    andyhenry  
       2015-02-26 00:24:28 +08:00   ❤️ 1
    @onlyice (排名不分前后)
    + linux命令和bsd命令不完全一样,造成一点困扰。如md5和md5sum,bs=1m和bs=1M
    + 界面不能变,看多了审美疲劳。linux随便换,一周一小换,不太折腾也有新鲜感。(尤其是osx1010之后,扁平图标和老图标混在一起,太恶心了)
    + 安装开源工具费劲。我记得安装wget时,编译安装不上,用port先得装好多别的(依赖吧)。
    + 软件获得途径类似win而非linux,port及其他包管理器的软件根本不全。
    + 以上一条导致安装软件时,体验类似win:到处找盗版破解,软件适用性由 够用就行 变为 贪大求全。我周围人家用kindle的电子书从都不买正版,而且我付费专业软件毫无意义。
    + 不明原因,同亮度下linux渲染好于mac,有可能是linux直接用独显。(rmbp)
    + 我不写代码不搞设计,osx的玩具性大于工具性,用office时还要去win(mac的office就算了,用另一台电脑)。我唯一“维护”的代码(github上)是我的私人博客。。。
    + osx确实很少遇到问题,但是遇到想配置个东西,基本就无解。linux就随意了。
    + 就我个人而言,linux+win双系统的实用性远远超过单奔osx。当初真不应该买rmbp的,w540还有小键盘,真心认为v站和zhihu的某些价值观都是非常相对的。
    + 其实我个人最理想的是(貌似这辈子都没戏):ibm大主机+linux(arch或opensuse滚动版 或 debian测试)+雇佣一个团队解决我折腾中遇到的各种问题 顺便教我 顺便对开源做点贡献(我大学学文科类)
    woyaojizhu8
        23
    woyaojizhu8  
       2016-09-11 23:25:03 +08:00
    @andyhenry 很多人都是从 linux 转 os x ,第一次见到从 os x 转 linux 的。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   897 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 22:41 · PVG 06:41 · LAX 15:41 · JFK 18:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.