2. Download the Kobo firmware archive version 3.8.0 for your device (See this thread) into the 3.8.0_source subdirectory. (Don't extract.)

3. Read and edit all the *.patch files in the 3.8.0_source subdirectory in order to: choose which patches to enable (patch_enable=`yes`) or disable (patch_enable=`no`); and to change some of the replacement values to suit your device and preferences. (See the section below on customising the patches.)

4. In Windows double-click 3.8.0.bat; For Linux/mac run ./3.8.0.sh from the command line.

5. If there were no errors, copy the resulting KoboRoot.tgz from the 3.8.0_target subdirectory to the .kobo directory on your ereader.

6. Safely eject and unplug the device, which will then update and restart.

To return your ereader to its original unpatched state:

1. Edit all the 3.8.0_source/*.patch files to disable all patches (set patch_enable = `no` for every patch).

2. Repeat steps 4-6 of the procedure above.

Customising the patches to suit your preferences and device

Some patches require no customisation, you can choose simply to enable them or not. But the following patches allow more customisation and their initial values should be considered examples only.

1. Custom reading footer style: There are three example styles, comment out the styles you don't want by adding a "#" character at the beginning of the line beginning with replace_, and leave the style you want uncommented.

More complex customisation is possible by editing the replacement css text, see the Kobo Patcher thread for examples.

2. My 15 line spacing values: Change the lines of the enabled patch starting with replace_float: the middle number is the original spacing value, the number to change is on the right.

The values are the line spacings set by the adjustment slider. The actual spacing depends on the font used, but for most fonts a value of 0.7 gives very tight spacing with ascenders/descenders overlapping, a value of about 0.9 gives a spacing similar to that of a mass-market paperback. The smallest value available in the unpatched firmware is 1.0.

3. Custom font sizes: Change the lines starting with replace_int. The middle number is the original value, the number to change is on the right.

The values are the font sizes set by the adjustment slider, they are in pixels so the absolute size depends on the device: size 20 on the Glo is about the same as size 25 on the AuraHD. Some books change the base font size, so you may need font sizes that are larger or smaller than your normal reading size to allow for adjusting such books.

4. Custom left & right margins: Change the lines starting with replace_int. The middle number is the original value, the number to change is on the right.

The values are the margin widths (in units of about 1% screen width I think) set by the adjustment slider. The margin size is added to whatever margin is fixed in the book (if any) and in reading software (The kepub reader has a base margin of about 2 units, the epub reader has a base margin of zero).

5. Brightness fine control: Change the lines starting with replace_int. The middle number is the original value, the number to change is on the right.

The values are the percentage amounts that the brightness slider changes when the small or large sun symbols are tapped. (Both should probably be set to the same value).

6. ePub adjustable top/bottom margin (disabled by default): Comment out one of the replace_string lines (i.e. add a '#' character to the beginning of the line) and leave the other uncommented to select whether both top and bottom, or just the top margin, should be made adjustable. Change the right-most number of the replace_int line to set the size of the top/bottom margins relative to the left/right margins, depending on your device. (The suggested values should make the top/bottom margins roughly equal to the left/right margins).

The following patches are no longer needed because of fixes in the firmware:
- Disable pinch-to-zoom font resizing
- Synopsis font size fix

There are now three seperate `Custom header style` patches for Touch, Mini, and other devices. With only a Glo to test on, the other patches are a bit of a guess. Let me know if they don't work. (Note that the size of the header can't be changed, only the style of the font used for the header text.)

Other patches:

If you know of any other patches for firmware 3.8.0, post in this thread and I'll include them in this post.

The patch won't change the size of the header itself, it can only change the font style used for the header text.

Yeah, I know it. I changed the font in the footer to Georgia because the default one had some problems with Polish diacritic signs and all I want to do with the header is to choose the corresponding font. Right now nothing has changed with it - or maybe there is something wrong with my eyes. It's not the most important patch so once again thanks for your help and don't bother.

I've updated the files in post #1/#2 to include separate `Custom header style` patches for Touch, Mini, and other devices. I only have a Glo to test on, so if you try these patches then let me know if they work on other devices.

(The `Custom header style` patches are really only needed if you change the font-size or font-family in the `Custom reading footer` patch and want the kepub header to match.)

I can't help but wonder.... Why on EARTH call the thread "Instructions for patching firmware 3.8.x". Surely it would make far more sense to call it "Instructions for patching firmware 3.8.0", and then, if and when 3.8.1 comes out, a new thread is made called "Instructions for patching firmware 3.8.1".