Just found your useful systemd service and tried it out.
It failed because of the modprobe command.
# systemctl status no-dis-gpu.service
no-dis-gpu.service - Turn discrete graphics off
Loaded: loaded (/etc/systemd/system/no-dis-gpu.service; enabled)
Active: failed (Result: exit-code) since Do 2014-01-09 19:35:22 CET; 1min 2s ago
Process: 700 ExecStartPre=/usr/bin/modprobe radeon (code=exited, status=203/EXEC)
Jan 09 19:35:22 jtop systemd: Starting Turn discrete graphics off...
Jan 09 19:35:22 jtop systemd: no-dis-gpu.service: control process exited, code=exited status=203
Jan 09 19:35:22 jtop systemd: Failed to start Turn discrete graphics off.
Jan 09 19:35:22 jtop systemd: Unit no-dis-gpu.service entered failed state.
I had to remove the line ExecStartPre=/usr/bin/modprobe radeon.
Now it works fine :-)
Maybe you could consider to drop the modprobe command, since in #3 (comment) X4 assumed the modprobe is not necessary.
Thanks for looking and fixing your issue. I am myself not anymore able to use this script on my laptop. The "echo OFF > .../switch" triggers a kernel panic on fedora 20 - 3.12.6-300.fc20.x86_64 .
If I could gather more feedback on your issue I'll gladly make the change, however, I am currrently unable to test it.
Do you also run the latest kernel, and haven't notice any regression regarding vgaswitcheroo ?
I've exactly the same problem.
After issuing the echo off command, it disables the discrete gpu and then, abrt comes up with the kernel panic.
Yesterday, I assumed it works for me, because indeed, it switches the dis-gpu off. Unfortunately, the kernel panic is very annoying and sometimes the boot fails with CPU#0 stuck for 22s .....
I found a couple of bug reports. This two are possibly concerning our problem. I cc'ed there and added the abrt stuff. I hope someone will fix it.