Hi latalante, For OpenChrome DRM (drm-openchrome) development, I typically use Xubuntu 16.04 with the latest Canonical stock Linux kernel and then install drm-next over it (drm-next-4.13 branch). I also use Xubuntu 14.04 and Debian 8 for some computers for the development of drm-next-3.19 branch. I keep two branches roughly the same except for small differences between the two versions (Linux kernel version specific differences). I am still planning to publish the precise instructions on how to compile the Linux kernel eventually, but I have been concentrating on the OpenChrome DRM development itself, so this may not happen for several more weeks. That being said, here is the preview version of the instructions on how to compile and build OpenChrome DRM. I assume the use of a Ubuntu based OS and drm-next-4.13 branch.
1) Install a few packages sudo apt-get install git sudo apt-get install libssl-dev sudo apt-get install libncurses5-dev 2) Change initramfs build behavior cd /etc/initramfs-tools/ sudo mousepad initramfs.conf Change MODULES=most to MODULES=dep. Save the file. This is necessary for computers with < 768 MB RAM. It also reduces boot time somewhat. 3) Clone the repository git clone git://anongit.freedesktop.org/openchrome/drm-openchrome git branch drm-next-4.13 origin/drm-next-4.13 git checkout drm-next-4.13 cd drm-openchrome 4) Edit .config cp /boot/config-$(uname -r) ./.config Regarding .config file, make sure CONFIG_DRM_VIA is set to 'm'. CONFIG_DRM_VIA=m Save the file. 5) Run through menuconfig make menuconfig Save the file when exiting menuconfig so that .config is updated. 6) Compile the Linux kernel. make This is basically a full compilation, so it can take anywhere from 7 hours to 24 hours, depending on the speed of the computer. For HP 2133 (VIA C7-M 1.2 GHz), it takes about 24 hours with an SSD. Since you appear to have Intel Core 2 Duo, it should take about 7 hours. 7) Install the Linux kernel for the first time. sudo make modules_install sudo make install 8) Recompilation (optional) When you are building it for the subsequent times, you can take a short cut. git pull --all make sudo cp ./drivers/gpu/drm/openchrome/openchrome.ko /lib/modules/4.13.0-rc5+/kernel/drivers/gpu/drm/openchrome/ sudo make install 9) Deleting the Linux kernel (optional) cd /lib/modules sudo rm -R ./4.13.0-rc5+ sudo update-grub Assuming that I did not make a mistake, you should be able to compile the Linux kernel. Also, please use the very latest OpenChrome DDX (Version 0.6.162). OpenChrome DDX no longer looks for via.ko for the DRM. It looks for openchrome.ko for KMS support. Regarding stability, standby resume now works, but changing the screen resolution via OS will crash the X server. I have not found a solution to it yet, but now have a idea what might be going wrong. Other than that, at least for VN896 chipset, you should get about the same performance level. Kevin Brace OpenChrome Project maintainer / developer > Date: Sat, 28 Oct 2017 12:08:35 +0200 > From: latala...@cock.li > To: openchrome-devel@lists.freedesktop.org > Subject: [Openchrome-devel] drm-next-4.13 Not linking > > For two months I have been trying to build and continue to try > unsuccessfully. Currently compiled already but not linked. > > LD vmlinux.o > MODPOST vmlinux.o > drivers/gpu/drm/openchrome/via_drv.o: In function `via_driver_unload': > via_drv.c:(.text+0x45f): undefined reference to `ttm_bo_unref' > via_drv.c:(.text+0x490): undefined reference to `ttm_bo_unref' > via_drv.c:(.text+0x4b4): undefined reference to `ttm_bo_unref' > drivers/gpu/drm/openchrome/via_drv.o: In function `via_driver_load': > via_drv.c:(.text+0x9e2): undefined reference to `ttm_bo_init_mm' > drivers/gpu/drm/openchrome/via_ioc32.o: In function `via_gem_state': > via_ioc32.c:(.text+0x30d): undefined reference to > `ttm_bo_del_sub_from_lru' > via_ioc32.c:(.text+0x32e): undefined reference to `ttm_bo_validate' > via_ioc32.c:(.text+0x34b): undefined reference to `ttm_bo_add_to_lru' > drivers/gpu/drm/openchrome/via_ioc32.o: In function `via_gem_wait': > via_ioc32.c:(.text+0x47a): undefined reference to > `ttm_bo_del_sub_from_lru' > via_ioc32.c:(.text+0x48a): undefined reference to `ttm_bo_wait' > via_ioc32.c:(.text+0x4a7): undefined reference to `ttm_bo_add_to_lru' > drivers/gpu/drm/openchrome/ttm_gem.o: In function `ttm_gem_free_object': > ttm_gem.c:(.text+0x3c): undefined reference to `ttm_bo_unref' > drivers/gpu/drm/openchrome/ttm_gem.o: In function `ttm_gem_create': > ttm_gem.c:(.text+0x1fc): undefined reference to `ttm_bo_unref' > drivers/gpu/drm/openchrome/ttm_gem.o: In function `ttm_mmap': > ttm_gem.c:(.text+0xba): undefined reference to `ttm_bo_mmap' > drivers/gpu/drm/openchrome/via_ttm.o: In function `via_init_mem_type': > via_ttm.c:(.text+0x158): undefined reference to `ttm_bo_manager_func' > via_ttm.c:(.text+0x17d): undefined reference to `ttm_bo_manager_func' > via_ttm.c:(.text+0x1f9): undefined reference to `ttm_bo_manager_func' > drivers/gpu/drm/openchrome/via_ttm.o: In function `via_ttm_tt_populate': > via_ttm.c:(.text+0x439): undefined reference to `ttm_pool_populate' > via_ttm.c:(.text+0x5c4): undefined reference to `ttm_pool_unpopulate' > drivers/gpu/drm/openchrome/via_ttm.o: In function `via_move_to_vram': > via_ttm.c:(.text+0x905): undefined reference to `ttm_bo_mem_space' > via_ttm.c:(.text+0x91e): undefined reference to `ttm_bo_move_ttm' > via_ttm.c:(.text+0x946): undefined reference to `ttm_bo_mem_put' > drivers/gpu/drm/openchrome/via_ttm.o: In function `via_move_from_vram': > via_ttm.c:(.text+0xa5f): undefined reference to `ttm_bo_mem_space' > via_ttm.c:(.text+0xa73): undefined reference to > `ttm_tt_set_placement_caching' > via_ttm.c:(.text+0xa88): undefined reference to `ttm_tt_bind' > via_ttm.c:(.text+0xab9): undefined reference to `ttm_bo_move_ttm' > via_ttm.c:(.text+0xaca): undefined reference to `ttm_bo_mem_put' > drivers/gpu/drm/openchrome/via_ttm.o: In function `via_bo_move': > via_ttm.c:(.text+0xc6d): undefined reference to `ttm_bo_move_memcpy' > drivers/gpu/drm/openchrome/via_ttm.o: In function `via_mm_fini': > via_ttm.c:(.text+0xcd2): undefined reference to `ttm_bo_device_release' > drivers/gpu/drm/openchrome/via_ttm.o: In function `via_bo_create': > via_ttm.c:(.text+0xf1e): undefined reference to `ttm_bo_dma_acc_size' > via_ttm.c:(.text+0xf4f): undefined reference to `ttm_bo_init' > drivers/gpu/drm/openchrome/via_ttm.o: In function `via_bo_pin': > via_ttm.c:(.text+0x102a): undefined reference to > `ttm_bo_del_sub_from_lru' > via_ttm.c:(.text+0x105d): undefined reference to `ttm_bo_validate' > via_ttm.c:(.text+0x1084): undefined reference to `ttm_bo_add_to_lru' > via_ttm.c:(.text+0x10cb): undefined reference to `ttm_bo_kmap' > drivers/gpu/drm/openchrome/via_ttm.o: In function `via_mm_init': > via_ttm.c:(.text+0x1176): undefined reference to `ttm_bo_global_init' > via_ttm.c:(.text+0x117e): undefined reference to `ttm_bo_global_release' > via_ttm.c:(.text+0x11ca): undefined reference to `ttm_bo_device_init' > via_ttm.c:(.text+0x11e6): undefined reference to `ttm_bo_init_mm' > via_ttm.c:(.text+0x1334): undefined reference to `ttm_bo_init_mm' > via_ttm.c:(.text+0x13ac): undefined reference to `ttm_bo_clean_mm' > drivers/gpu/drm/openchrome/via_ttm.o: In function `via_bo_unpin': > via_ttm.c:(.text+0x1456): undefined reference to > `ttm_bo_del_sub_from_lru' > via_ttm.c:(.text+0x1463): undefined reference to `ttm_bo_kunmap' > via_ttm.c:(.text+0x1496): undefined reference to `ttm_bo_validate' > via_ttm.c:(.text+0x14df): undefined reference to `ttm_bo_add_to_lru' > drivers/gpu/drm/openchrome/via_ttm.o: In function > `via_ttm_allocate_kernel_buffer': > via_ttm.c:(.text+0x157a): undefined reference to `ttm_bo_unref' > drivers/gpu/drm/openchrome/via_ttm.o: In function > `via_ttm_mem_global_release': > via_ttm.c:(.text+0x265): undefined reference to `ttm_mem_global_release' > drivers/gpu/drm/openchrome/via_ttm.o: In function > `via_ttm_mem_global_init': > via_ttm.c:(.text+0x275): undefined reference to `ttm_mem_global_init' > drivers/gpu/drm/openchrome/via_ttm.o: In function `via_ttm_tt_create': > via_ttm.c:(.text+0x2f4): undefined reference to `ttm_agp_tt_create' > drivers/gpu/drm/openchrome/via_ttm.o: In function `via_ttm_tt_populate': > via_ttm.c:(.text+0x505): undefined reference to `ttm_agp_tt_populate' > via_ttm.c:(.text+0x519): undefined reference to `ttm_dma_populate' > drivers/gpu/drm/openchrome/via_ttm.o: In function > `via_ttm_tt_unpopulate': > via_ttm.c:(.text+0x67a): undefined reference to `ttm_agp_tt_unpopulate' > via_ttm.c:(.text+0x686): undefined reference to `ttm_pool_unpopulate' > via_ttm.c:(.text+0x697): undefined reference to `ttm_dma_unpopulate' > drivers/gpu/drm/openchrome/via_ttm.o: In function > `via_move_blit.constprop.9': > via_ttm.c:(.text+0x7f1): undefined reference to > `ttm_bo_move_accel_cleanup' > drivers/gpu/drm/openchrome/via_ttm.o:(.data+0x70): undefined reference > to `ttm_bo_default_io_mem_pfn' > drivers/gpu/drm/openchrome/via_fence.o: In function > `via_fence_pool_fini.part.5': > via_fence.c:(.text+0x1cf): undefined reference to `ttm_bo_unref' > drivers/gpu/drm/openchrome/via_sgdma.o: In function `via_sgdma_destroy': > via_sgdma.c:(.text+0xa): undefined reference to `ttm_dma_tt_fini' > drivers/gpu/drm/openchrome/via_sgdma.o: In function > `via_sgdma_backend_init': > via_sgdma.c:(.text+0x3b5): undefined reference to `ttm_dma_tt_init' > drivers/gpu/drm/openchrome/via_h1_cmdbuf.o: In function > `via_dma_cleanup': > via_h1_cmdbuf.c:(.text+0xaac): undefined reference to `ttm_bo_unref' > drivers/gpu/drm/openchrome/via_crtc.o: In function `via_crtc_destroy': > via_crtc.c:(.text+0x344): undefined reference to `ttm_bo_unref' > drivers/gpu/drm/openchrome/via_crtc.o: In function > `via_crtc_cursor_set': > via_crtc.c:(.text+0x742): undefined reference to `ttm_bo_kmap' > via_crtc.c:(.text+0x80f): undefined reference to `ttm_bo_kunmap' > drivers/gpu/drm/openchrome/via_fb.o: In function `via_fb_probe': > via_fb.c:(.text+0x53d): undefined reference to `ttm_bo_unref' > > _______________________________________________ Openchrome-devel mailing list Openchrome-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/openchrome-devel