Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Jan 2016 02:51:48 +0200
From:      Tommi Pernila <tommi.pernila@iki.fi>
To:        freebsd-x11@freebsd.org, =?UTF-8?B?SmVhbi1Tw6liYXN0aWVuIFDDqWRyb24=?= <jean-sebastien.pedron@dumbbell.fr>
Subject:   Testing i915 - The easy way
Message-ID:  <CABHD1wR4vEx5fT_RaY%2BHT4Ljg6saOotae%2B8bGcVPe6w40En7%2Bw@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi all,

TL:DR;
Did a script that gathers all X and drm relevant logs and some data from
the hardware.
dsfx.sh - a Debugging Script For things relating to Xorg


Longer version:

Long time lurker, now hopefully creating something useful.

I've been thinking how to help the i915 development, and as my C-coding
skills are not so great.
So trying to make Jean-S=C3=A9bastiens work easier.
Noticed that it's quite hard to know what logs are relevant, especially if
you are new to FreeBSD.
So I did this script that gathers all X and drm relevant logs and some data
from the hardware.

The key idea of the script is that you run it when something interesting
with graphics drivers or something weird happens with X.
The script then tars the data for your uploading convenience.
Then all you need to do is send the logs to the relevant developers or bug
tracker.



The script uses just shell.
I have tried it on my Lenovo T540p with two use cases:
- Installed Vanilla FreeBSD 10.2 and booting to a drm-i915-update-38 branch
11.0 kernel (logs below)
- Booted up a TrueOS-11.0JAN image installer and ran the script (not
uploaded yet)

Script is here:
https://github.com/pernila/scripts/blob/master/dsfx.sh

Throw some feedback at me if you find something horribly wrong :)
Yes it's ugly but it works. Feedback is appreciated, especially if i'm
missing some log files that are useful for debugging purpose.

Jean it might be a good idea to include this or something better to the
drm-i915-update-38 branch?



Some testing data from the script.
Here is logs from the same T540p laptop.
https://github.com/pernila/scripts/tree/master/logs

Files 1: run script after boot
1_Dec_kernel_after_boot_Xlogs_2016.01.04_22:51:50.txz
1_Oct_kernel_after_boot_Xlogs_2016.01.04_22:26:40.txz

Files 2: run script after kldload i915kms
2_Dec_kernel_i915kms_loaded_Xlogs_2016.01.04_22:43:52.txz
2_Dec_kernel_i915kms_loaded_Xlogs_2016.01.04_22:47:39.txz
   Double files here for reason that forgot :)
2_Oct_kernel_i915kms_loaded_Xlogs_2016.01.04_22:33:21.txz

Files 3: run script after starting Xorg
3_Dec_kernel_Running_Xserver_Xlogs_2016.01.04_22:52:26.txz
   This version of the kernel just black screened after Xorg started.
   Was able to reproduce many times.
   Ran these commands in VTY2: sleep 5; ./dsfx.sh ; sleep 35 ;reboot
   and then started Xorg from VTY1 to get the logs.
3_Oct_kernel_Running_Xserver_Xlogs_2016.01.04_22:36:00.txz


Found out that there is some issues with the latest drm-i915-update-38
branch with my laptop.
I'm guessing that it might be cause of the resolution of the screen (
2880x1620 )?
Normal desktop usage is possible with the older October version of the
branch.



Next steps:

My next idea for making this script even more useful would be
to create a script that
1. branches every drm-i915-update-38 commit in git
    ( not taking in the merges with the CURRENT branch or commits from it )
2. compiles a kernel from each branch
3. boots to the new kernel and runs this dsfx.sh script
4. upload the data to x and boot to the next kernel
This is bit more tricky to do...

The End Game idea would be to integrate Phoronix Test Suite (found in
ports) to all of this.
This would produce actual test suites (OpenGL etc) and create nice graphs
to see actual regressions.


Br,

Tommi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CABHD1wR4vEx5fT_RaY%2BHT4Ljg6saOotae%2B8bGcVPe6w40En7%2Bw>