~carlrichell/system76-driver/2.7

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/usr/bin/env python
#
## System76, Inc.
## Copyright System76, Inc.
## Released under the GNU General Public License (See LICENSE)
##
## Fix bugs or apply enhancements for usplash
import os
import fileinput
import time

today = time.strftime('%Y%m%d_h%Hm%Ms%S')

def gutsy_64_nvidia():
    """Fix usplash on Ubuntu 7.10 64 bit nVidia based systems"""
    
    # Remove vesafb blacklist
    
    for line in fileinput.input("/etc/modprobe.d/blacklist-framebuffer",inplace =1):
        line = line.strip()
        if not 'vesafb' in line:
            print line
    
    # Remove existing xres and yres settings
    
    for line in fileinput.input("/etc/usplash.conf",inplace =1):
        line = line.strip()
        if not 'xres' in line:
            print line
    
    for line in fileinput.input("/etc/usplash.conf",inplace =1):
        line = line.strip()
        if not 'yres' in line:
            print line
    
    # Set usplash resolution
            
    os.system("echo xres=800 | sudo tee -a /etc/usplash.conf")
    os.system("echo yres=600 | sudo tee -a /etc/usplash.conf")
    
    # Remove lines so we don't duplicate
    
    for line in fileinput.input("/etc/usplash.conf",inplace =1):
        line = line.strip()
        if not 'fbcon' in line:
            print line
    
    for line in fileinput.input("/etc/usplash.conf",inplace =1):
        line = line.strip()
        if not 'vesafb' in line:
            print line
    
    # Add fbcon and vesafb modules to initramfs
    
    os.system("echo fbcon | sudo tee -a /etc/initramfs-tools/modules")
    os.system("echo vesafb | sudo tee -a /etc/initramfs-tools/modules")
    
    os.system("sudo update-initramfs -u")
    
    os.system('sudo cp /boot/grub/menu.lst /boot/grub/menu.lst_sys76backup_%s' % today)
    
    grub_menu = fileinput.input('/boot/grub/menu.lst', inplace=1)
    for line in grub_menu:
        print line.replace(' vga=789',''),
    grub_menu = fileinput.input('/boot/grub/menu.lst', inplace=1)
    for line in grub_menu:
        print line.replace('splash','splash vga=789'),