Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
Sir_Substance
Dec 13, 2013
I'm out of ideas here guys, so if anyone has a good idea, lets hear it.

I'm working on installing ubuntu onto a surface pro. It boots to the live environment fine. The type cover doesn't work, but I have a kernel patch ready to deploy for that. The problem is, I can't make it boot on the surface.

It installs just fine, but when you reboot it, the system boots to the UEFI config screen.

I've now tried with ubuntu 12.04, 14.04 (this is the one with the kernel compiled, so ideally this one) and centos (keyboard works, wifi doesn't, go figure) and none of them will boot after installation.

I presume I am missing something either arcane or obvious about setting up the boot partitions, but I don't know what it is.

I've tried all of these with their default partition layouts, and also tried manually specifying both a UEFI and legacy bios boot partition with 14.04, to no avail. Always installs, never boots after installation.

:confused:

What the hell is going on, this is supposed to be the easy part!

Adbot
ADBOT LOVES YOU

Sir_Substance
Dec 13, 2013
Microsoft, trixy bastards that they are, have apparently gone out of their way to make sure there isn't a legacy mode on the surface, presumably so people couldn't wipe them and backdate them to windows 7.

Sir_Substance
Dec 13, 2013
It's not a secureboot thing, I turned it off.

It looked like it might be a problem with unetbootn, so I fired up a VM and used the DD command to write the install files. This time I got an error about the uefi grub bootloader installation, which is progress I guess.
e: I am following this guide:

http://askubuntu.com/questions/449818/boot-repair-ppa-404-error-on-ubuntu-14-04

To install the bootloader after the fact. It appears that grub is the last thing to be installed, so the theory is let it crash on the install and then repair the bootloader later. It's worth noting that you can do this from the liveUSB.

Sir_Substance fucked around with this message at 02:43 on Apr 21, 2014

Sir_Substance
Dec 13, 2013
In the ongoing adventures of what the gently caress have the ubuntu distro people hosed up now, the boot-repair program is getting stuck at the os-prober section, even though os-prober runs fine on it's own :psyduck:

e3: this is a problem caused by launching boot-repair from the terminal using sudo. Either launch it without sudo or launch it from the ubuntu start menu thing.

So I'm going to go back to the unetbootn solution and try running boot-repair on that install.

e2: so this didn't work, but it may be is definitely because ubuntu 14.04 does not yet have it's own version of boot-repair, and it was trying to use 13.10 stuff to fix it. It got most of the way through but still crashed. I am installing 12.04, which does have a native port of boot-repair, and trying again.

edit:

Incidentally, the on screen keyboard doesn't show up in the live boot for some reason, and the only USB port contains the live USB, so I'm entering apt commands with one of these:

Sir_Substance fucked around with this message at 14:38 on Apr 21, 2014

Sir_Substance
Dec 13, 2013
Ok, so installing ubuntu 12.04 on a surface pro using unetbootn works, but you have to boot the the live environment using the same thumb drive afterwards then install boot-repair using the commands:

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair

You will probably want a bluetooth keyboard for this.

Then launch boot repair from the unity search bar, select advanced options and tab across until you find the option to remove secure boot, and untick that. Follow the boot-repair programs instructions from there, and when it asks to if you want to replace the windows boot files, choose yes.

Info on whether the kernel compilation tricks solves the type cover issues will follow.

edit2: kernel patch to fix the type cover 2 works fine.

The patch details are found here:

http://ubuntuforums.org/showthread.php?t=2183946&page=3&p=12849525#post12849525

and you can find instructions for making and installing your own kernel here:

https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel

edit:

I tried doing an upgrade to 14.04 and it hosed the bootloader again. Anyone wanting to run ubuntu on a surface is stuck with 12.04 at this stage.

Sir_Substance fucked around with this message at 12:06 on Apr 22, 2014

Sir_Substance
Dec 13, 2013
In case anyone is wondering why I'm crapping all this info out in the thread, it's because I've now sunk 50 hours into making this work and I'd be a happy man if no one else had to brute force this poo poo the same way.

Adbot
ADBOT LOVES YOU

Sir_Substance
Dec 13, 2013
X server settings :argh:,

I'm working with some 3D projectors on a system using nvidia cards, which support and run at 1920x1200@120hz. However, because whoever programmed the EDID's is a lazy arse, the EDID for 1920x1080 specifies 60hz only, and we need it to run at 1920x1080@120.

Now, I know it can do 1920x1080@120hz, because windows will do it. However, I cannot make ubuntu do it. I've tried hand-editing xorg.conf with the Option "UseEDIDFreqs" "False" method, no dice. The monitor just stays blank.

I can run the projector at 1920x1200@120 and downscale the desktop to 1080 with a bit of fuckery in the nvidia control panel, but we have a bespoke fullscreen software that ignores this and fills the full 1200 height, and that causes it to overlap another monitor.

Can anyone tell me how to force it to run at this res/refresh combo, or alternatively tell me how to make the OS lie about the screen res to the rest of the system?

  • Locked thread