x86 Планшет часть 2: KDE

    2014-12-14 20:19 | Автор: jekader | Filed under: FedoraMD, Jekader

    После сборки драйвера wifi [1],[2] дела пошли гораздо веселей.
    Были установлены все обновления из репозитория F21, после чего я установил любимый KDE:


    KDE на мой вкус выглядит лучше, правда очень часто нужна правая кнопка мыши либо клавиатур без которых пользоваться довольно сложно. Посмотрим, удастся-ли эмулировать правую кнопку мыши долгим нажатием как это сделано в Windows.

    Ещё есть серьёзная проблема по ядру: временами возникает Kernel Oops ведущий за собой жуткие тормоза. Единственное решение - презагрузка. Не знаю связано-ли это с ядром в целом или конкретно с драйвером для wifi. На работе посмотрим с коллегами на стек, может станет понятнее. Ещё нужно будет потыкать конфигурацию ALSA чтобы завести звук, и уже для интернета более-менее можно будет использовать по назначению.

    ССЫЛКИ

    [1] http://ubuntuforums.org/showthread.php?t=2249936
    [2] https://github.com/hadess/rtl8723as

    PS

    инструкция по установке драйвера rtl8723as в двух словах:
    1) скачиваем исходники с github
    # git clone https://github.com/hadess/rtl8723as.git
    2) устанавливаем kernel-headers, kernel-devel, gcc, make
    3) собираем:
    # cd rtl8723as
    # make
    # make install
    # modprobe 8723bs

    1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
    Loading...

    Метки: , , , ,

    3 комментария »


    комментария 3

    1. jekader:

      UPD:

      проблемы со странными тормозами были вызваны использованием непонятного clocksource. В связи с отсутствием «hpet» (видимо баги в BIOS не дают работать ACPI) пришлось ограничиться «tsc» добавив к параметрам ядра clocksource=tsc

    2. jekader:

      UPD2:

      Вот скорее всего причина, по которой Xorg не заводится иногда:


      [ 18.256603] ------------[ cut here ]------------
      [ 18.256790] WARNING: CPU: 1 PID: 880 at drivers/gpu/drm/i915/intel_display.c:901 intel_wait_for_vblank+0x1f7/0x200 [i915]()
      [ 18.256871] vblank wait on pipe A timed out
      [ 18.256881] Modules linked in: xt_conntrack cfg80211 ebtable_nat ebtable_broute bridge stp llc ebtable_filter ebtables ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_security ip6table_raw ip6table_filter ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_security iptable_raw bnep vfat fat joydev gpio_keys snd_soc_sst_byt_rt5640_mach snd_soc_sst_baytrail_pcm snd_soc_sst_dsp iTCO_wdt intel_soc_dts_thermal iTCO_vendor_support btusb coretemp bluetooth kvm_intel snd_soc_rt5640 snd_soc_rl6231 kvm snd_soc_core 8723bs(OE) crc32_pclmul snd_compress snd_seq crc32c_intel snd_seq_device snd_pcm snd_timer dw_dmac dw_dmac_core soc_button_array snd i2c_hid soundcore goodix rfkill_gpio acpi_pad rfkill int3402_thermal
      [ 18.257174] iosf_mbi i2c_designware_platform int3400_thermal int3403_thermal acpi_thermal_rel pwm_lpss_platform pwm_lpss mei_txe i2c_designware_core lpc_ich mei snd_soc_sst_acpi mmc_block i915 i2c_algo_bit drm_kms_helper drm video sdhci_acpi sdhci mmc_core
      [ 18.257266] CPU: 1 PID: 880 Comm: Xorg.bin Tainted: G OE 3.18.0-1.1awb.i686 #1
      [ 18.257279] Hardware name: CUBE IWORK7/IWORK7, BIOS 5.6.5 10/31/2014
      [ 18.257290] 00000000 7e395223 00000000 e7fb1cbc c0a4bd86 e7fb1d00 e7fb1cf0 c0456222
      [ 18.257325] f89f6dc8 e7fb1d20 00000370 f89f5370 00000385 f899fc77 00000385 f899fc77
      [ 18.257359] f6ee0000 001f0040 0000044e e7fb1d0c c045627e 00000009 e7fb1d00 f89f6dc8
      [ 18.257393] Call Trace:
      [ 18.257425] [] dump_stack+0x41/0x52
      [ 18.257448] [] warn_slowpath_common+0x82/0xa0
      [ 18.257618] [] ? intel_wait_for_vblank+0x1f7/0x200 [i915]
      [ 18.257772] [] ? intel_wait_for_vblank+0x1f7/0x200 [i915]
      [ 18.257822] [] warn_slowpath_fmt+0x3e/0x60
      [ 18.257888] [] intel_wait_for_vblank+0x1f7/0x200 [i915]
      [ 18.257956] [] intel_pipe_set_base+0x161/0x360 [i915]
      [ 18.257965] [] ? __kmalloc+0x1fe/0x210
      [ 18.257974] [] ? idr_get_empty_slot+0x159/0x350
      [ 18.258038] [] intel_crtc_set_config+0x9ed/0xc70 [i915]
      [ 18.258047] [] ? __ww_mutex_lock+0x14/0x90
      [ 18.258088] [] drm_mode_set_config_internal+0x4e/0xc0 [drm]
      [ 18.258123] [] drm_mode_setcrtc+0x24c/0x590 [drm]
      [ 18.258159] [] ? drm_mode_setplane+0x240/0x240 [drm]
      [ 18.258189] [] drm_ioctl+0x1f5/0x560 [drm]
      [ 18.258199] [] ? inotify_free_event+0xd/0x10
      [ 18.258206] [] ? fsnotify_destroy_event+0x27/0x50
      [ 18.258241] [] ? drm_mode_setplane+0x240/0x240 [drm]
      [ 18.258251] [] ? security_compute_sid+0x412/0x5d0
      [ 18.258292] [] ? drm_getmap+0xc0/0xc0 [drm]
      [ 18.258302] [] do_vfs_ioctl+0x302/0x4f0
      [ 18.258310] [] ? inode_has_perm.isra.30+0x32/0x50
      [ 18.258318] [] ? file_has_perm+0x97/0xa0
      [ 18.258327] [] ? vfs_write+0x165/0x1e0
      [ 18.258334] [] ? selinux_file_ioctl+0x4b/0xe0
      [ 18.258342] [] SyS_ioctl+0x60/0x90
      [ 18.258349] [] ? security_compute_sid+0x412/0x5d0
      [ 18.258357] [] ? security_compute_sid+0x412/0x5d0
      [ 18.258365] [] sysenter_do_call+0x12/0x12
      [ 18.258401] [] ? security_compute_sid+0x412/0x5d0
      [ 18.258430] [] ? security_compute_sid+0x412/0x5d0
      [ 18.258460] [] ? rt_mutex_slowlock+0x150/0x1b0
      [ 18.258477] ---[ end trace cae4b4fc22cb2a00 ]---

      теперь осталось понять откуда этот timeout в DRM. При перезапуске иксов всё работает, а если грузиться из BIOS boot menu то этот timeout никогда не возникает.
      Похоже что вот Bugzilla подходящая: https://bugzilla.kernel.org/show_bug.cgi?id=68451

    3. jekader:

      Продолжаем докапываться до причины проблем. Теперь насчёт двойных кликов при касании. Похоже что в xorg приходит двойное нажатие от драйвера при кратком одиночном касании экрана:


      [root@localhost]# evtest /dev/input/event2
      Input driver version is 1.0.1
      Input device ID: bus 0x18 vendor 0x416 product 0x1001 version 0x28bb
      Input device name: "Goodix Capacitive TouchScreen"
      Supported events:
      Event type 0 (EV_SYN)
      Event type 1 (EV_KEY)
      Event code 330 (BTN_TOUCH)
      Event type 3 (EV_ABS)
      Event code 0 (ABS_X)
      Value 58
      Min 0
      Max 800
      Event code 1 (ABS_Y)
      Value 1240
      Min 0
      Max 1280
      Event code 47 (ABS_MT_SLOT)
      Value 0
      Min 0
      Max 9
      Event code 48 (ABS_MT_TOUCH_MAJOR)
      Value 0
      Min 0
      Max 255
      Event code 50 (ABS_MT_WIDTH_MAJOR)
      Value 0
      Min 0
      Max 255
      Event code 53 (ABS_MT_POSITION_X)
      Value 0
      Min 0
      Max 800
      Event code 54 (ABS_MT_POSITION_Y)
      Value 0
      Min 0
      Max 1280
      Event code 57 (ABS_MT_TRACKING_ID)
      Value 0
      Min 0
      Max 65535
      Properties:
      Property type 1 (INPUT_PROP_DIRECT)
      Testing ... (interrupt to exit)

      Event: time 1419200731.157492, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 111
      Event: time 1419200731.157492, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 38
      Event: time 1419200731.157492, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 1247
      Event: time 1419200731.157492, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 51
      Event: time 1419200731.157492, type 3 (EV_ABS), code 50 (ABS_MT_WIDTH_MAJOR), value 51
      Event: time 1419200731.157492, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
      Event: time 1419200731.157492, type 3 (EV_ABS), code 0 (ABS_X), value 38
      Event: time 1419200731.157492, type 3 (EV_ABS), code 1 (ABS_Y), value 1247
      Event: time 1419200731.157492, -------------- SYN_REPORT ------------
      Event: time 1419200731.161582, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
      Event: time 1419200731.161582, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
      Event: time 1419200731.161582, -------------- SYN_REPORT ------------
      Event: time 1419200731.167270, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 112
      Event: time 1419200731.167270, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
      Event: time 1419200731.167270, -------------- SYN_REPORT ------------
      Event: time 1419200731.189487, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 47
      Event: time 1419200731.189487, type 3 (EV_ABS), code 50 (ABS_MT_WIDTH_MAJOR), value 47
      Event: time 1419200731.189487, -------------- SYN_REPORT ------------
      Event: time 1419200731.210812, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1
      Event: time 1419200731.210812, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
      Event: time 1419200731.210812, -------------- SYN_REPORT ------------
      ^C

      сам драйвер при этом очень мелкий:
      https://github.com/hadess/gt9xx/blob/master/goodix.c

      Надеюсь удастся методом тыка побороть эту проблему.

    Leave a comment

    *