Problems after downgrading AMD/ATI radeon drivers

I was searching the Internet for information why Mechwarrior Online does not use my Radeon 6950 in 100%. I found information that downgrading amd/ati radeon drivers to 12.10 version (I had 13.12 ver) may help. So I uninstalled 13.12 from “Add or Remove programs” then downloaded 12.10 version and installed it. Unfortunately that operation totally destabilized my PC... After long investigation I found that this downgrade had broken my Direct3D. But the symptoms was really strange:
  • While launching steam there was “Steam client bootstrapper has stopped working” error
  • I couldn't start Mechwarrior Online. The launcher was starting but after clicking “Play” nothing was happening.
  • Launching “dxdiag” was giving “DxDiag has detected that there might have been a problem accessing Direct3D” error.
I realized that this last one is a major issue. Uncle Google said that there is no option to reinstall DirectX neither the Direct3D. Only tips was to update them to the newest version. Unfortunately I had the newest version so the installer didn't want to update a thing. Reinstalling drivers and many other things didn't help neither.


The funny thing is that there is a workaraound for this problem. I could run everything properly in “Windows 7 compatibility mode” plus “Run as administrator”. Steam, Mechwarrior Online, everything was working.


The only thing that really solved the issue was Display Driver Uninstaller.
  1. Download DDU (I used 10.0 version from here)
  2. Uninstall the AMD/ATI radeon drivers through the “Add or remove programs”
  3. Restart your system into safe mode
  4. Use the downloaded DDU to clear your system from any AMD/ATI files
After restart you should be able to run DxDiag without any errors. That means the problem is solved. You can now safely install any version of AMD/ATI drivers.

If you, after downgrading your drivers, also have problems with running Catalyst Control Centre you can see this post.

Downgrade and root Asus Padfone without loosing applications data

I have recently managed to root my Padfone 1 (prime) with JB without losing apps data and apps settings. I want to share how I have done that and which guides I have used.

Unfortunately there is no possibility to root Asus JB android version so you have to downgrade to Ice Cream Sandwich (ICS) and this cause losing all data stored in Padfone's internal memory. Luckily there is great App Backup preinstalled by Asus in Padfone.
Note: If you had already rooted your PadFone on ICS but lost your root after update to JB then there's an option to restore it. See this thenrz's guide on xda-developers.

  1. First of all backup all photos, music, videos and other personal files stored in padfone's internal memory. SD Card will stay untouched so you can copy your data on it but it is always safer to copy the backup to your PC.
  2. Then we can backup applications. Run App Backup on Padfone. In the top right corner tap "Data only" and choose "Data and APP" option. This is very important to switch this option. If you don't do that then you will have to install all applications manually after rooting. Select all applications you want to backup. In the left bottom corner press the circular arrow. Make sure that "Copy backup file to" is set to some place on your MicroSD and press ok. After the backup process is completed you may want to copy the backup file to your PC to make sure it is safe.
  3. We are now ready to downgrade to ICS. To do this please follow this Marc Schattorie's guide on padfoneclub. I have used international from "Download official full firmware packages here (Removed from the Asus website)" section. Put it into SD Card and follow "How to install?" steps.

    How to install?
    First, make sure you have the firmware (*.zip) file in the root of an external SD card.
    Also, make sure that the Padfone is fully charged, and connected to a power source.
    If you're downgrading or changing the firmware region by using a full firmware package, we would recommend using the wipe feature before you apply the update.

    1. Undock the Padfone.
    2. Power off the Padfone.
    3. Hold down the volume down button, keep holding it, and press the power button. Now you will enter the first menu.
    4. Press the power button to enter "download mode".
    5. Select the second option to install from an external SD card.
    6. Wait for the installation to complete, depending on the update, your device will reboot automatically, or you
    have to select the reboot option manually when it appears.
  4. When we are on ICS we can use this sparkym3's guide on xda-developers to obtain the root.
  5. After rooting we must save the root that we could restore it after updating to the newest android version. To do this we will use Voodoo OTA Rootkeeper application. Download it from Google Play store and run it. To save the root tap the "Protect root" button.
  6. Now we can use standard android update system to update it to the newest version. Go to settings -> about padfone -> system firmware update and tap the "Check Update" button. Android should find and proceed with the newest update.
  7. Now the last two things. After android is again updated to JB we must use the OTA Rootkeeper to restore the root. Lunch it and tap the "Restore root" button. Restart your Padfone and again run OTA Rootkeeper. You should now see all status positions checked. You have root on JB!
  8. Go to App Backup. In the top left corner tap "Backup List" and choose "Restore List" option. Tap on your backup and tap OK. After App Backup finishes the restore process you should see all your applications with all your settings and data.

Hide/Remove SD Card Icon From Statusbar - Asus PadFone

[Deprecated] The newest update to Android 4.1.1 (PadFone- lets user to easily remove SD card icon from status bar.

Android 4 stock ROM for Asus PadFone puts permanent SD card icon into status bar. You can't turn it off and if accidentally clicked Android unmounts the sd card...


I have found workaround for unrooted phones to disable sd card notification till next system reboot:

1. Expand status bar


2. Hold down your finger on SD Card notification until "App info" option appear. Click it.


3. You will see informations about "System UI" application. Tap "Force Stop" button to shutdown this app. Get back to home screen.


4. Here you are. Notification should disappear till next system restart.


If you have rooted your android you can try uninstalling "System UI" application but I don't know how this will impact on system stability.

MVC. Return image dynamically drawn in controller.

I wasted some time for this so I decided to post the solution. If you have problem returning dynamically drawn image from controller below informations may help.

The task looks easy and should be achieved with this code:
public ActionResult Hello(string text)
//Create new image
Image img = new Bitmap(100, 50);
Graphics g = Graphics.FromImage(img);

//Do some drawing
Font font = new Font("Arial", 24);
PointF drawingPoint = new PointF(10, 10);

g.DrawString(text, font, Brushes.Black, drawingPoint);

//Return Image
MemoryStream ms = new MemoryStream();
img.Save(ms, ImageFormat.Png);

return new FileStreamResult(ms, "image/png");
Unfortunately this won't work. At least not in .Net 4.0.
Perceptive person will notice that after writing image to the stream it position property isn't at the beginning and FileStreamResult apparently can't deal with this.


After reseting stream position everything works well (bold line).
public ActionResult Hello(string text)
//Create new image
Image img = new Bitmap(100, 50);
Graphics g = Graphics.FromImage(img);

//Do some drawing
Font font = new Font("Arial", 24);
PointF drawingPoint = new PointF(10, 10);

g.DrawString(text, font, Brushes.Black, drawingPoint);

//Return Image
MemoryStream ms = new MemoryStream();
img.Save(ms, ImageFormat.Png);

ms.Position = 0;

return new FileStreamResult(ms, "image/png");
Additionally the view which asynchronously (but without ajax) retrieve image from our controller:
<div id="divResult"></div>

<input type="text" id="txtText" value="Hello" />

<input type="button" name="submit" onclick="javascript:Hello();" value="Draw" />

<script type="text/javascript">

function Hello()
var link = '@Url.Content("~/Controller/Hello")';

var txt = document.getElementById('txtText').value;

link += '?';
link += 'text=' + txt;

document.getElementById('divResult').innerHTML = '<img src="' + link + '" alt="' + txt+ '" />';

return false;


MioPocket setup freezes

If You can't install MioPocket on your device because after clicking Run MioPocket it stops and nothing happens this is what you should do:
  1. Go to SDcard\MioAutoRun\Scripts

  2. Edit Unlock.mscr with notepad

  3. Find line containing If(WndExists("MainShell"))

  4. Comment whole IF block. That mean change this:

    #Add message to log
    WriteFile(InstallLogFile, "Unlock.mscr: Hiding the main menu...^NL^", TRUE)

    Run(ProgramsFolder\"TroNik\WindowHide.exe", "MainShell")

    to this:

    # #Add message to log
    # WriteFile(InstallLogFile, "Unlock.mscr: Hiding the main menu...^NL^", TRUE)

    # Minimize("MainShell")
    # Run(ProgramsFolder\"TroNik\WindowHide.exe", "MainShell")

  5. Repeat installation steps.

If problem still occurs you should see what's inside install log: \MioAutoRun\Backup\InstallLog.txt

Change Metro UI Language in Windows 8

Some of your Metro Applications are in German? It's because your default language isn't supported and you have deleted all other languages from your system. In that case Windows 8 Consumer Preview will choose German language as default for Metro apps. To choose other, for example english, you have to add that language. Run Metro and type "add language". Choose language you want and add it.

Join few RSS feeds into new one

You can join few RSS feeds very easily by using rss mix. Simply copy-paste rss urls you want to join and click Create. You will be moved to your new RSS which you can subscribe.

RssMix unfortunately has problems with polish encoding. After search I have found Yahoo! Pipes. It works perfect is very easy and has more functionality which can be used in future. Yahoo! Pipes require logging in but except Yahoo! account you can also log in using Google and Facebook accounts.

After logging in click Create Pipe. To add RSS feeds drag and drop Fetch Feed block from Sources Panel on the left. To one Fetch Feed you can add only 10 RSS feeds but you can add few Fetch Feeds and union them together. To be sure Yahoo! joins that pipes in correct order I added Sort operation and sort joined pipes descending by publish date.


You can check output of your pipe clicking on Pipe Out block. There's even a debugger!
When your pipe is done save it and click Run Pipe on the top of the page. Yahoo will take you to your Pipe Page. There should be RSS button which will take you to your new RSS page.

Installing Epu-6 Engine on Windows 8 CP x64

Yes, I made it and it works!
I used version 1.03.04 from here but this solution should work for other versions of Epu-6 Engine and TurboV.

  1. After unzip run Setup.exe as administrator in compatibility mode for Windows 98 / ME (all other options will end up with failure)

  2. Unfortunately setup won't install all necessary components so we must do it manually. Go into "Io" folder and run AsIoIns.exe as administrator in compatibility mode for Windows 98 / ME. To be sure it installed proper driver you can also run it in compatibility mode for Windows 7

  3. Next go to AsSysCtrlService folder and run AsSysCtrlSrvcIns.exe and AsSysCtrlService.exe in compatibility mode for Windows 98 and then for Windows 7 as administrator.

  4. YOUR WINDOWS WILL RESTART AUTOMATICALLY WITHOUT PROMPT AFTER THIS STEP SO SAVE ALL YOUR WORK! From Acpi64 folder (Acpi for x32 windows version) run AsAcpiIns.exe in compatibility mode for Windows 98 and then for Windows 7 as administrator

Now after windows restart you should have working Epu-6 Engine. Overclocking, declocking and especially fans speed control works very well.

Edit: According to HRC and beck comments below doing this tip with 2-3-4-1 step sequence in some cases can give better results.

Lightbox with MVC. File not found.

When using Lightbox with MVC its scripts can cause System.Web.HttpException "File does not exist". It is because lightbox.js not always can resolve paths to loading.gif and closelabel.gif correctly. For example everything is fine when url is like /Home/Index. In that case Lightbox script will resolve path correctly: /Content/themes/lightbox/loading.gif. But if url is like /Home/Index/2 then the resolved path will be like Home/Content/themes/lightbox/loading.gif.
There are few solutions to this situation, you can read about them here. The easiest one is to declare two javascript globals to both gifs in your _Layout.cs:
<script type="text/javascript">
@*Global paths Lighbox Images*@
var fileLoadingPath = '@Url.Content("~/Content/themes/lightbox/loading.gif")';
var fileBottomNavClosePath = '@Url.Content("~/Content/themes/lightbox/closelabel.gif")';
Then your config section in lightbox.js and lightbox-web.js should start like this:
LightboxOptions = Object.extend({
fileLoadingImage: fileLoadingPath,
fileBottomNavCloseImage: fileBottomNavClosePath,