After I made a bunch of changes to my vim config, I found that it would occasionally take a while to open. That was infuriating and the answer took a bit of effort to figure out so I wanted to share. I traced it down to the plugin yankring.vim by removing all plugins and adding them back until I found the culprit. But yankring is useful and I didn’t want to just remove it, so I kept digging and found this post where it turned out to be X’s fault. I tried starting vim with vim -X on my setup and found the problem went away too. Apparently vim when compiled with GUI support tries to do some thing with the X clipboard even if you’re just running regular console vim, and if X is being laggy, so is your vim startup. Yankring doing whatever it does upon startup relating to the clipboard must compound the lag and create my issue. Thus, it seems that at least on my setup, vim’s X integration and yankring.vim are incompatible. Since I don’t use any of these features, I opted to disable the X integration rather than disable yankring by adding this to my bashrc/zshrc:
alias vim='vim -X'
Getting this to work was a long odyssey of wading through outdated information and misinformation, so I thought I would share what I did to put some actually useful, up to date info out there. I already had HDMI video out to my TV working using the DVI->HDMI adapter that came with my card. All I wanted was some audio to go with it. I could successfully use the headphone jack -> RCA audio splitter I had in my wire box, but that solution is kind of ghetto and my wires would cut out if I poked at them wrong because they’re old, so I set about doing it right and proper over HDMI. Why use 3 wires when I can use 1, after all?
First of all, on NVidia cards in this age range, you need a cable connecting the audio out on your sound card (or motherboard, for integrated sound) to the GPU. There’s a spot on the GPU next to the power connectors with a square of rubber over it that has a speaker icon. That’s it. If that’s not plugged into something, it’s not going to work. You need to buy (or find, if it came with your card) a 2-pin internal SPDIF connector. They’re like $5 shipped on Amazon or you can go get one from wherever else. Some people wire their own or cut up an old CD-Rom audio cable but I’m not that adventurous. Hook that thing up before you start messing with any of the software.
Once you’re sure that wire is hooked up, it’s time to start messing around with drivers. There are a lot of pages out there telling you to set the audio device in Windows to “Realtek HDMI Out” or “NVidia HDMI Out” or some such, but I don’t have this device listed there and never did. In fact, what works for me is setting it to “Realtek Digital Output”, contrary to much of the Internet that specifically says it’s incorrect. In the NVidia control panel, you also need to go to the Change Resolution menu (yes this is a dumb location but that’s where it is), select your television or whatever, and make sure the “Connector” dropdown says “HDMI (audio enabled)”.
Finally, the last and most critical part of the puzzle for me was finding one isolated message board post on the Nvidia forums suggesting that if your card has two DVI Outputs you should try the other one, as sometimes the audio pass-through only works on one. Bingo; that was it. After all my troubleshooting, I just had to plug it into the other otherwise identical jack and it started working. Good thing this info of it only working on one jack is almost impossible to find, right?
Also be sure to check your TV settings to ensure that it’s trying to get the audio over HDMI (might be called just “digital”) rather than one of the other jacks.
Summary:
- Yes, audio over HDMI is possible and works fine. All the posts about the HDMI spec not including audio are irrelevant. CAVEAT: If you have DVI outputs, do use the adapter that came with your card. Generic ones may not support audio.
- Get an internal 2-pin SPDIF connector and hook it between the GPU and the sound device. Newer cards may not need this. ATI cards may not need this.
- “Realtek Digital Output” was the right output audio device for me. All the posts saying that’s wrong and you need an HDMI-specific option there were incorrect for my system.
- If the GPU has two video outputs and it doesn’t work, try the other one
- Check your TV Audio/Input Settings
Good luck!
Activesync is what they call the feature of WinMo phones being able to sync to Outlook accounts on Windows machines. Since I don’t actually use Outlook I’ve never tried before, but being able to back-up my phone and occasionally having an easier interface with which to edit things on it sounded like a good idea. If I knew how much trouble it’d be I probably wouldn’t have bothered, but now that it’s up and running it’s okay. I thought it’d be a nice thing to do if I compiled all the steps I took in one place for anyone else who’s trying this. If you have something that should be added, please tell me in comments.
Steps
- Run whatever backup program on your phone to back everything up before you even think about doing this, in case something screws up. This one is good and free though not updated anymore. Yes, I’m advocating using a backup program before attempting a process that is used to create backups. Nice huh? If you know a more modern program please tell me.
- Install Outlook. Do this before you connect your phone and “create the pairing”. If you’ve already created the pairing, you’ll need to delete it first, then install outlook, then recreate it. In fact, get used to recreating the pairing, because it’s a usual troubleshooting step.
- Do you have any calendar entries that reoccur yearly and have no end date? Of course you do: birthdays and holidays. Office has had a bug for years where any of these fail to sync or get corrupted to only occur every 12 years and other such nonsense. Now that WinMo is almost dead they finally got around to fixing it, but it’s still only a “hotfix” that you have to jump through hoops to install and isn’t in regular Windows Update yet. Here’s a link. Jump through the hoops and install it before you do anything else, then reboot as directed.
- On the phone, go to the ActiveSync program settings (In WinMo6.5 this is hidden under “Tools” in the start menu). Select whatever you want from the scant options. For me this was telling it to synchronize all the calendar events instead of only recent ones. While it sounds good to only synchronize recent events, setting this to sync all will allow you the very useful ability to delete all your ancient events slowing things down from within Outlook on the desktop, where the interface to do so is less terrible, and propagate that to the phone.
- On the phone, find Control Panel (if you’re using the HTC Sense UI, this is the Settings Tab followed by “All Settings” in the menu. Go to the “connections” folder and hit ‘USB to PC”. Uncheck “enable faster data synchronization.” I’ll grant that I haven’t tried turning this back on since I solved all my other problems, but googling seemed to indicate that people have problems with it more often than not, and regular mode seems plenty fast enough.
- On the PC, run an Elevated Command Prompt. That means find Command Prompt in the start menu, hold shift, right click on it, hit Run As Administrator, and type in your password. In there, paste “regsvr32 %systemroot%\system32\ole32.dll” hit ok or whatever, then reboot the machine. This is preempting the very common bug where synchronizations give you an error like this: “The following appointments/contacts/tasks failed to synchronize:”. If you google that, you’ll find that this is the solution (though nobody bothers to tell you that it won’t work if you don’t do it from elevated command prompt).
- Now that you did all that, actually connect the device and follow the prompts on the PC. Tell it to sync whatever you wanted it to sync and pray it actually works.
- If everything actually worked, you’ll copy everything from the phone to Outlook, and from Outlook to the phone. Items will sync both ways, so an item on one will copy to the other. Renames and deletes will sync too, so if you delete stuff on one and sync it will be deleted on the other. As I said earlier, this is useful for letting you easily clear old appointments and tasks since the interface in Outlook can do that easily and having lots of tasks makes thirdparty calendar/task programs, including HTC Sense, tank horribly. When things are working, changes on either should trigger a new sync and propagate to the other almost immediately.
Troubleshooting
If Activesync encounters any one of 20 reasons to fail, it will just fail and not do anything. Just because it said “the following tasks failed to synchronize” doesn’t mean everything else actually happened– it just means that those tasks are the ones gumming up the works. It’ll also keep trying and failing repeatedly for as long as the phone is connected. Here are some errors
- The following <items> failed to synchronize: I saw this one from both the date bug (use the hotfix above) and from just general failures. Use the general steps below.
- Activesync Encounered a Problem on the Desktop: This is the general worthless error message that tells you nothing. Follow the same steps below.
- Changes you make to contacts aren’t being synced: e.g. I edited someone’s email address and hit sync and nothing happened. To fix this one, move your contacts to some folder, then back again. This will properly mark them as “changed” or “new” and take care of it.
- You have doubles of everything: This one’s bad. There are programs out there to fix it but they’re not free. I had it happen once and just restored from the backup I made in #1.
General Troubleshooting Steps
- Install that hotfix if you didn’t already because it causes many unrelated-appearing problems and it’s an embarrassment that they didn’t fix it until now and still haven’t released it as an update.
- Recreate the pairing: Disconnect the phone, run “sync center”, rightclick the device, hit delete, and reconnect. Note that when you do this, it may wipe all the appointments/contacts/tasks on the phone and replace them with what’s in outlook. If what’s in outlook is correct, this is fine, but if it’s partial I’m not sure what to recommend.
- Reregister OLE32.dll as given above and reboot
- Reboot everything
Conclusion
Even knowing all this, it’s still a pain. Things will mysteriously stop working and require some combination of the stuff above to fix. I don’t regret doing it, since now I wiped all my old appointments and was able to copy email addresses to my contacts far faster and more accurately than if I retyped them all on the phone, but the notion that you can reliably just plug in your phone and sync and have everything work is horribly flawed. Every time you do it there’s still a good chance it won’t work and you’ll waste time rebooting etc., or that it’ll fail and wipe/duplicate/corrupt things. Keep backups and hope you get lucky. I still like my winmo phone because it’s cheaper than other platforms and for how much cheaper it is I think the drawbacks are acceptable to me, but this is one area where it’s really quite terrible. I hope this helps someone!